one 1.1.483 → 1.1.485

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 (162) 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/createHandleRequest.cjs +2 -1
  7. package/dist/cjs/createHandleRequest.js +2 -1
  8. package/dist/cjs/createHandleRequest.js.map +1 -1
  9. package/dist/cjs/createHandleRequest.native.js +4 -2
  10. package/dist/cjs/createHandleRequest.native.js.map +1 -1
  11. package/dist/cjs/server/createRoutesManifest.js.map +1 -1
  12. package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
  13. package/dist/cjs/server/getServerManifest.cjs +15 -7
  14. package/dist/cjs/server/getServerManifest.js +17 -8
  15. package/dist/cjs/server/getServerManifest.js.map +1 -1
  16. package/dist/cjs/server/getServerManifest.native.js +8 -5
  17. package/dist/cjs/server/getServerManifest.native.js.map +2 -2
  18. package/dist/cjs/server/oneServe.cjs +8 -13
  19. package/dist/cjs/server/oneServe.js +11 -14
  20. package/dist/cjs/server/oneServe.js.map +1 -1
  21. package/dist/cjs/server/oneServe.native.js +20 -23
  22. package/dist/cjs/server/oneServe.native.js.map +2 -2
  23. package/dist/cjs/utils/getPathnameFromFilePath.cjs +76 -0
  24. package/dist/cjs/utils/getPathnameFromFilePath.js +70 -0
  25. package/dist/cjs/utils/getPathnameFromFilePath.js.map +6 -0
  26. package/dist/cjs/utils/getPathnameFromFilePath.native.js +73 -0
  27. package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +6 -0
  28. package/dist/cjs/vercel/build/buildVercelOutputDirectory.cjs +38 -8
  29. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js +48 -17
  30. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  31. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +50 -7
  32. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +2 -2
  33. package/dist/cjs/vercel/build/config/vc-build-output-config-base.cjs +9 -6
  34. package/dist/cjs/vercel/build/config/vc-build-output-config-base.js +7 -6
  35. package/dist/cjs/vercel/build/config/vc-build-output-config-base.js.map +1 -1
  36. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js +4 -9
  37. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +2 -2
  38. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +54 -9
  39. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js +83 -15
  40. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js.map +2 -2
  41. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +73 -9
  42. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +2 -2
  43. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.cjs +9 -6
  44. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js +8 -6
  45. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  46. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js +8 -6
  47. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +2 -2
  48. package/dist/cjs/vercel/build/getPathFromRoute.cjs +31 -0
  49. package/dist/cjs/vercel/build/getPathFromRoute.js +24 -0
  50. package/dist/cjs/vercel/build/getPathFromRoute.js.map +6 -0
  51. package/dist/cjs/vercel/build/getPathFromRoute.native.js +31 -0
  52. package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +6 -0
  53. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +1 -1
  54. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js +1 -1
  55. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  56. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +3 -1
  57. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +2 -2
  58. package/dist/esm/cli/build.js +4 -43
  59. package/dist/esm/cli/build.js.map +1 -1
  60. package/dist/esm/cli/build.mjs +4 -40
  61. package/dist/esm/cli/build.mjs.map +1 -1
  62. package/dist/esm/cli/build.native.js +4 -43
  63. package/dist/esm/cli/build.native.js.map +1 -1
  64. package/dist/esm/createHandleRequest.js +2 -1
  65. package/dist/esm/createHandleRequest.js.map +1 -1
  66. package/dist/esm/createHandleRequest.mjs +1 -1
  67. package/dist/esm/createHandleRequest.mjs.map +1 -1
  68. package/dist/esm/createHandleRequest.native.js +1 -1
  69. package/dist/esm/createHandleRequest.native.js.map +1 -1
  70. package/dist/esm/server/createRoutesManifest.js.map +1 -1
  71. package/dist/esm/server/createRoutesManifest.mjs.map +1 -1
  72. package/dist/esm/server/createRoutesManifest.native.js.map +1 -1
  73. package/dist/esm/server/getServerManifest.js +17 -8
  74. package/dist/esm/server/getServerManifest.js.map +1 -1
  75. package/dist/esm/server/getServerManifest.mjs +15 -7
  76. package/dist/esm/server/getServerManifest.mjs.map +1 -1
  77. package/dist/esm/server/getServerManifest.native.js +8 -4
  78. package/dist/esm/server/getServerManifest.native.js.map +1 -1
  79. package/dist/esm/server/oneServe.js +17 -15
  80. package/dist/esm/server/oneServe.js.map +1 -1
  81. package/dist/esm/server/oneServe.mjs +9 -14
  82. package/dist/esm/server/oneServe.mjs.map +1 -1
  83. package/dist/esm/server/oneServe.native.js +21 -24
  84. package/dist/esm/server/oneServe.native.js.map +1 -1
  85. package/dist/esm/utils/getPathnameFromFilePath.js +46 -0
  86. package/dist/esm/utils/getPathnameFromFilePath.js.map +6 -0
  87. package/dist/esm/utils/getPathnameFromFilePath.mjs +42 -0
  88. package/dist/esm/utils/getPathnameFromFilePath.mjs.map +1 -0
  89. package/dist/esm/utils/getPathnameFromFilePath.native.js +45 -0
  90. package/dist/esm/utils/getPathnameFromFilePath.native.js.map +1 -0
  91. package/dist/esm/vercel/build/buildVercelOutputDirectory.js +49 -18
  92. package/dist/esm/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  93. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs +38 -8
  94. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -1
  95. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +45 -8
  96. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  97. package/dist/esm/vercel/build/config/vc-build-output-config-base.js +7 -6
  98. package/dist/esm/vercel/build/config/vc-build-output-config-base.js.map +1 -1
  99. package/dist/esm/vercel/build/config/vc-build-output-config-base.mjs +9 -6
  100. package/dist/esm/vercel/build/config/vc-build-output-config-base.mjs.map +1 -1
  101. package/dist/esm/vercel/build/config/vc-build-output-config-base.native.js +3 -6
  102. package/dist/esm/vercel/build/config/vc-build-output-config-base.native.js.map +1 -1
  103. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js +88 -13
  104. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
  105. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +53 -8
  106. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
  107. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +52 -8
  108. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  109. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js +8 -5
  110. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  111. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs +8 -5
  112. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -1
  113. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js +8 -5
  114. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  115. package/dist/esm/vercel/build/getPathFromRoute.js +8 -0
  116. package/dist/esm/vercel/build/getPathFromRoute.js.map +6 -0
  117. package/dist/esm/vercel/build/getPathFromRoute.mjs +8 -0
  118. package/dist/esm/vercel/build/getPathFromRoute.mjs.map +1 -0
  119. package/dist/esm/vercel/build/getPathFromRoute.native.js +8 -0
  120. package/dist/esm/vercel/build/getPathFromRoute.native.js.map +1 -0
  121. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js +2 -2
  122. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  123. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +2 -2
  124. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  125. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +4 -2
  126. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  127. package/package.json +9 -8
  128. package/src/cli/build.ts +3 -57
  129. package/src/createHandleRequest.ts +1 -1
  130. package/src/server/createRoutesManifest.ts +1 -0
  131. package/src/server/getServerManifest.ts +12 -3
  132. package/src/server/oneServe.ts +23 -18
  133. package/src/utils/getPathnameFromFilePath.ts +62 -0
  134. package/src/vercel/build/buildVercelOutputDirectory.ts +55 -20
  135. package/src/vercel/build/config/vc-build-output-config-base.ts +6 -5
  136. package/src/vercel/build/generate/createApiServerlessFunction.ts +138 -12
  137. package/src/vercel/build/generate/createSsrServerlessFunction.ts +9 -6
  138. package/src/vercel/build/getPathFromRoute.ts +8 -0
  139. package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +9 -2
  140. package/src/vite/types.ts +1 -0
  141. package/types/cli/build.d.ts.map +1 -1
  142. package/types/createHandleRequest.d.ts +1 -0
  143. package/types/createHandleRequest.d.ts.map +1 -1
  144. package/types/server/createRoutesManifest.d.ts +1 -0
  145. package/types/server/createRoutesManifest.d.ts.map +1 -1
  146. package/types/server/getServerManifest.d.ts +1 -0
  147. package/types/server/getServerManifest.d.ts.map +1 -1
  148. package/types/server/oneServe.d.ts.map +1 -1
  149. package/types/utils/getPathnameFromFilePath.d.ts +4 -0
  150. package/types/utils/getPathnameFromFilePath.d.ts.map +1 -0
  151. package/types/vercel/build/buildVercelOutputDirectory.d.ts.map +1 -1
  152. package/types/vercel/build/config/vc-build-output-config-base.d.ts +2 -5
  153. package/types/vercel/build/config/vc-build-output-config-base.d.ts.map +1 -1
  154. package/types/vercel/build/generate/createApiServerlessFunction.d.ts +2 -1
  155. package/types/vercel/build/generate/createApiServerlessFunction.d.ts.map +1 -1
  156. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts +2 -2
  157. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts.map +1 -1
  158. package/types/vercel/build/getPathFromRoute.d.ts +3 -0
  159. package/types/vercel/build/getPathFromRoute.d.ts.map +1 -0
  160. package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
  161. package/types/vite/types.d.ts +1 -0
  162. package/types/vite/types.d.ts.map +1 -1
@@ -25,39 +25,107 @@ __export(createApiServerlessFunction_exports, {
25
25
  createApiServerlessFunction: () => createApiServerlessFunction
26
26
  });
27
27
  module.exports = __toCommonJS(createApiServerlessFunction_exports);
28
- var import_node_path = require("node:path"), import_fs_extra = __toESM(require("fs-extra"), 1), import_vc_package_base = require("../config/vc-package-base"), import_vc_config_base = require("../config/vc-config-base");
29
- async function createApiServerlessFunction(pageName, code, oneOptionsRoot, postBuildLogs) {
28
+ var import_node_path = require("node:path"), import_fs_extra = __toESM(require("fs-extra"), 1), import_resolve = require("@vxrn/resolve"), import_parser = __toESM(require("@babel/parser"), 1), import_traverse = __toESM(require("@babel/traverse"), 1), import_types = __toESM(require("@babel/types"), 1), import_generator = __toESM(require("@babel/generator"), 1), import_fs_extra2 = __toESM(require("fs-extra"), 1), import_vc_package_base = require("../config/vc-package-base"), import_vc_config_base = require("../config/vc-config-base"), import_getPathFromRoute = require("../getPathFromRoute");
29
+ async function createApiServerlessFunction(route, code, oneOptionsRoot, postBuildLogs) {
30
30
  try {
31
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`);
32
- const funcFolder = (0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`);
33
- await import_fs_extra.default.ensureDir(funcFolder), code.includes("react") && (postBuildLogs.push(
34
- `[one.build][vercel.createSsrServerlessFunction] detected react in depenency tree for ${pageName}`
35
- ), await import_fs_extra.default.copy(
36
- (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, "..", "..", "node_modules", "react")),
37
- (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "node_modules", "react"))
38
- ));
31
+ const path = (0, import_getPathFromRoute.getPathFromRoute)(route);
32
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${path}`);
33
+ const funcFolder = (0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${path}.func`);
34
+ if (await import_fs_extra2.default.ensureDir(funcFolder), code.includes("react")) {
35
+ postBuildLogs.push(
36
+ `[one.build][vercel.createSsrServerlessFunction] detected react in depenency tree for ${path}`
37
+ );
38
+ const reactPath = (0, import_node_path.dirname)((0, import_resolve.resolvePath)("react/package.json", oneOptionsRoot));
39
+ await import_fs_extra2.default.copy((0, import_node_path.resolve)(reactPath), (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "node_modules", "react")));
40
+ }
39
41
  const distAssetsFolder = (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "assets"));
40
42
  postBuildLogs.push(
41
43
  `[one.build][vercel.createSsrServerlessFunction] copy shared assets to ${distAssetsFolder}`
42
- ), await import_fs_extra.default.copy((0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, "dist", "api", "assets")), distAssetsFolder), await import_fs_extra.default.ensureDir((0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "entrypoint")));
44
+ );
45
+ const sourceAssetsFolder = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, "dist", "api", "assets"));
46
+ await import_fs_extra.default.pathExists(sourceAssetsFolder) && await import_fs_extra2.default.copy(sourceAssetsFolder, distAssetsFolder), await import_fs_extra2.default.ensureDir((0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "entrypoint")));
43
47
  const entrypointFilePath = (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "entrypoint", "index.js"));
44
48
  postBuildLogs.push(
45
49
  `[one.build][vercel.createSsrServerlessFunction] writing entrypoint to ${entrypointFilePath}`
46
- ), await import_fs_extra.default.writeFile(entrypointFilePath, code);
50
+ ), await import_fs_extra2.default.writeFile(entrypointFilePath, wrapHandlerFunctions(code));
47
51
  const packageJsonFilePath = (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "package.json"));
48
52
  return postBuildLogs.push(
49
53
  `[one.build][vercel.createSsrServerlessFunction] writing package.json to ${packageJsonFilePath}`
50
- ), await import_fs_extra.default.writeJSON(packageJsonFilePath, import_vc_package_base.serverlessVercelPackageJson), postBuildLogs.push(
54
+ ), await import_fs_extra2.default.writeJSON(packageJsonFilePath, import_vc_package_base.serverlessVercelPackageJson), postBuildLogs.push(
51
55
  `[one.build][vercel.createSsrServerlessFunction] writing .vc-config.json to ${(0, import_node_path.join)(funcFolder, ".vc-config.json")}`
52
- ), import_fs_extra.default.writeJson((0, import_node_path.join)(funcFolder, ".vc-config.json"), {
56
+ ), import_fs_extra2.default.writeJson((0, import_node_path.join)(funcFolder, ".vc-config.json"), {
53
57
  ...import_vc_config_base.serverlessVercelNodeJsConfig,
54
58
  handler: "entrypoint/index.js"
55
59
  });
56
60
  } catch (e) {
57
61
  console.error(
58
- `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`,
62
+ `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`,
59
63
  e
60
64
  );
61
65
  }
62
66
  }
67
+ function wrapHandlerFunctions(code) {
68
+ const ast = import_parser.default.parse(code, {
69
+ sourceType: "module"
70
+ });
71
+ return import_traverse.default.default(ast, {
72
+ FunctionDeclaration(path) {
73
+ const { node } = path, functionNamesToHandle = [
74
+ "GET",
75
+ "POST",
76
+ "PUT",
77
+ "PATCH",
78
+ "DELETE",
79
+ "HEAD",
80
+ "OPTIONS"
81
+ // TODO: more possibilities?
82
+ ];
83
+ if (!node.id || !functionNamesToHandle.includes(node.id.name) || node.extra && node.extra.isWrapper || node.extra && node.extra.isWrapped) return;
84
+ const originalName = `orig_${node.id.name}`, originalFunction = import_types.default.functionDeclaration(
85
+ import_types.default.identifier(originalName),
86
+ node.params,
87
+ node.body,
88
+ node.generator,
89
+ node.async
90
+ ), requestIdentifier = import_types.default.identifier("request"), wrapperParams = [requestIdentifier], urlIdentifier = import_types.default.identifier("url"), paramsIdentifier = import_types.default.identifier("params"), urlDecl = import_types.default.variableDeclaration("const", [
91
+ import_types.default.variableDeclarator(
92
+ urlIdentifier,
93
+ import_types.default.newExpression(import_types.default.identifier("URL"), [
94
+ import_types.default.memberExpression(requestIdentifier, import_types.default.identifier("url"))
95
+ ])
96
+ )
97
+ ]), paramsDecl = import_types.default.variableDeclaration("const", [
98
+ import_types.default.variableDeclarator(
99
+ paramsIdentifier,
100
+ import_types.default.callExpression(
101
+ import_types.default.memberExpression(import_types.default.identifier("Object"), import_types.default.identifier("fromEntries")),
102
+ [
103
+ import_types.default.callExpression(
104
+ import_types.default.memberExpression(
105
+ import_types.default.memberExpression(
106
+ urlIdentifier,
107
+ import_types.default.identifier("searchParams")
108
+ ),
109
+ import_types.default.identifier("entries")
110
+ ),
111
+ []
112
+ )
113
+ ]
114
+ )
115
+ )
116
+ ]), callOrigFnStatement = import_types.default.callExpression(import_types.default.identifier(originalName), [
117
+ requestIdentifier,
118
+ import_types.default.objectExpression([import_types.default.objectProperty(import_types.default.identifier("params"), paramsIdentifier)])
119
+ ]), wrapperFunction = import_types.default.functionDeclaration(
120
+ import_types.default.identifier(node.id.name + ""),
121
+ wrapperParams,
122
+ import_types.default.blockStatement([urlDecl, paramsDecl, import_types.default.returnStatement(callOrigFnStatement)])
123
+ // No need to care if the wrapper function should be async,
124
+ // since we didn't use any await in the wrapper function, and we'll
125
+ // just return what the original function returns.
126
+ );
127
+ node.extra = node.extra || {}, node.extra.isWrapped = !0, wrapperFunction.extra = wrapperFunction.extra || {}, wrapperFunction.extra.isWrapper = !0, path.parentPath.isExportNamedDeclaration() ? path.replaceWithMultiple([originalFunction, import_types.default.exportNamedDeclaration(wrapperFunction, [])]) : path.replaceWithMultiple([originalFunction, wrapperFunction]);
128
+ }
129
+ }), import_generator.default.default(ast, {}).code;
130
+ }
63
131
  //# sourceMappingURL=createApiServerlessFunction.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/vercel/build/generate/createApiServerlessFunction.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA8B,sBAE9B,kBAAe,iCAEf,yBAA4C,sCAC5C,wBAA6C;AAI7C,eAAsB,4BACpB,UACA,MACA,gBACA,eACA;AACA,MAAI;AACF,kBAAc,KAAK,6DAA6D,QAAQ,EAAE;AAE1F,UAAM,iBAAa,uBAAK,gBAAgB,4BAA4B,QAAQ,OAAO;AACnF,UAAM,gBAAAA,QAAG,UAAU,UAAU,GAEzB,KAAK,SAAS,OAAO,MACvB,cAAc;AAAA,MACZ,wFAAwF,QAAQ;AAAA,IAClG,GACA,MAAM,gBAAAA,QAAG;AAAA,UACP,8BAAQ,uBAAK,gBAAgB,MAAM,MAAM,gBAAgB,OAAO,CAAC;AAAA,UACjE,8BAAQ,uBAAK,YAAY,gBAAgB,OAAO,CAAC;AAAA,IACnD;AAGF,UAAM,uBAAmB,8BAAQ,uBAAK,YAAY,QAAQ,CAAC;AAC3D,kBAAc;AAAA,MACZ,yEAAyE,gBAAgB;AAAA,IAC3F,GACA,MAAM,gBAAAA,QAAG,SAAK,8BAAQ,uBAAK,gBAAgB,QAAQ,OAAO,QAAQ,CAAC,GAAG,gBAAgB,GAEtF,MAAM,gBAAAA,QAAG,cAAU,8BAAQ,uBAAK,YAAY,YAAY,CAAC,CAAC;AAC1D,UAAM,yBAAqB,8BAAQ,uBAAK,YAAY,cAAc,UAAU,CAAC;AAC7E,kBAAc;AAAA,MACZ,yEAAyE,kBAAkB;AAAA,IAC7F,GACA,MAAM,gBAAAA,QAAG,UAAU,oBAAoB,IAAI;AAE3C,UAAM,0BAAsB,8BAAQ,uBAAK,YAAY,cAAc,CAAC;AACpE,yBAAc;AAAA,MACZ,2EAA2E,mBAAmB;AAAA,IAChG,GACA,MAAM,gBAAAA,QAAG,UAAU,qBAAqB,kDAA2B,GAEnE,cAAc;AAAA,MACZ,kFAA8E,uBAAK,YAAY,iBAAiB,CAAC;AAAA,IACnH,GAGO,gBAAAA,QAAG,cAAU,uBAAK,YAAY,iBAAiB,GAAG;AAAA,MACvD,GAAG;AAAA,MACH,SAAS;AAAA,IACX,CAAC;AAAA,EACH,SAAS,GAAG;AACV,YAAQ;AAAA,MACN,+EAA+E,QAAQ;AAAA,MACvF;AAAA,IACF;AAAA,EACF;AACF;",
5
- "names": ["fs"]
4
+ "mappings": "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",
5
+ "names": ["import_fs_extra", "fs", "FSExtra", "parser", "traverse", "t", "generator"]
6
6
  }
@@ -26,25 +26,89 @@ __export(createApiServerlessFunction_exports, {
26
26
  createApiServerlessFunction: () => createApiServerlessFunction
27
27
  });
28
28
  module.exports = __toCommonJS(createApiServerlessFunction_exports);
29
- var import_node_path = require("node:path"), import_fs_extra = __toESM(require("fs-extra"), 1), import_vc_package_base = require("../config/vc-package-base"), import_vc_config_base = require("../config/vc-config-base");
30
- async function createApiServerlessFunction(pageName, code, oneOptionsRoot, postBuildLogs) {
29
+ var import_node_path = require("node:path"), import_fs_extra = __toESM(require("fs-extra"), 1), import_resolve = require("@vxrn/resolve"), import_parser = __toESM(require("@babel/parser"), 1), import_traverse = __toESM(require("@babel/traverse"), 1), import_types = __toESM(require("@babel/types"), 1), import_generator = __toESM(require("@babel/generator"), 1), import_fs_extra2 = __toESM(require("fs-extra"), 1), import_vc_package_base = require("../config/vc-package-base"), import_vc_config_base = require("../config/vc-config-base"), import_getPathFromRoute = require("../getPathFromRoute");
30
+ async function createApiServerlessFunction(route, code, oneOptionsRoot, postBuildLogs) {
31
31
  try {
32
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`);
33
- var funcFolder = (0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`);
34
- await import_fs_extra.default.ensureDir(funcFolder), code.includes("react") && (postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] detected react in depenency tree for ${pageName}`), await import_fs_extra.default.copy((0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, "..", "..", "node_modules", "react")), (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "node_modules", "react"))));
32
+ var path = (0, import_getPathFromRoute.getPathFromRoute)(route);
33
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${path}`);
34
+ var funcFolder = (0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${path}.func`);
35
+ if (await import_fs_extra2.default.ensureDir(funcFolder), code.includes("react")) {
36
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] detected react in depenency tree for ${path}`);
37
+ var reactPath = (0, import_node_path.dirname)((0, import_resolve.resolvePath)("react/package.json", oneOptionsRoot));
38
+ await import_fs_extra2.default.copy((0, import_node_path.resolve)(reactPath), (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "node_modules", "react")));
39
+ }
35
40
  var distAssetsFolder = (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "assets"));
36
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] copy shared assets to ${distAssetsFolder}`), await import_fs_extra.default.copy((0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, "dist", "api", "assets")), distAssetsFolder), await import_fs_extra.default.ensureDir((0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "entrypoint")));
41
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] copy shared assets to ${distAssetsFolder}`);
42
+ var sourceAssetsFolder = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, "dist", "api", "assets"));
43
+ await import_fs_extra.default.pathExists(sourceAssetsFolder) && await import_fs_extra2.default.copy(sourceAssetsFolder, distAssetsFolder), await import_fs_extra2.default.ensureDir((0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "entrypoint")));
37
44
  var entrypointFilePath = (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "entrypoint", "index.js"));
38
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing entrypoint to ${entrypointFilePath}`), await import_fs_extra.default.writeFile(entrypointFilePath, code);
45
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing entrypoint to ${entrypointFilePath}`), await import_fs_extra2.default.writeFile(entrypointFilePath, wrapHandlerFunctions(code));
39
46
  var packageJsonFilePath = (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "package.json"));
40
- return postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing package.json to ${packageJsonFilePath}`), await import_fs_extra.default.writeJSON(packageJsonFilePath, import_vc_package_base.serverlessVercelPackageJson), postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing .vc-config.json to ${(0, import_node_path.join)(funcFolder, ".vc-config.json")}`), import_fs_extra.default.writeJson((0, import_node_path.join)(funcFolder, ".vc-config.json"), {
47
+ return postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing package.json to ${packageJsonFilePath}`), await import_fs_extra2.default.writeJSON(packageJsonFilePath, import_vc_package_base.serverlessVercelPackageJson), postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing .vc-config.json to ${(0, import_node_path.join)(funcFolder, ".vc-config.json")}`), import_fs_extra2.default.writeJson((0, import_node_path.join)(funcFolder, ".vc-config.json"), {
41
48
  ...import_vc_config_base.serverlessVercelNodeJsConfig,
42
49
  handler: "entrypoint/index.js"
43
50
  });
44
51
  } catch (e) {
45
- console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`, e);
52
+ console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`, e);
46
53
  }
47
54
  }
55
+ function wrapHandlerFunctions(code) {
56
+ var ast = import_parser.default.parse(code, {
57
+ sourceType: "module"
58
+ });
59
+ import_traverse.default.default(ast, {
60
+ FunctionDeclaration(path) {
61
+ var { node } = path, functionNamesToHandle = [
62
+ "GET",
63
+ "POST",
64
+ "PUT",
65
+ "PATCH",
66
+ "DELETE",
67
+ "HEAD",
68
+ "OPTIONS"
69
+ ];
70
+ if (!(!node.id || !functionNamesToHandle.includes(node.id.name)) && !(node.extra && node.extra.isWrapper) && !(node.extra && node.extra.isWrapped)) {
71
+ var originalName = `orig_${node.id.name}`, originalFunction = import_types.default.functionDeclaration(import_types.default.identifier(originalName), node.params, node.body, node.generator, node.async), requestIdentifier = import_types.default.identifier("request"), wrapperParams = [
72
+ requestIdentifier
73
+ ], urlIdentifier = import_types.default.identifier("url"), paramsIdentifier = import_types.default.identifier("params"), urlDecl = import_types.default.variableDeclaration("const", [
74
+ import_types.default.variableDeclarator(urlIdentifier, import_types.default.newExpression(
75
+ import_types.default.identifier("URL"),
76
+ /* Node.js global */
77
+ [
78
+ import_types.default.memberExpression(requestIdentifier, import_types.default.identifier("url"))
79
+ ]
80
+ ))
81
+ ]), paramsDecl = import_types.default.variableDeclaration("const", [
82
+ import_types.default.variableDeclarator(paramsIdentifier, import_types.default.callExpression(import_types.default.memberExpression(import_types.default.identifier("Object"), import_types.default.identifier("fromEntries")), [
83
+ import_types.default.callExpression(import_types.default.memberExpression(
84
+ import_types.default.memberExpression(urlIdentifier, import_types.default.identifier("searchParams")),
85
+ /* url.searchParams */
86
+ import_types.default.identifier("entries")
87
+ ), [])
88
+ ]))
89
+ ]), callOrigFnStatement = import_types.default.callExpression(import_types.default.identifier(originalName), [
90
+ requestIdentifier,
91
+ import_types.default.objectExpression([
92
+ import_types.default.objectProperty(import_types.default.identifier("params"), paramsIdentifier)
93
+ ])
94
+ ]), wrapperFunction = import_types.default.functionDeclaration(import_types.default.identifier(node.id.name + ""), wrapperParams, import_types.default.blockStatement([
95
+ urlDecl,
96
+ paramsDecl,
97
+ import_types.default.returnStatement(callOrigFnStatement)
98
+ ]));
99
+ node.extra = node.extra || {}, node.extra.isWrapped = !0, wrapperFunction.extra = wrapperFunction.extra || {}, wrapperFunction.extra.isWrapper = !0, path.parentPath.isExportNamedDeclaration() ? path.replaceWithMultiple([
100
+ originalFunction,
101
+ import_types.default.exportNamedDeclaration(wrapperFunction, [])
102
+ ]) : path.replaceWithMultiple([
103
+ originalFunction,
104
+ wrapperFunction
105
+ ]);
106
+ }
107
+ }
108
+ });
109
+ var output = import_generator.default.default(ast, {}).code;
110
+ return output;
111
+ }
48
112
  // Annotate the CommonJS export names for ESM import in node:
49
113
  0 && (module.exports = {
50
114
  createApiServerlessFunction
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/vercel/build/generate/createApiServerlessFunction.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;uBAA8B,sBAE9B,kBAAe,iCAEf,yBAA4C,sCAC5C,wBAA6C;AAI7C,eAAsBA,4BACpBC,UACAC,MACAC,gBACAC,eAAuB;AAEvB,MAAI;AACFA,kBAAcC,KAAK,6DAA6DJ,QAAAA,EAAU;AAE1F,QAAMK,iBAAaC,uBAAKJ,gBAAgB,4BAA4BF,QAAAA,OAAe;AACnF,UAAMO,gBAAAA,QAAGC,UAAUH,UAAAA,GAEfJ,KAAKQ,SAAS,OAAA,MAChBN,cAAcC,KACZ,wFAAwFJ,QAAAA,EAAU,GAEpG,MAAMO,gBAAAA,QAAGG,SACPC,8BAAQL,uBAAKJ,gBAAgB,MAAM,MAAM,gBAAgB,OAAA,CAAA,OACzDS,8BAAQL,uBAAKD,YAAY,gBAAgB,OAAA,CAAA,CAAA;AAI7C,QAAMO,uBAAmBD,8BAAQL,uBAAKD,YAAY,QAAA,CAAA;AAClDF,kBAAcC,KACZ,yEAAyEQ,gBAAAA,EAAkB,GAE7F,MAAML,gBAAAA,QAAGG,SAAKC,8BAAQL,uBAAKJ,gBAAgB,QAAQ,OAAO,QAAA,CAAA,GAAYU,gBAAAA,GAEtE,MAAML,gBAAAA,QAAGC,cAAUG,8BAAQL,uBAAKD,YAAY,YAAA,CAAA,CAAA;AAC5C,QAAMQ,yBAAqBF,8BAAQL,uBAAKD,YAAY,cAAc,UAAA,CAAA;AAClEF,kBAAcC,KACZ,yEAAyES,kBAAAA,EAAoB,GAE/F,MAAMN,gBAAAA,QAAGO,UAAUD,oBAAoBZ,IAAAA;AAEvC,QAAMc,0BAAsBJ,8BAAQL,uBAAKD,YAAY,cAAA,CAAA;AACrDF,yBAAcC,KACZ,2EAA2EW,mBAAAA,EAAqB,GAElG,MAAMR,gBAAAA,QAAGS,UAAUD,qBAAqBE,kDAAAA,GAExCd,cAAcC,KACZ,kFAA8EE,uBAAKD,YAAY,iBAAA,CAAA,EAAoB,GAI9GE,gBAAAA,QAAGW,cAAUZ,uBAAKD,YAAY,iBAAA,GAAoB;MACvD,GAAGc;MACHC,SAAS;IACX,CAAA;EACF,SAASC,GAAG;AACVC,YAAQC,MACN,+EAA+EvB,QAAAA,IAC/EqB,CAAAA;EAEJ;AACF;",
5
- "names": ["createApiServerlessFunction", "pageName", "code", "oneOptionsRoot", "postBuildLogs", "push", "funcFolder", "join", "fs", "ensureDir", "includes", "copy", "resolve", "distAssetsFolder", "entrypointFilePath", "writeFile", "packageJsonFilePath", "writeJSON", "serverlessVercelPackageJson", "writeJson", "serverlessVercelNodeJsConfig", "handler", "e", "console", "error"]
4
+ "mappings": "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",
5
+ "names": ["import_fs_extra", "createApiServerlessFunction", "route", "code", "oneOptionsRoot", "postBuildLogs", "path", "getPathFromRoute", "push", "funcFolder", "join", "fs", "ensureDir", "includes", "reactPath", "dirname", "resolvePath", "copy", "resolve", "distAssetsFolder", "sourceAssetsFolder", "FSExtra", "pathExists", "entrypointFilePath", "writeFile", "wrapHandlerFunctions", "packageJsonFilePath", "writeJSON", "serverlessVercelPackageJson", "writeJson", "serverlessVercelNodeJsConfig", "handler", "e", "console", "error", "file", "ast", "parser", "parse", "sourceType", "traverse", "default", "FunctionDeclaration", "node", "functionNamesToHandle", "id", "name", "extra", "isWrapper", "isWrapped", "originalName", "originalFunction", "t", "functionDeclaration", "identifier", "params", "body", "generator", "async", "requestIdentifier", "wrapperParams", "urlIdentifier", "paramsIdentifier", "urlDecl", "variableDeclaration", "variableDeclarator", "newExpression", "memberExpression", "paramsDecl", "callExpression", "callOrigFnStatement", "objectExpression", "objectProperty", "wrapperFunction", "blockStatement", "returnStatement", "parentPath", "isExportNamedDeclaration", "replaceWithMultiple", "exportNamedDeclaration", "output"]
6
6
  }
@@ -37,12 +37,14 @@ module.exports = __toCommonJS(createSsrServerlessFunction_exports);
37
37
  var import_fs_extra = __toESM(require("fs-extra"), 1),
38
38
  import_node_path = require("node:path"),
39
39
  import_vc_config_base = require("../config/vc-config-base.cjs"),
40
- import_vc_package_base = require("../config/vc-package-base.cjs");
41
- async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot, postBuildLogs) {
40
+ import_vc_package_base = require("../config/vc-package-base.cjs"),
41
+ import_getPathFromRoute = require("../getPathFromRoute.cjs");
42
+ async function createSsrServerlessFunction(route, buildInfo, oneOptionsRoot, postBuildLogs) {
42
43
  try {
43
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`);
44
+ const path = (0, import_getPathFromRoute.getPathFromRoute)(route);
45
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] path: ${path}`);
44
46
  const buildInfoAsString = JSON.stringify(buildInfo),
45
- funcFolder = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`));
47
+ funcFolder = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${path}.func`));
46
48
  await import_fs_extra.default.ensureDir(funcFolder);
47
49
  const distServerFrom = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, "dist", "server")),
48
50
  distServerTo = (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "server"));
@@ -51,6 +53,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
51
53
  postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing entrypoint to ${entrypointFilePath}`), await import_fs_extra.default.writeFile(entrypointFilePath, `
52
54
  const buildInfoConfig = await import('../buildInfo.js');
53
55
  const entry = await import('../server/_virtual_one-entry.js');
56
+ const routeFile = ${JSON.stringify(route.file)}
54
57
 
55
58
  const handler = async (req, res) => {
56
59
  // console.debug("req.url", req.url);
@@ -60,7 +63,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
60
63
  params: Object.fromEntries(url.searchParams.entries())
61
64
  }
62
65
  const postfix = url.pathname.endsWith('/') ? 'index.tsx' : '+ssr.tsx';
63
- const routeFile = \`.\${url.pathname}\${postfix}\`;
66
+ // const routeFile = \`.\${url.pathname}\${postfix}\`;
64
67
  let route = buildInfoConfig.default.routeToBuildInfo[routeFile];
65
68
 
66
69
  // If we cannot find the route by direct match, try to find it by looking it up in the
@@ -106,6 +109,6 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
106
109
  }
107
110
  });
108
111
  } catch (e) {
109
- console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`, e);
112
+ console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`, e);
110
113
  }
111
114
  }
@@ -25,11 +25,12 @@ __export(createSsrServerlessFunction_exports, {
25
25
  createSsrServerlessFunction: () => createSsrServerlessFunction
26
26
  });
27
27
  module.exports = __toCommonJS(createSsrServerlessFunction_exports);
28
- var import_fs_extra = __toESM(require("fs-extra"), 1), import_node_path = require("node:path"), import_vc_config_base = require("../config/vc-config-base"), import_vc_package_base = require("../config/vc-package-base");
29
- async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot, postBuildLogs) {
28
+ var import_fs_extra = __toESM(require("fs-extra"), 1), import_node_path = require("node:path"), import_vc_config_base = require("../config/vc-config-base"), import_vc_package_base = require("../config/vc-package-base"), import_getPathFromRoute = require("../getPathFromRoute");
29
+ async function createSsrServerlessFunction(route, buildInfo, oneOptionsRoot, postBuildLogs) {
30
30
  try {
31
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`);
32
- const buildInfoAsString = JSON.stringify(buildInfo), funcFolder = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`));
31
+ const path = (0, import_getPathFromRoute.getPathFromRoute)(route);
32
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] path: ${path}`);
33
+ const buildInfoAsString = JSON.stringify(buildInfo), funcFolder = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${path}.func`));
33
34
  await import_fs_extra.default.ensureDir(funcFolder);
34
35
  const distServerFrom = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, "dist", "server")), distServerTo = (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "server"));
35
36
  await import_fs_extra.default.ensureDir(distServerTo), postBuildLogs.push(
@@ -43,6 +44,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
43
44
  `
44
45
  const buildInfoConfig = await import('../buildInfo.js');
45
46
  const entry = await import('../server/_virtual_one-entry.js');
47
+ const routeFile = ${JSON.stringify(route.file)}
46
48
 
47
49
  const handler = async (req, res) => {
48
50
  // console.debug("req.url", req.url);
@@ -52,7 +54,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
52
54
  params: Object.fromEntries(url.searchParams.entries())
53
55
  }
54
56
  const postfix = url.pathname.endsWith('/') ? 'index.tsx' : '+ssr.tsx';
55
- const routeFile = \`.\${url.pathname}\${postfix}\`;
57
+ // const routeFile = \`.\${url.pathname}\${postfix}\`;
56
58
  let route = buildInfoConfig.default.routeToBuildInfo[routeFile];
57
59
 
58
60
  // If we cannot find the route by direct match, try to find it by looking it up in the
@@ -104,7 +106,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
104
106
  });
105
107
  } catch (e) {
106
108
  console.error(
107
- `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`,
109
+ `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`,
108
110
  e
109
111
  );
110
112
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAe,iCACf,mBAA8B,sBAC9B,wBAA6C,qCAC7C,yBAA4C;AAK5C,eAAsB,4BACpB,UACA,WACA,gBACA,eACA;AACA,MAAI;AACF,kBAAc,KAAK,6DAA6D,QAAQ,EAAE;AAE1F,UAAM,oBAAoB,KAAK,UAAU,SAAS,GAC5C,iBAAa,8BAAQ,uBAAK,gBAAgB,4BAA4B,QAAQ,OAAO,CAAC;AAC5F,UAAM,gBAAAA,QAAG,UAAU,UAAU;AAE7B,UAAM,qBAAiB,8BAAQ,uBAAK,gBAAgB,QAAQ,QAAQ,CAAC,GAC/D,mBAAe,8BAAQ,uBAAK,YAAY,QAAQ,CAAC;AACvD,UAAM,gBAAAA,QAAG,UAAU,YAAY,GAC/B,cAAc;AAAA,MACZ,+EAA+E,cAAc,OAAO,YAAY;AAAA,IAClH,GACA,MAAM,gBAAAA,QAAG,KAAK,gBAAgB,YAAY,GAE1C,cAAc,KAAK,wEAAwE,GAC3F,MAAM,gBAAAA,QAAG,cAAU,uBAAK,YAAY,cAAc,GAAG,kBAAkB,iBAAiB,EAAE,GAE1F,MAAM,gBAAAA,QAAG,cAAU,uBAAK,YAAY,YAAY,CAAC;AACjD,UAAM,yBAAqB,8BAAQ,uBAAK,YAAY,cAAc,UAAU,CAAC;AAC7E,kBAAc;AAAA,MACZ,yEAAyE,kBAAkB;AAAA,IAC7F,GACA,MAAM,gBAAAA,QAAG;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,0BAAsB,8BAAQ,uBAAK,YAAY,cAAc,CAAC;AACpE,kBAAc;AAAA,MACZ,2EAA2E,mBAAmB;AAAA,IAChG,GACA,MAAM,gBAAAA,QAAG,UAAU,qBAAqB,kDAA2B;AAInE,UAAM,uBAAmB,8BAAQ,uBAAK,YAAY,iBAAiB,CAAC;AACpE,yBAAc;AAAA,MACZ,8EAA8E,gBAAgB;AAAA,IAChG,GACO,gBAAAA,QAAG,UAAU,kBAAkB;AAAA,MACpC,GAAG;AAAA,MACH,SAAS;AAAA,MACT,aAAa;AAAA,QACX,GAAG,mDAA6B;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;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAe,iCACf,mBAA8B,sBAC9B,wBAA6C,qCAC7C,yBAA4C,sCAE5C,0BAAiC;AAIjC,eAAsB,4BACpB,OACA,WACA,gBACA,eACA;AACA,MAAI;AACF,UAAM,WAAO,0CAAiB,KAAK;AACnC,kBAAc,KAAK,yDAAyD,IAAI,EAAE;AAElF,UAAM,oBAAoB,KAAK,UAAU,SAAS,GAC5C,iBAAa,8BAAQ,uBAAK,gBAAgB,4BAA4B,IAAI,OAAO,CAAC;AACxF,UAAM,gBAAAA,QAAG,UAAU,UAAU;AAE7B,UAAM,qBAAiB,8BAAQ,uBAAK,gBAAgB,QAAQ,QAAQ,CAAC,GAC/D,mBAAe,8BAAQ,uBAAK,YAAY,QAAQ,CAAC;AACvD,UAAM,gBAAAA,QAAG,UAAU,YAAY,GAC/B,cAAc;AAAA,MACZ,+EAA+E,cAAc,OAAO,YAAY;AAAA,IAClH,GACA,MAAM,gBAAAA,QAAG,KAAK,gBAAgB,YAAY,GAE1C,cAAc,KAAK,wEAAwE,GAC3F,MAAM,gBAAAA,QAAG,cAAU,uBAAK,YAAY,cAAc,GAAG,kBAAkB,iBAAiB,EAAE,GAE1F,MAAM,gBAAAA,QAAG,cAAU,uBAAK,YAAY,YAAY,CAAC;AACjD,UAAM,yBAAqB,8BAAQ,uBAAK,YAAY,cAAc,UAAU,CAAC;AAC7E,kBAAc;AAAA,MACZ,yEAAyE,kBAAkB;AAAA,IAC7F,GACA,MAAM,gBAAAA,QAAG;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,0BAAsB,8BAAQ,uBAAK,YAAY,cAAc,CAAC;AACpE,kBAAc;AAAA,MACZ,2EAA2E,mBAAmB;AAAA,IAChG,GACA,MAAM,gBAAAA,QAAG,UAAU,qBAAqB,kDAA2B;AAInE,UAAM,uBAAmB,8BAAQ,uBAAK,YAAY,iBAAiB,CAAC;AACpE,yBAAc;AAAA,MACZ,8EAA8E,gBAAgB;AAAA,IAChG,GACO,gBAAAA,QAAG,UAAU,kBAAkB;AAAA,MACpC,GAAG;AAAA,MACH,SAAS;AAAA,MACT,aAAa;AAAA,QACX,GAAG,mDAA6B;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": ["fs"]
6
6
  }
@@ -26,11 +26,12 @@ __export(createSsrServerlessFunction_exports, {
26
26
  createSsrServerlessFunction: () => createSsrServerlessFunction
27
27
  });
28
28
  module.exports = __toCommonJS(createSsrServerlessFunction_exports);
29
- var import_fs_extra = __toESM(require("fs-extra"), 1), import_node_path = require("node:path"), import_vc_config_base = require("../config/vc-config-base"), import_vc_package_base = require("../config/vc-package-base");
30
- async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot, postBuildLogs) {
29
+ var import_fs_extra = __toESM(require("fs-extra"), 1), import_node_path = require("node:path"), import_vc_config_base = require("../config/vc-config-base"), import_vc_package_base = require("../config/vc-package-base"), import_getPathFromRoute = require("../getPathFromRoute");
30
+ async function createSsrServerlessFunction(route, buildInfo, oneOptionsRoot, postBuildLogs) {
31
31
  try {
32
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`);
33
- var buildInfoAsString = JSON.stringify(buildInfo), funcFolder = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`));
32
+ var path = (0, import_getPathFromRoute.getPathFromRoute)(route);
33
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] path: ${path}`);
34
+ var buildInfoAsString = JSON.stringify(buildInfo), funcFolder = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, `.vercel/output/functions/${path}.func`));
34
35
  await import_fs_extra.default.ensureDir(funcFolder);
35
36
  var distServerFrom = (0, import_node_path.resolve)((0, import_node_path.join)(oneOptionsRoot, "dist", "server")), distServerTo = (0, import_node_path.resolve)((0, import_node_path.join)(funcFolder, "server"));
36
37
  await import_fs_extra.default.ensureDir(distServerTo), postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] copy server dist files from ${distServerFrom} to ${distServerTo}`), await import_fs_extra.default.copy(distServerFrom, distServerTo), postBuildLogs.push("[one.build][vercel.createSsrServerlessFunction] writing buildInfo.json"), await import_fs_extra.default.writeFile((0, import_node_path.join)(funcFolder, "buildInfo.js"), `export default ${buildInfoAsString}`), await import_fs_extra.default.ensureDir((0, import_node_path.join)(funcFolder, "entrypoint"));
@@ -38,6 +39,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
38
39
  postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing entrypoint to ${entrypointFilePath}`), await import_fs_extra.default.writeFile(entrypointFilePath, `
39
40
  const buildInfoConfig = await import('../buildInfo.js');
40
41
  const entry = await import('../server/_virtual_one-entry.js');
42
+ const routeFile = ${JSON.stringify(route.file)}
41
43
 
42
44
  const handler = async (req, res) => {
43
45
  // console.debug("req.url", req.url);
@@ -47,7 +49,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
47
49
  params: Object.fromEntries(url.searchParams.entries())
48
50
  }
49
51
  const postfix = url.pathname.endsWith('/') ? 'index.tsx' : '+ssr.tsx';
50
- const routeFile = \`.\${url.pathname}\${postfix}\`;
52
+ // const routeFile = \`.\${url.pathname}\${postfix}\`;
51
53
  let route = buildInfoConfig.default.routeToBuildInfo[routeFile];
52
54
 
53
55
  // If we cannot find the route by direct match, try to find it by looking it up in the
@@ -93,7 +95,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
93
95
  }
94
96
  });
95
97
  } catch (e) {
96
- console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`, e);
98
+ console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`, e);
97
99
  }
98
100
  }
99
101
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;sBAAe,iCACf,mBAA8B,sBAC9B,wBAA6C,qCAC7C,yBAA4C;AAK5C,eAAsBA,4BACpBC,UACAC,WACAC,gBACAC,eAAuB;AAEvB,MAAI;AACFA,kBAAcC,KAAK,6DAA6DJ,QAAAA,EAAU;AAE1F,QAAMK,oBAAoBC,KAAKC,UAAUN,SAAAA,GACnCO,iBAAaC,8BAAQC,uBAAKR,gBAAgB,4BAA4BF,QAAAA,OAAe,CAAA;AAC3F,UAAMW,gBAAAA,QAAGC,UAAUJ,UAAAA;AAEnB,QAAMK,qBAAiBJ,8BAAQC,uBAAKR,gBAAgB,QAAQ,QAAA,CAAA,GACtDY,mBAAeL,8BAAQC,uBAAKF,YAAY,QAAA,CAAA;AAC9C,UAAMG,gBAAAA,QAAGC,UAAUE,YAAAA,GACnBX,cAAcC,KACZ,+EAA+ES,cAAAA,OAAqBC,YAAAA,EAAc,GAEpH,MAAMH,gBAAAA,QAAGI,KAAKF,gBAAgBC,YAAAA,GAE9BX,cAAcC,KAAK,wEAAwE,GAC3F,MAAMO,gBAAAA,QAAGK,cAAUN,uBAAKF,YAAY,cAAA,GAAiB,kBAAkBH,iBAAAA,EAAmB,GAE1F,MAAMM,gBAAAA,QAAGC,cAAUF,uBAAKF,YAAY,YAAA,CAAA;AACpC,QAAMS,yBAAqBR,8BAAQC,uBAAKF,YAAY,cAAc,UAAA,CAAA;AAClEL,kBAAcC,KACZ,yEAAyEa,kBAAAA,EAAoB,GAE/F,MAAMN,gBAAAA,QAAGK,UACPC,oBACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CH;AAGC,QAAMC,0BAAsBT,8BAAQC,uBAAKF,YAAY,cAAA,CAAA;AACrDL,kBAAcC,KACZ,2EAA2Ec,mBAAAA,EAAqB,GAElG,MAAMP,gBAAAA,QAAGQ,UAAUD,qBAAqBE,kDAAAA;AAIxC,QAAMC,uBAAmBZ,8BAAQC,uBAAKF,YAAY,iBAAA,CAAA;AAClDL,yBAAcC,KACZ,8EAA8EiB,gBAAAA,EAAkB,GAE3FV,gBAAAA,QAAGW,UAAUD,kBAAkB;MACpC,GAAGE;MACHC,SAAS;MACTC,aAAa;QACX,GAAGF,mDAA6BE;QAChCC,yBAAyB;MAC3B;IACF,CAAA;EACF,SAASC,GAAG;AACVC,YAAQC,MACN,+EAA+E7B,QAAAA,IAC/E2B,CAAAA;EAEJ;AACF;",
5
- "names": ["createSsrServerlessFunction", "pageName", "buildInfo", "oneOptionsRoot", "postBuildLogs", "push", "buildInfoAsString", "JSON", "stringify", "funcFolder", "resolve", "join", "fs", "ensureDir", "distServerFrom", "distServerTo", "copy", "writeFile", "entrypointFilePath", "packageJsonFilePath", "writeJSON", "serverlessVercelPackageJson", "vcConfigFilePath", "writeJson", "serverlessVercelNodeJsConfig", "handler", "environment", "ONE_DEFAULT_RENDER_MODE", "e", "console", "error"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;sBAAe,iCACf,mBAA8B,sBAC9B,wBAA6C,qCAC7C,yBAA4C,sCAE5C,0BAAiC;AAIjC,eAAsBA,4BACpBC,OACAC,WACAC,gBACAC,eAAuB;AAEvB,MAAI;AACF,QAAMC,WAAOC,0CAAiBL,KAAAA;AAC9BG,kBAAcG,KAAK,yDAAyDF,IAAAA,EAAM;AAElF,QAAMG,oBAAoBC,KAAKC,UAAUR,SAAAA,GACnCS,iBAAaC,8BAAQC,uBAAKV,gBAAgB,4BAA4BE,IAAAA,OAAW,CAAA;AACvF,UAAMS,gBAAAA,QAAGC,UAAUJ,UAAAA;AAEnB,QAAMK,qBAAiBJ,8BAAQC,uBAAKV,gBAAgB,QAAQ,QAAA,CAAA,GACtDc,mBAAeL,8BAAQC,uBAAKF,YAAY,QAAA,CAAA;AAC9C,UAAMG,gBAAAA,QAAGC,UAAUE,YAAAA,GACnBb,cAAcG,KACZ,+EAA+ES,cAAAA,OAAqBC,YAAAA,EAAc,GAEpH,MAAMH,gBAAAA,QAAGI,KAAKF,gBAAgBC,YAAAA,GAE9Bb,cAAcG,KAAK,wEAAwE,GAC3F,MAAMO,gBAAAA,QAAGK,cAAUN,uBAAKF,YAAY,cAAA,GAAiB,kBAAkBH,iBAAAA,EAAmB,GAE1F,MAAMM,gBAAAA,QAAGC,cAAUF,uBAAKF,YAAY,YAAA,CAAA;AACpC,QAAMS,yBAAqBR,8BAAQC,uBAAKF,YAAY,cAAc,UAAA,CAAA;AAClEP,kBAAcG,KACZ,yEAAyEa,kBAAAA,EAAoB,GAE/F,MAAMN,gBAAAA,QAAGK,UACPC,oBACA;;;sBAGgBX,KAAKC,UAAUT,MAAMoB,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2C5C;AAGC,QAAMC,0BAAsBV,8BAAQC,uBAAKF,YAAY,cAAA,CAAA;AACrDP,kBAAcG,KACZ,2EAA2Ee,mBAAAA,EAAqB,GAElG,MAAMR,gBAAAA,QAAGS,UAAUD,qBAAqBE,kDAAAA;AAIxC,QAAMC,uBAAmBb,8BAAQC,uBAAKF,YAAY,iBAAA,CAAA;AAClDP,yBAAcG,KACZ,8EAA8EkB,gBAAAA,EAAkB,GAE3FX,gBAAAA,QAAGY,UAAUD,kBAAkB;MACpC,GAAGE;MACHC,SAAS;MACTC,aAAa;QACX,GAAGF,mDAA6BE;QAChCC,yBAAyB;MAC3B;IACF,CAAA;EACF,SAASC,GAAG;AACVC,YAAQC,MACN,+EAA+EhC,MAAMoB,IAAI,IACzFU,CAAAA;EAEJ;AACF;",
5
+ "names": ["createSsrServerlessFunction", "route", "buildInfo", "oneOptionsRoot", "postBuildLogs", "path", "getPathFromRoute", "push", "buildInfoAsString", "JSON", "stringify", "funcFolder", "resolve", "join", "fs", "ensureDir", "distServerFrom", "distServerTo", "copy", "writeFile", "entrypointFilePath", "file", "packageJsonFilePath", "writeJSON", "serverlessVercelPackageJson", "vcConfigFilePath", "writeJson", "serverlessVercelNodeJsConfig", "handler", "environment", "ONE_DEFAULT_RENDER_MODE", "e", "console", "error"]
6
6
  }
@@ -0,0 +1,31 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var getPathFromRoute_exports = {};
22
+ __export(getPathFromRoute_exports, {
23
+ getPathFromRoute: () => getPathFromRoute
24
+ });
25
+ module.exports = __toCommonJS(getPathFromRoute_exports);
26
+ var import_getPathnameFromFilePath = require("../../utils/getPathnameFromFilePath.cjs");
27
+ function getPathFromRoute(route) {
28
+ return (0, import_getPathnameFromFilePath.getPathnameFromFilePath)(route.file, {}, !1, {
29
+ preserveExtensions: !0
30
+ }).replace(/^\.\//, "/").replace(/\/+$/, "");
31
+ }
@@ -0,0 +1,24 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var getPathFromRoute_exports = {};
16
+ __export(getPathFromRoute_exports, {
17
+ getPathFromRoute: () => getPathFromRoute
18
+ });
19
+ module.exports = __toCommonJS(getPathFromRoute_exports);
20
+ var import_getPathnameFromFilePath = require("../../utils/getPathnameFromFilePath");
21
+ function getPathFromRoute(route) {
22
+ return (0, import_getPathnameFromFilePath.getPathnameFromFilePath)(route.file, {}, !1, { preserveExtensions: !0 }).replace(/^\.\//, "/").replace(/\/+$/, "");
23
+ }
24
+ //# sourceMappingURL=getPathFromRoute.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/vercel/build/getPathFromRoute.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qCAAwC;AAGjC,SAAS,iBAAiB,OAA0B;AACzD,aAAO,wDAAwB,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,31 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var getPathFromRoute_exports = {};
17
+ __export(getPathFromRoute_exports, {
18
+ getPathFromRoute: () => getPathFromRoute
19
+ });
20
+ module.exports = __toCommonJS(getPathFromRoute_exports);
21
+ var import_getPathnameFromFilePath = require("../../utils/getPathnameFromFilePath");
22
+ function getPathFromRoute(route) {
23
+ return (0, import_getPathnameFromFilePath.getPathnameFromFilePath)(route.file, {}, !1, {
24
+ preserveExtensions: !0
25
+ }).replace(/^\.\//, "/").replace(/\/+$/, "");
26
+ }
27
+ // Annotate the CommonJS export names for ESM import in node:
28
+ 0 && (module.exports = {
29
+ getPathFromRoute
30
+ });
31
+ //# sourceMappingURL=getPathFromRoute.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/vercel/build/getPathFromRoute.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;qCAAwC;AAGjC,SAASA,iBAAiBC,OAAwB;AACvD,aAAOC,wDAAwBD,MAAME,MAAM,CAAC,GAAG,IAAO;IAAEC,oBAAoB;EAAK,CAAA,EAC9EC,QAAQ,SAAS,GAAA,EACjBA,QAAQ,QAAQ,EAAA;AACrB;",
5
+ "names": ["getPathFromRoute", "route", "getPathnameFromFilePath", "file", "preserveExtensions", "replace"]
6
+ }
@@ -34,7 +34,7 @@ function generateFileSystemRouteTypesPlugin(options) {
34
34
  apply: "serve",
35
35
  configureServer(server) {
36
36
  const appDir = (0, import_node_path.join)(process.cwd(), (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options)),
37
- outFile = (0, import_node_path.join)(process.cwd(), "routes.d.ts"),
37
+ outFile = (0, import_node_path.dirname)(appDir) !== process.cwd() ? (console.warn("Seems that the router root has been customized and is in a nested folder. For now we will generate the routes.d.ts file beside the app folder. This behavior might be changed in the future."), (0, import_node_path.join)((0, import_node_path.dirname)(appDir), "routes.d.ts")) : (0, import_node_path.join)(process.cwd(), "routes.d.ts"),
38
38
  routerRoot = (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options),
39
39
  fileWatcherChangeListener = (0, import_perfect_debounce.debounce)(async (type, path) => {
40
40
  (type === "add" || type === "delete") && path.startsWith(appDir) && (0, import_generateRouteTypes.generateRouteTypes)(outFile, routerRoot);
@@ -24,7 +24,7 @@ function generateFileSystemRouteTypesPlugin(options) {
24
24
  enforce: "post",
25
25
  apply: "serve",
26
26
  configureServer(server) {
27
- const appDir = (0, import_node_path.join)(process.cwd(), (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options)), outFile = (0, import_node_path.join)(process.cwd(), "routes.d.ts"), routerRoot = (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options), fileWatcherChangeListener = (0, import_perfect_debounce.debounce)(async (type, path) => {
27
+ const appDir = (0, import_node_path.join)(process.cwd(), (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options)), outFile = (0, import_node_path.dirname)(appDir) !== process.cwd() ? (console.warn("Seems that the router root has been customized and is in a nested folder. For now we will generate the routes.d.ts file beside the app folder. This behavior might be changed in the future."), (0, import_node_path.join)((0, import_node_path.dirname)(appDir), "routes.d.ts")) : (0, import_node_path.join)(process.cwd(), "routes.d.ts"), routerRoot = (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options), fileWatcherChangeListener = (0, import_perfect_debounce.debounce)(async (type, path) => {
28
28
  (type === "add" || type === "delete") && path.startsWith(appDir) && (0, import_generateRouteTypes.generateRouteTypes)(outFile, routerRoot);
29
29
  }, 100);
30
30
  return server.watcher.addListener("all", fileWatcherChangeListener), () => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAqB,sBACrB,0BAAyB,6BAGzB,4BAAmC,kDACnC,qCAA4C;AAErC,SAAS,mCAAmC,SAAoC;AACrF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IAEP,gBAAgB,QAAQ;AACtB,YAAM,aAAS,uBAAK,QAAQ,IAAI,OAAG,gEAA4B,OAAO,CAAC,GACjE,cAAU,uBAAK,QAAQ,IAAI,GAAG,aAAa,GAE3C,iBAAa,gEAA4B,OAAO,GAGhD,gCAA4B,kCAAS,OAAO,MAAc,SAAiB;AAC/E,SAAI,SAAS,SAAS,SAAS,aACzB,KAAK,WAAW,MAAM,SAExB,8CAAmB,SAAS,UAAU;AAAA,MAG5C,GAAG,GAAG;AAEN,oBAAO,QAAQ,YAAY,OAAO,yBAAyB,GAEpD,MAAM;AAGX,0DAAmB,SAAS,UAAU;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA8B,sBAC9B,0BAAyB,6BAGzB,4BAAmC,kDACnC,qCAA4C;AAErC,SAAS,mCAAmC,SAAoC;AACrF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IAEP,gBAAgB,QAAQ;AACtB,YAAM,aAAS,uBAAK,QAAQ,IAAI,OAAG,gEAA4B,OAAO,CAAC,GACjE,cACA,0BAAQ,MAAM,MAAM,QAAQ,IAAI,KAClC,QAAQ,KAAK,8LAA8L,OACpM,2BAAK,0BAAQ,MAAM,GAAG,aAAa,SAGrC,uBAAK,QAAQ,IAAI,GAAG,aAAa,GAGpC,iBAAa,gEAA4B,OAAO,GAGhD,gCAA4B,kCAAS,OAAO,MAAc,SAAiB;AAC/E,SAAI,SAAS,SAAS,SAAS,aACzB,KAAK,WAAW,MAAM,SAExB,8CAAmB,SAAS,UAAU;AAAA,MAG5C,GAAG,GAAG;AAEN,oBAAO,QAAQ,YAAY,OAAO,yBAAyB,GAEpD,MAAM;AAGX,0DAAmB,SAAS,UAAU;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -25,7 +25,9 @@ function generateFileSystemRouteTypesPlugin(options) {
25
25
  enforce: "post",
26
26
  apply: "serve",
27
27
  configureServer(server) {
28
- var appDir = (0, import_node_path.join)(process.cwd(), (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options)), outFile = (0, import_node_path.join)(process.cwd(), "routes.d.ts"), routerRoot = (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options), fileWatcherChangeListener = (0, import_perfect_debounce.debounce)(async function(type, path) {
28
+ var appDir = (0, import_node_path.join)(process.cwd(), (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options)), outFile = function() {
29
+ return (0, import_node_path.dirname)(appDir) !== process.cwd() ? (console.warn("Seems that the router root has been customized and is in a nested folder. For now we will generate the routes.d.ts file beside the app folder. This behavior might be changed in the future."), (0, import_node_path.join)((0, import_node_path.dirname)(appDir), "routes.d.ts")) : (0, import_node_path.join)(process.cwd(), "routes.d.ts");
30
+ }(), routerRoot = (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(options), fileWatcherChangeListener = (0, import_perfect_debounce.debounce)(async function(type, path) {
29
31
  (type === "add" || type === "delete") && path.startsWith(appDir) && (0, import_generateRouteTypes.generateRouteTypes)(outFile, routerRoot);
30
32
  }, 100);
31
33
  return server.watcher.addListener("all", fileWatcherChangeListener), function() {