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
@@ -1,46 +1,58 @@
1
- import { join, resolve } from 'node:path'
1
+ import { dirname, join, resolve } from 'node:path'
2
+ import FSExtra from 'fs-extra'
3
+ import { resolvePath } from '@vxrn/resolve'
4
+
5
+ import parser from '@babel/parser'
6
+ import traverse from '@babel/traverse'
7
+ import t from '@babel/types'
8
+ import generator from '@babel/generator'
2
9
 
3
10
  import fs from 'fs-extra'
11
+ import type { RouteInfo } from '../../../vite/types'
4
12
 
5
13
  import { serverlessVercelPackageJson } from '../config/vc-package-base'
6
14
  import { serverlessVercelNodeJsConfig } from '../config/vc-config-base'
15
+ import { getPathFromRoute } from '../getPathFromRoute'
7
16
 
8
17
  // Documentation - Vercel Build Output v3
9
18
  // https://vercel.com/docs/build-output-api/v3#build-output-api-v3
10
19
  export async function createApiServerlessFunction(
11
- pageName: string,
20
+ route: RouteInfo<string>,
12
21
  code: string,
13
22
  oneOptionsRoot: string,
14
23
  postBuildLogs: string[]
15
24
  ) {
16
25
  try {
17
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`)
26
+ const path = getPathFromRoute(route)
27
+
28
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${path}`)
18
29
 
19
- const funcFolder = join(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`)
30
+ const funcFolder = join(oneOptionsRoot, `.vercel/output/functions/${path}.func`)
20
31
  await fs.ensureDir(funcFolder)
21
32
 
22
33
  if (code.includes('react')) {
23
34
  postBuildLogs.push(
24
- `[one.build][vercel.createSsrServerlessFunction] detected react in depenency tree for ${pageName}`
25
- )
26
- await fs.copy(
27
- resolve(join(oneOptionsRoot, '..', '..', 'node_modules', 'react')),
28
- resolve(join(funcFolder, 'node_modules', 'react'))
35
+ `[one.build][vercel.createSsrServerlessFunction] detected react in depenency tree for ${path}`
29
36
  )
37
+ const reactPath = dirname(resolvePath('react/package.json', oneOptionsRoot))
38
+ await fs.copy(resolve(reactPath), resolve(join(funcFolder, 'node_modules', 'react')))
30
39
  }
31
40
 
32
41
  const distAssetsFolder = resolve(join(funcFolder, 'assets'))
33
42
  postBuildLogs.push(
34
43
  `[one.build][vercel.createSsrServerlessFunction] copy shared assets to ${distAssetsFolder}`
35
44
  )
36
- await fs.copy(resolve(join(oneOptionsRoot, 'dist', 'api', 'assets')), distAssetsFolder)
45
+ const sourceAssetsFolder = resolve(join(oneOptionsRoot, 'dist', 'api', 'assets'))
46
+ if (await FSExtra.pathExists(sourceAssetsFolder)) {
47
+ await fs.copy(sourceAssetsFolder, distAssetsFolder)
48
+ }
37
49
 
38
50
  await fs.ensureDir(resolve(join(funcFolder, 'entrypoint')))
39
51
  const entrypointFilePath = resolve(join(funcFolder, 'entrypoint', 'index.js'))
40
52
  postBuildLogs.push(
41
53
  `[one.build][vercel.createSsrServerlessFunction] writing entrypoint to ${entrypointFilePath}`
42
54
  )
43
- await fs.writeFile(entrypointFilePath, code)
55
+ await fs.writeFile(entrypointFilePath, wrapHandlerFunctions(code))
44
56
 
45
57
  const packageJsonFilePath = resolve(join(funcFolder, 'package.json'))
46
58
  postBuildLogs.push(
@@ -59,8 +71,122 @@ export async function createApiServerlessFunction(
59
71
  })
60
72
  } catch (e) {
61
73
  console.error(
62
- `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`,
74
+ `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`,
63
75
  e
64
76
  )
65
77
  }
66
78
  }
79
+
80
+ /**
81
+ * Vercel won't pass `{ params }` as the second argument to the handler function.
82
+ * So we need to wrap the handler function to parse the params from the request,
83
+ * and pass them to the handler function.
84
+ */
85
+ function wrapHandlerFunctions(code) {
86
+ const ast = parser.parse(code, {
87
+ sourceType: 'module',
88
+ })
89
+
90
+ // TODO: idk why the TypeScript type does not match the actual type. Seems that we should use `traverse.default`, but TypeScript thinks we should use `traverse` directly.
91
+ ;((traverse as any).default as typeof traverse)(ast, {
92
+ FunctionDeclaration(path) {
93
+ const { node } = path
94
+
95
+ const functionNamesToHandle = [
96
+ 'GET',
97
+ 'POST',
98
+ 'PUT',
99
+ 'PATCH',
100
+ 'DELETE',
101
+ 'HEAD',
102
+ 'OPTIONS',
103
+ // TODO: more possibilities?
104
+ ]
105
+
106
+ if (!node.id || !functionNamesToHandle.includes(node.id.name)) return
107
+ // TODO: may need to also check if the function is export in any way, if
108
+ // the isn't exported at all, we can skip.
109
+ if (node.extra && node.extra.isWrapper) return
110
+ if (node.extra && node.extra.isWrapped) return
111
+
112
+ const originalName = `orig_${node.id.name}`
113
+
114
+ const originalFunction = t.functionDeclaration(
115
+ t.identifier(originalName),
116
+ node.params,
117
+ node.body,
118
+ node.generator,
119
+ node.async
120
+ )
121
+
122
+ /* The first argument of the handler function, which is the request object. */
123
+ const requestIdentifier = t.identifier('request')
124
+ const wrapperParams = [requestIdentifier]
125
+
126
+ /* A local variable in the wrapper function to hold the URL object. */
127
+ const urlIdentifier = t.identifier('url')
128
+ /* A local variable in the wrapper function to hold parsed params. */
129
+ const paramsIdentifier = t.identifier('params')
130
+
131
+ const urlDecl = t.variableDeclaration('const', [
132
+ t.variableDeclarator(
133
+ urlIdentifier,
134
+ t.newExpression(t.identifier('URL') /* Node.js global */, [
135
+ t.memberExpression(requestIdentifier, t.identifier('url')) /* request.url */,
136
+ ])
137
+ ),
138
+ ])
139
+
140
+ const paramsDecl = t.variableDeclaration('const', [
141
+ t.variableDeclarator(
142
+ paramsIdentifier,
143
+ t.callExpression(
144
+ t.memberExpression(t.identifier('Object'), t.identifier('fromEntries')),
145
+ [
146
+ t.callExpression(
147
+ t.memberExpression(
148
+ t.memberExpression(
149
+ urlIdentifier,
150
+ t.identifier('searchParams')
151
+ ) /* url.searchParams */,
152
+ t.identifier('entries')
153
+ ),
154
+ []
155
+ ),
156
+ ]
157
+ )
158
+ ),
159
+ ])
160
+
161
+ const callOrigFnStatement = t.callExpression(t.identifier(originalName), [
162
+ requestIdentifier,
163
+ t.objectExpression([t.objectProperty(t.identifier('params'), paramsIdentifier)]),
164
+ ])
165
+
166
+ const wrapperFunction = t.functionDeclaration(
167
+ t.identifier(node.id.name + ''),
168
+ wrapperParams,
169
+ t.blockStatement([urlDecl, paramsDecl, t.returnStatement(callOrigFnStatement)])
170
+ // No need to care if the wrapper function should be async,
171
+ // since we didn't use any await in the wrapper function, and we'll
172
+ // just return what the original function returns.
173
+ )
174
+
175
+ node.extra = node.extra || {}
176
+ node.extra.isWrapped = true
177
+
178
+ wrapperFunction.extra = wrapperFunction.extra || {}
179
+ wrapperFunction.extra.isWrapper = true
180
+
181
+ if (path.parentPath.isExportNamedDeclaration()) {
182
+ path.replaceWithMultiple([originalFunction, t.exportNamedDeclaration(wrapperFunction, [])])
183
+ } else {
184
+ path.replaceWithMultiple([originalFunction, wrapperFunction])
185
+ }
186
+ },
187
+ })
188
+
189
+ // TODO: idk why the TypeScript type does not match the actual type. Seems that we should use `generator.default`, but TypeScript thinks we should use `generator` directly.
190
+ const output = ((generator as any).default as typeof generator)(ast, {}).code
191
+ return output
192
+ }
@@ -2,21 +2,23 @@ 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
- import type { One } from '../../../vite/types'
5
+ import type { One, RouteInfo } from '../../../vite/types'
6
+ import { getPathFromRoute } from '../getPathFromRoute'
6
7
 
7
8
  // Documentation - Vercel Build Output v3
8
9
  // https://vercel.com/docs/build-output-api/v3#build-output-api-v3
9
10
  export async function createSsrServerlessFunction(
10
- pageName: string,
11
+ route: RouteInfo<string>,
11
12
  buildInfo: One.BuildInfo,
12
13
  oneOptionsRoot: string,
13
14
  postBuildLogs: string[]
14
15
  ) {
15
16
  try {
16
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`)
17
+ const path = getPathFromRoute(route)
18
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] path: ${path}`)
17
19
 
18
20
  const buildInfoAsString = JSON.stringify(buildInfo)
19
- const funcFolder = resolve(join(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`))
21
+ const funcFolder = resolve(join(oneOptionsRoot, `.vercel/output/functions/${path}.func`))
20
22
  await fs.ensureDir(funcFolder)
21
23
 
22
24
  const distServerFrom = resolve(join(oneOptionsRoot, 'dist', 'server'))
@@ -40,6 +42,7 @@ export async function createSsrServerlessFunction(
40
42
  `
41
43
  const buildInfoConfig = await import('../buildInfo.js');
42
44
  const entry = await import('../server/_virtual_one-entry.js');
45
+ const routeFile = ${JSON.stringify(route.file)}
43
46
 
44
47
  const handler = async (req, res) => {
45
48
  // console.debug("req.url", req.url);
@@ -49,7 +52,7 @@ export async function createSsrServerlessFunction(
49
52
  params: Object.fromEntries(url.searchParams.entries())
50
53
  }
51
54
  const postfix = url.pathname.endsWith('/') ? 'index.tsx' : '+ssr.tsx';
52
- const routeFile = \`.\${url.pathname}\${postfix}\`;
55
+ // const routeFile = \`.\${url.pathname}\${postfix}\`;
53
56
  let route = buildInfoConfig.default.routeToBuildInfo[routeFile];
54
57
 
55
58
  // If we cannot find the route by direct match, try to find it by looking it up in the
@@ -107,7 +110,7 @@ export async function createSsrServerlessFunction(
107
110
  })
108
111
  } catch (e) {
109
112
  console.error(
110
- `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`,
113
+ `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`,
111
114
  e
112
115
  )
113
116
  }
@@ -0,0 +1,8 @@
1
+ import { getPathnameFromFilePath } from '../../utils/getPathnameFromFilePath'
2
+ import type { RouteInfo } from '../../vite/types'
3
+
4
+ export function getPathFromRoute(route: RouteInfo<string>) {
5
+ return getPathnameFromFilePath(route.file, {}, false, { preserveExtensions: true })
6
+ .replace(/^\.\//, '/')
7
+ .replace(/\/+$/, '')
8
+ }
@@ -1,4 +1,4 @@
1
- import { join } from 'node:path'
1
+ import { dirname, join } from 'node:path'
2
2
  import { debounce } from 'perfect-debounce'
3
3
  import type { Plugin } from 'vite'
4
4
  import type { One } from '../types'
@@ -13,7 +13,14 @@ export function generateFileSystemRouteTypesPlugin(options: One.PluginOptions):
13
13
 
14
14
  configureServer(server) {
15
15
  const appDir = join(process.cwd(), getRouterRootFromOneOptions(options))
16
- const outFile = join(process.cwd(), 'routes.d.ts')
16
+ const outFile = (() => {
17
+ if (dirname(appDir) !== process.cwd()) {
18
+ 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.')
19
+ return join(dirname(appDir), 'routes.d.ts')
20
+ }
21
+
22
+ return join(process.cwd(), 'routes.d.ts')
23
+ })()
17
24
 
18
25
  const routerRoot = getRouterRootFromOneOptions(options)
19
26
 
package/src/vite/types.ts CHANGED
@@ -302,6 +302,7 @@ export namespace One {
302
302
  manifest: {
303
303
  pageRoutes: RouteInfo[]
304
304
  apiRoutes: RouteInfo[]
305
+ allRoutes: RouteInfo[]
305
306
  }
306
307
 
307
308
  // for quick checking if preload exists
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAmCA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBAwhBA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAoCA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBAwhBA"}
@@ -15,6 +15,7 @@ type RequestHandlerProps<RouteExtraProps extends Object = {}> = {
15
15
  loaderProps?: LoaderProps;
16
16
  };
17
17
  type RequestHandlerResponse = null | string | Response;
18
+ export declare function runMiddlewares(handlers: RequestHandlers, request: Request, route: RouteInfo, getResponse: () => Promise<Response>): Promise<Response>;
18
19
  export declare function resolveAPIRoute(handlers: RequestHandlers, request: Request, url: URL, route: RouteInfoCompiled): Promise<Response>;
19
20
  export declare function resolveLoaderRoute(handlers: RequestHandlers, request: Request, url: URL, route: RouteInfoCompiled): Promise<Response>;
20
21
  export declare function resolvePageRoute(handlers: RequestHandlers, request: Request, url: URL, route: RouteInfoCompiled): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"createHandleRequest.d.ts","sourceRoot":"","sources":["../src/createHandleRequest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACzD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACxD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACpD,CAAA;AAED,KAAK,mBAAmB,CAAC,eAAe,SAAS,MAAM,GAAG,EAAE,IAAI;IAC9D,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,eAAe,CAAA;IAC1C,GAAG,EAAE,GAAG,CAAA;IACR,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,KAAK,sBAAsB,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAA;AAuDtD,wBAAsB,eAAe,CACnC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,iBAAiB,qBAqCzB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,iBAAiB,qBAkCzB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,iBAAiB,qBAkBzB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,OAMpD;AASD,wBAAgB,eAAe,CAAC,QAAQ,EAAE;IAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG;IAC9F,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,SAAS,EAAE,iBAAiB,EAAE,CAAA;CAC/B,CAKA;AAGD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE;;uBASlD,OAAO,KAAG,OAAO,CAAC,sBAAsB,CAAC;EAqE3F"}
1
+ {"version":3,"file":"createHandleRequest.d.ts","sourceRoot":"","sources":["../src/createHandleRequest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAK1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,MAAM,eAAe,GAAG;IAC5B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACzD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACxD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CACpD,CAAA;AAED,KAAK,mBAAmB,CAAC,eAAe,SAAS,MAAM,GAAG,EAAE,IAAI;IAC9D,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,eAAe,CAAA;IAC1C,GAAG,EAAE,GAAG,CAAA;IACR,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,CAAA;AAED,KAAK,sBAAsB,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAA;AAEtD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,EAChB,WAAW,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GACnC,OAAO,CAAC,QAAQ,CAAC,CA8CnB;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,iBAAiB,qBAqCzB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,iBAAiB,qBAkCzB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,iBAAiB,qBAkBzB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,OAMpD;AASD,wBAAgB,eAAe,CAAC,QAAQ,EAAE;IAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAAC,SAAS,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG;IAC9F,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,SAAS,EAAE,iBAAiB,EAAE,CAAA;CAC/B,CAKA;AAGD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE;;uBASlD,OAAO,KAAG,OAAO,CAAC,sBAAsB,CAAC;EAqE3F"}
@@ -8,6 +8,7 @@ export type RoutesManifest<TRegex = string> = {
8
8
  apiRoutes: RouteInfo<TRegex>[];
9
9
  middlewareRoutes: RouteInfo<TRegex>[];
10
10
  pageRoutes: RouteInfo<TRegex>[];
11
+ allRoutes: RouteInfo<TRegex>[];
11
12
  };
12
13
  export declare function createRoutesManifest(paths: string[], options: Options): RoutesManifest | null;
13
14
  //# sourceMappingURL=createRoutesManifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createRoutesManifest.d.ts","sourceRoot":"","sources":["../../src/server/createRoutesManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,qBAAqB,CAAA;AAG7D,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,eAAe,CAAA;AAEnD,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG;IAC1C,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,IAAI;IAC5C,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IAC9B,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IACrC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;CAChC,CAAA;AAYD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAc7F"}
1
+ {"version":3,"file":"createRoutesManifest.d.ts","sourceRoot":"","sources":["../../src/server/createRoutesManifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,qBAAqB,CAAA;AAG7D,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,eAAe,CAAA;AAEnD,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG;IAC1C,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,MAAM,GAAG,MAAM,IAAI;IAC5C,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IAC9B,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IACrC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;IAC/B,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;CAC/B,CAAA;AAYD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAc7F"}
@@ -17,6 +17,7 @@ export type OneRouterServerManifestV1<TRegex = string> = {
17
17
  apiRoutes: OneRouterServerManifestV1Route<TRegex>[];
18
18
  middlewareRoutes: OneRouterServerManifestV1Route<TRegex>[];
19
19
  pageRoutes: OneRouterServerManifestV1Route<TRegex>[];
20
+ allRoutes: OneRouterServerManifestV1Route<TRegex>[];
20
21
  };
21
22
  export interface Group {
22
23
  pos: number;
@@ -1 +1 @@
1
- {"version":3,"file":"getServerManifest.d.ts","sourceRoot":"","sources":["../../src/server/getServerManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,eAAe,CAAA;AAGnD,MAAM,MAAM,8BAA8B,CAAC,MAAM,GAAG,MAAM,IAAI,SAAS,GAAG;IACxE,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,yBAAyB,CAAC,MAAM,GAAG,MAAM,IAAI;IACvD,SAAS,EAAE,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAA;IACnD,gBAAgB,EAAE,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAA;IAC1D,UAAU,EAAE,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAA;CACrD,CAAA;AAED,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC7B,EAAE,EAAE,MAAM,CAAA;CACX;AAOD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,yBAAyB,CA8E7E;AAwKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM;;;;EAgBvC"}
1
+ {"version":3,"file":"getServerManifest.d.ts","sourceRoot":"","sources":["../../src/server/getServerManifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,eAAe,CAAA;AAGnD,MAAM,MAAM,8BAA8B,CAAC,MAAM,GAAG,MAAM,IAAI,SAAS,GAAG;IACxE,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,yBAAyB,CAAC,MAAM,GAAG,MAAM,IAAI;IACvD,SAAS,EAAE,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAA;IACnD,gBAAgB,EAAE,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAA;IAC1D,UAAU,EAAE,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAA;IACpD,SAAS,EAAE,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAA;CACpD,CAAA;AAED,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC7B,EAAE,EAAE,MAAM,CAAA;CACX;AAOD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,yBAAyB,CAsF7E;AAwKD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM;;;;EAgBvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"oneServe.d.ts","sourceRoot":"","sources":["../../src/server/oneServe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,MAAM,CAAA;AASnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAGxC,wBAAsB,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,iBAqShG"}
1
+ {"version":3,"file":"oneServe.d.ts","sourceRoot":"","sources":["../../src/server/oneServe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAqB,MAAM,MAAM,CAAA;AAcnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAIxC,wBAAsB,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,iBAoShG"}
@@ -0,0 +1,4 @@
1
+ export declare function getPathnameFromFilePath(inputPath: string, params?: {}, strict?: boolean, options?: {
2
+ preserveExtensions?: boolean;
3
+ }): string;
4
+ //# sourceMappingURL=getPathnameFromFilePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPathnameFromFilePath.d.ts","sourceRoot":"","sources":["../../src/utils/getPathnameFromFilePath.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,KAAK,EACX,MAAM,UAAQ,EACd,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAO,UAuD/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildVercelOutputDirectory.d.ts","sourceRoot":"","sources":["../../../src/vercel/build/buildVercelOutputDirectory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAS1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAY3C,eAAO,MAAM,0BAA0B,GAAU,+EAM9C;IACD,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IAC9B,mBAAmB,EAAE,GAAG,CAAC,SAAS,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,kBAsGA,CAAA"}
1
+ {"version":3,"file":"buildVercelOutputDirectory.d.ts","sourceRoot":"","sources":["../../../src/vercel/build/buildVercelOutputDirectory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAS1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAa3C,eAAO,MAAM,0BAA0B,GAAU,+EAM9C;IACD,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IAC9B,mBAAmB,EAAE,GAAG,CAAC,SAAS,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,EAAE,CAAA;CACxB,kBAwIA,CAAA"}
@@ -1,8 +1,5 @@
1
- export declare const vercelBuildOutputConfig: {
1
+ export declare const vercelBuildOutputConfigBase: {
2
2
  version: number;
3
- routes: {
4
- src: string;
5
- status: number;
6
- }[];
3
+ routes: never[];
7
4
  };
8
5
  //# sourceMappingURL=vc-build-output-config-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vc-build-output-config-base.d.ts","sourceRoot":"","sources":["../../../../src/vercel/build/config/vc-build-output-config-base.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB;;;;;;CASnC,CAAA"}
1
+ {"version":3,"file":"vc-build-output-config-base.d.ts","sourceRoot":"","sources":["../../../../src/vercel/build/config/vc-build-output-config-base.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,2BAA2B;;;CAUvC,CAAA"}
@@ -1,2 +1,3 @@
1
- export declare function createApiServerlessFunction(pageName: string, code: string, oneOptionsRoot: string, postBuildLogs: string[]): Promise<void>;
1
+ import type { RouteInfo } from '../../../vite/types';
2
+ export declare function createApiServerlessFunction(route: RouteInfo<string>, code: string, oneOptionsRoot: string, postBuildLogs: string[]): Promise<void>;
2
3
  //# sourceMappingURL=createApiServerlessFunction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createApiServerlessFunction.d.ts","sourceRoot":"","sources":["../../../../src/vercel/build/generate/createApiServerlessFunction.ts"],"names":[],"mappings":"AASA,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EAAE,iBAoDxB"}
1
+ {"version":3,"file":"createApiServerlessFunction.d.ts","sourceRoot":"","sources":["../../../../src/vercel/build/generate/createApiServerlessFunction.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAQpD,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EACxB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EAAE,iBAuDxB"}
@@ -1,3 +1,3 @@
1
- import type { One } from '../../../vite/types';
2
- export declare function createSsrServerlessFunction(pageName: string, buildInfo: One.BuildInfo, oneOptionsRoot: string, postBuildLogs: string[]): Promise<void>;
1
+ import type { One, RouteInfo } from '../../../vite/types';
2
+ export declare function createSsrServerlessFunction(route: RouteInfo<string>, buildInfo: One.BuildInfo, oneOptionsRoot: string, postBuildLogs: string[]): Promise<void>;
3
3
  //# sourceMappingURL=createSsrServerlessFunction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSsrServerlessFunction.d.ts","sourceRoot":"","sources":["../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAI9C,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EAAE,iBAqGxB"}
1
+ {"version":3,"file":"createSsrServerlessFunction.d.ts","sourceRoot":"","sources":["../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAKzD,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EACxB,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EAAE,iBAuGxB"}
@@ -0,0 +1,3 @@
1
+ import type { RouteInfo } from '../../vite/types';
2
+ export declare function getPathFromRoute(route: RouteInfo<string>): string;
3
+ //# sourceMappingURL=getPathFromRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPathFromRoute.d.ts","sourceRoot":"","sources":["../../../src/vercel/build/getPathFromRoute.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,UAIxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateFileSystemRouteTypesPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAInC,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,GAAG,MAAM,CA+BrF"}
1
+ {"version":3,"file":"generateFileSystemRouteTypesPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAInC,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,GAAG,MAAM,CAsCrF"}
@@ -259,6 +259,7 @@ export declare namespace One {
259
259
  manifest: {
260
260
  pageRoutes: RouteInfo[];
261
261
  apiRoutes: RouteInfo[];
262
+ allRoutes: RouteInfo[];
262
263
  };
263
264
  preloads: Record<string, boolean>;
264
265
  loaders: Record<string, boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"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"}