one 1.1.482 → 1.1.484

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/cjs/cli/build.cjs +5 -41
  2. package/dist/cjs/cli/build.js +4 -44
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +4 -42
  5. package/dist/cjs/cli/build.native.js.map +2 -2
  6. package/dist/cjs/server/createRoutesManifest.js.map +1 -1
  7. package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
  8. package/dist/cjs/server/getServerManifest.cjs +15 -7
  9. package/dist/cjs/server/getServerManifest.js +17 -8
  10. package/dist/cjs/server/getServerManifest.js.map +1 -1
  11. package/dist/cjs/server/getServerManifest.native.js +8 -5
  12. package/dist/cjs/server/getServerManifest.native.js.map +2 -2
  13. package/dist/cjs/utils/getPathnameFromFilePath.cjs +76 -0
  14. package/dist/cjs/utils/getPathnameFromFilePath.js +70 -0
  15. package/dist/cjs/utils/getPathnameFromFilePath.js.map +6 -0
  16. package/dist/cjs/utils/getPathnameFromFilePath.native.js +73 -0
  17. package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +6 -0
  18. package/dist/cjs/vercel/build/buildVercelOutputDirectory.cjs +38 -8
  19. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js +48 -17
  20. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  21. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +50 -7
  22. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +2 -2
  23. package/dist/cjs/vercel/build/config/vc-build-output-config-base.cjs +9 -6
  24. package/dist/cjs/vercel/build/config/vc-build-output-config-base.js +7 -6
  25. package/dist/cjs/vercel/build/config/vc-build-output-config-base.js.map +1 -1
  26. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js +4 -9
  27. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +2 -2
  28. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +54 -9
  29. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js +83 -15
  30. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js.map +2 -2
  31. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +73 -9
  32. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +2 -2
  33. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.cjs +9 -6
  34. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js +8 -6
  35. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  36. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js +8 -6
  37. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +2 -2
  38. package/dist/cjs/vercel/build/getPathFromRoute.cjs +31 -0
  39. package/dist/cjs/vercel/build/getPathFromRoute.js +24 -0
  40. package/dist/cjs/vercel/build/getPathFromRoute.js.map +6 -0
  41. package/dist/cjs/vercel/build/getPathFromRoute.native.js +31 -0
  42. package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +6 -0
  43. package/dist/cjs/vite/one.cjs +1 -1
  44. package/dist/cjs/vite/one.js +1 -1
  45. package/dist/cjs/vite/one.js.map +1 -1
  46. package/dist/cjs/vite/one.native.js +3 -1
  47. package/dist/cjs/vite/one.native.js.map +1 -1
  48. package/dist/esm/cli/build.js +4 -43
  49. package/dist/esm/cli/build.js.map +1 -1
  50. package/dist/esm/cli/build.mjs +4 -40
  51. package/dist/esm/cli/build.mjs.map +1 -1
  52. package/dist/esm/cli/build.native.js +4 -43
  53. package/dist/esm/cli/build.native.js.map +1 -1
  54. package/dist/esm/server/createRoutesManifest.js.map +1 -1
  55. package/dist/esm/server/createRoutesManifest.mjs.map +1 -1
  56. package/dist/esm/server/createRoutesManifest.native.js.map +1 -1
  57. package/dist/esm/server/getServerManifest.js +17 -8
  58. package/dist/esm/server/getServerManifest.js.map +1 -1
  59. package/dist/esm/server/getServerManifest.mjs +15 -7
  60. package/dist/esm/server/getServerManifest.mjs.map +1 -1
  61. package/dist/esm/server/getServerManifest.native.js +8 -4
  62. package/dist/esm/server/getServerManifest.native.js.map +1 -1
  63. package/dist/esm/utils/getPathnameFromFilePath.js +46 -0
  64. package/dist/esm/utils/getPathnameFromFilePath.js.map +6 -0
  65. package/dist/esm/utils/getPathnameFromFilePath.mjs +42 -0
  66. package/dist/esm/utils/getPathnameFromFilePath.mjs.map +1 -0
  67. package/dist/esm/utils/getPathnameFromFilePath.native.js +45 -0
  68. package/dist/esm/utils/getPathnameFromFilePath.native.js.map +1 -0
  69. package/dist/esm/vercel/build/buildVercelOutputDirectory.js +49 -18
  70. package/dist/esm/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  71. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs +38 -8
  72. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -1
  73. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +45 -8
  74. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  75. package/dist/esm/vercel/build/config/vc-build-output-config-base.js +7 -6
  76. package/dist/esm/vercel/build/config/vc-build-output-config-base.js.map +1 -1
  77. package/dist/esm/vercel/build/config/vc-build-output-config-base.mjs +9 -6
  78. package/dist/esm/vercel/build/config/vc-build-output-config-base.mjs.map +1 -1
  79. package/dist/esm/vercel/build/config/vc-build-output-config-base.native.js +3 -6
  80. package/dist/esm/vercel/build/config/vc-build-output-config-base.native.js.map +1 -1
  81. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js +88 -13
  82. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
  83. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +53 -8
  84. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
  85. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +52 -8
  86. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  87. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js +8 -5
  88. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  89. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs +8 -5
  90. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -1
  91. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js +8 -5
  92. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  93. package/dist/esm/vercel/build/getPathFromRoute.js +8 -0
  94. package/dist/esm/vercel/build/getPathFromRoute.js.map +6 -0
  95. package/dist/esm/vercel/build/getPathFromRoute.mjs +8 -0
  96. package/dist/esm/vercel/build/getPathFromRoute.mjs.map +1 -0
  97. package/dist/esm/vercel/build/getPathFromRoute.native.js +8 -0
  98. package/dist/esm/vercel/build/getPathFromRoute.native.js.map +1 -0
  99. package/dist/esm/vite/one.js +1 -1
  100. package/dist/esm/vite/one.js.map +1 -1
  101. package/dist/esm/vite/one.mjs +1 -1
  102. package/dist/esm/vite/one.mjs.map +1 -1
  103. package/dist/esm/vite/one.native.js +1 -1
  104. package/dist/esm/vite/one.native.js.map +1 -1
  105. package/package.json +9 -8
  106. package/src/cli/build.ts +3 -57
  107. package/src/server/createRoutesManifest.ts +1 -0
  108. package/src/server/getServerManifest.ts +12 -3
  109. package/src/utils/getPathnameFromFilePath.ts +62 -0
  110. package/src/vercel/build/buildVercelOutputDirectory.ts +55 -20
  111. package/src/vercel/build/config/vc-build-output-config-base.ts +6 -5
  112. package/src/vercel/build/generate/createApiServerlessFunction.ts +138 -12
  113. package/src/vercel/build/generate/createSsrServerlessFunction.ts +9 -6
  114. package/src/vercel/build/getPathFromRoute.ts +8 -0
  115. package/src/vite/one.ts +1 -1
  116. package/src/vite/types.ts +1 -0
  117. package/types/cli/build.d.ts.map +1 -1
  118. package/types/server/createRoutesManifest.d.ts +1 -0
  119. package/types/server/createRoutesManifest.d.ts.map +1 -1
  120. package/types/server/getServerManifest.d.ts +1 -0
  121. package/types/server/getServerManifest.d.ts.map +1 -1
  122. package/types/utils/getPathnameFromFilePath.d.ts +4 -0
  123. package/types/utils/getPathnameFromFilePath.d.ts.map +1 -0
  124. package/types/vercel/build/buildVercelOutputDirectory.d.ts.map +1 -1
  125. package/types/vercel/build/config/vc-build-output-config-base.d.ts +2 -5
  126. package/types/vercel/build/config/vc-build-output-config-base.d.ts.map +1 -1
  127. package/types/vercel/build/generate/createApiServerlessFunction.d.ts +2 -1
  128. package/types/vercel/build/generate/createApiServerlessFunction.d.ts.map +1 -1
  129. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts +2 -2
  130. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts.map +1 -1
  131. package/types/vercel/build/getPathFromRoute.d.ts +3 -0
  132. package/types/vercel/build/getPathFromRoute.d.ts.map +1 -0
  133. package/types/vite/types.d.ts +1 -0
  134. package/types/vite/types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["clearCompilerCache","configureVXRNCompilerPlugin","resolvePath","events","path","barrel","tsconfigPaths","autoDepOptimizePlugin","getOptimizeDeps","getOptionsFilled","loadEnv","CACHE_KEY","getRouterRootFromOneOptions","ensureTSConfig","setOneOptions","clientTreeShakePlugin","createFileSystemRouterPlugin","fixDependenciesPlugin","generateFileSystemRouteTypesPlugin","SSRCSSPlugin","virtualEntryId","createVirtualEntry","setMaxListeners","globalThis","__vxrnEnableNativeEnv","one","options","arguments","length","_options_config","_options_optimization","_options_react","_options_ssr","_options_react1","_options_router_experimental","_options_router","__oneOptions","__vxrnPluginConfig__","config","optimizeDeps","optimizeIds","include","optimizeIdRegex","RegExp","map","id","replace","join","tsConfigPathsPlugin","vxrnOptions","root","process","cwd","barrelOption","optimization","compiler","react","enableCompiler","autoDepsOptions","ssr","autoDepsOptimization","devAndProdPlugins","name","__get","packages","Array","isArray","userConfig","_vxrnOptions_mode","clientEnvDefine","mode","envPrefix","define","onScannedDeps","param","hasReanimated","hasNativewind","_options_native","_options_native_css","enableReanimated","enableNativeCSS","native","css","enableNativewind","Proxy","configIncoming","_options_config2","_configIncoming_plugins","pathsConfig","tsConfigPaths","plugins","flat","some","p","configResolved","resolveId","get","target","key","thisArg","Reflect","enforce","tslibLitePath","err","console","info","env","DEBUG","error","resolve","alias","tslib","_options_web","web","defaultRenderMode","JSON","stringify","setupFile","NODE_ENV","server","url","environments","client","ios","android","hotUpdate","modules","m","relativePath","relative","rootDir","split","sep","acceptedHmrExports","Set","_","transform","code","environment","includes","scan","reactScanPlugin","reactScanConfig","push","obj","configs","disabled","enabled","animationSpeed","showToolbar","getConfigFor","platform","defaultConfig","perPlatformConfig","nativeWebDevAndProdPlugsin","__vxrnAddNativePlugins","__vxrnAddWebPluginsProd","flags","experimentalPreventLayoutRemounting","router","experimental","preventLayoutRemounting","routerRoot","deps"],"sources":["../../../src/vite/one.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clearCompilerCache","configureVXRNCompilerPlugin","resolvePath","events","path","barrel","tsconfigPaths","autoDepOptimizePlugin","getOptimizeDeps","getOptionsFilled","loadEnv","CACHE_KEY","getRouterRootFromOneOptions","ensureTSConfig","setOneOptions","clientTreeShakePlugin","createFileSystemRouterPlugin","fixDependenciesPlugin","generateFileSystemRouteTypesPlugin","SSRCSSPlugin","virtualEntryId","createVirtualEntry","setMaxListeners","globalThis","__vxrnEnableNativeEnv","one","options","arguments","length","_options_config","_options_optimization","_options_react","_options_ssr","_options_react1","_options_router_experimental","_options_router","__oneOptions","__vxrnPluginConfig__","config","optimizeDeps","optimizeIds","include","optimizeIdRegex","RegExp","map","id","replace","join","tsConfigPathsPlugin","vxrnOptions","root","process","cwd","barrelOption","optimization","compiler","react","enableCompiler","autoDepsOptions","ssr","autoDepsOptimization","devAndProdPlugins","name","__get","packages","Array","isArray","userConfig","_vxrnOptions_mode","clientEnvDefine","mode","envPrefix","define","onScannedDeps","param","hasReanimated","hasNativewind","_options_native","_options_native_css","enableReanimated","enableNativeCSS","native","css","enableNativewind","Proxy","configIncoming","_options_config2","_configIncoming_plugins","pathsConfig","tsConfigPaths","plugins","flat","some","p","configResolved","resolveId","get","target","key","thisArg","Reflect","enforce","tslibLitePath","err","console","info","env","DEBUG","error","resolve","alias","tslib","_options_web","web","defaultRenderMode","JSON","stringify","setupFile","NODE_ENV","server","url","environments","client","ios","android","hotUpdate","modules","m","relativePath","relative","rootDir","split","sep","acceptedHmrExports","Set","_","transform","code","environment","includes","scan","reactScanPlugin","reactScanConfig","push","obj","configs","disabled","enabled","animationSpeed","showToolbar","getConfigFor","platform","defaultConfig","perPlatformConfig","nativeWebDevAndProdPlugsin","__vxrnAddNativePlugins","__vxrnAddWebPluginsProd","flags","experimentalPreventLayoutRemounting","router","experimental","preventLayoutRemounting","routerRoot","deps"],"sources":["../../../src/vite/one.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.1.482",
3
+ "version": "1.1.484",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -84,6 +84,7 @@
84
84
  "@babel/generator": "^7.26.8",
85
85
  "@babel/parser": "^7.26.8",
86
86
  "@babel/traverse": "^7.26.8",
87
+ "@babel/types": "^7.26.10",
87
88
  "@radix-ui/react-slot": "^1.0.2",
88
89
  "@react-native-masked-view/masked-view": "^0.3.1",
89
90
  "@react-navigation/bottom-tabs": "~7",
@@ -95,15 +96,15 @@
95
96
  "@react-navigation/routers": "~7",
96
97
  "@swc/core": "^1.10.4",
97
98
  "@ungap/structured-clone": "^1.2.0",
98
- "@vxrn/compiler": "1.1.482",
99
- "@vxrn/resolve": "1.1.482",
100
- "@vxrn/tslib-lite": "1.1.482",
101
- "@vxrn/universal-color-scheme": "1.1.482",
102
- "@vxrn/use-isomorphic-layout-effect": "1.1.482",
99
+ "@vxrn/compiler": "1.1.484",
100
+ "@vxrn/resolve": "1.1.484",
101
+ "@vxrn/tslib-lite": "1.1.484",
102
+ "@vxrn/universal-color-scheme": "1.1.484",
103
+ "@vxrn/use-isomorphic-layout-effect": "1.1.484",
103
104
  "babel-dead-code-elimination": "^1.0.9",
104
105
  "citty": "^0.1.6",
105
106
  "core-js": "^3.38.1",
106
- "create-vxrn": "1.1.482",
107
+ "create-vxrn": "1.1.484",
107
108
  "escape-string-regexp": "^5.0.0",
108
109
  "expo-linking": "~6.3.1",
109
110
  "expo-modules-core": "2.1.2",
@@ -129,7 +130,7 @@
129
130
  "vite": "^6.1.0",
130
131
  "vite-plugin-barrel": "^0.4.1",
131
132
  "vite-tsconfig-paths": "^5.0.1",
132
- "vxrn": "1.1.482",
133
+ "vxrn": "1.1.484",
133
134
  "ws": "^8.18.0",
134
135
  "xxhashjs": "^0.2.2"
135
136
  },
package/src/cli/build.ts CHANGED
@@ -26,6 +26,7 @@ import { getRouterRootFromOneOptions } from '../utils/getRouterRootFromOneOption
26
26
  import { buildPage } from './buildPage'
27
27
  import { checkNodeVersion } from './checkNodeVersion'
28
28
  import { labelProcess } from './label-process'
29
+ import { getPathnameFromFilePath } from '../utils/getPathnameFromFilePath'
29
30
 
30
31
  const { ensureDir, writeJSON } = FSExtra
31
32
 
@@ -425,8 +426,7 @@ export async function build(args: {
425
426
  }
426
427
 
427
428
  for (const params of paramsList) {
428
- const cleanId = relativeId.replace(/\+(spa|ssg|ssr)\.tsx?$/, '')
429
- const path = getPathnameFromFilePath(cleanId, params, foundRoute.type === 'ssg')
429
+ const path = getPathnameFromFilePath(relativeId, params, foundRoute.type === 'ssg')
430
430
  console.info(` ↦ route ${path}`)
431
431
 
432
432
  const built = await runWithAsyncLocalContext(async () => {
@@ -506,6 +506,7 @@ export async function build(args: {
506
506
  manifest: {
507
507
  pageRoutes: manifest.pageRoutes.map(createBuildManifestRoute),
508
508
  apiRoutes: manifest.apiRoutes.map(createBuildManifestRoute),
509
+ allRoutes: manifest.allRoutes.map(createBuildManifestRoute),
509
510
  },
510
511
  routeMap,
511
512
  constants: JSON.parse(JSON.stringify({ ...constants })) as any,
@@ -602,61 +603,6 @@ async function moveAllFiles(src: string, dest: string) {
602
603
  }
603
604
  }
604
605
 
605
- function getPathnameFromFilePath(path: string, params = {}, strict = false) {
606
- const dirname = Path.dirname(path).replace(/\([^\/]+\)/gi, '')
607
- const file = Path.basename(path)
608
- const fileName = file.replace(/\.[a-z]+$/, '')
609
-
610
- function paramsError(part: string) {
611
- throw new Error(
612
- `[one] Params doesn't fit route:
613
-
614
- - path: ${path}
615
- - part: ${part}
616
- - fileName: ${fileName}
617
- - params:
618
-
619
- ${JSON.stringify(params, null, 2)}`
620
- )
621
- }
622
-
623
- const nameWithParams = (() => {
624
- if (fileName === 'index') {
625
- return '/'
626
- }
627
- if (fileName.startsWith('[...')) {
628
- const part = fileName.replace('[...', '').replace(']', '')
629
- if (!params[part]) {
630
- if (strict) {
631
- throw paramsError(part)
632
- }
633
- return `/*`
634
- }
635
- return `/${params[part]}`
636
- }
637
- return `/${fileName
638
- .split('/')
639
- .map((part) => {
640
- if (part[0] === '[') {
641
- const found = params[part.slice(1, part.length - 1)]
642
- if (!found) {
643
- if (strict) {
644
- throw paramsError(part)
645
- }
646
-
647
- return ':' + part.replace('[', '').replace(']', '')
648
- }
649
- return found
650
- }
651
- return part
652
- })
653
- .join('/')}`
654
- })()
655
-
656
- // hono path will convert +not-found etc too
657
- return `${dirname}${nameWithParams}`.replace(/\/\/+/gi, '/')
658
- }
659
-
660
606
  function escapeRegex(string: string) {
661
607
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') // $& means the whole matched string
662
608
  }
@@ -13,6 +13,7 @@ export type RoutesManifest<TRegex = string> = {
13
13
  apiRoutes: RouteInfo<TRegex>[]
14
14
  middlewareRoutes: RouteInfo<TRegex>[]
15
15
  pageRoutes: RouteInfo<TRegex>[]
16
+ allRoutes: RouteInfo<TRegex>[]
16
17
  }
17
18
 
18
19
  function createMockModuleWithContext(map: string[] = []) {
@@ -22,6 +22,7 @@ export type OneRouterServerManifestV1<TRegex = string> = {
22
22
  apiRoutes: OneRouterServerManifestV1Route<TRegex>[]
23
23
  middlewareRoutes: OneRouterServerManifestV1Route<TRegex>[]
24
24
  pageRoutes: OneRouterServerManifestV1Route<TRegex>[]
25
+ allRoutes: OneRouterServerManifestV1Route<TRegex>[]
25
26
  }
26
27
 
27
28
  export interface Group {
@@ -63,7 +64,9 @@ export function getServerManifest(route: RouteNode): OneRouterServerManifestV1 {
63
64
  return [key]
64
65
  })
65
66
 
66
- key = parentSegments + getContextKey(route.route).replace(/\/index$/, '') || '/'
67
+ key =
68
+ (parentSegments ? parentSegments.join('') : '') +
69
+ getContextKey(route.route).replace(/\/index$/, '') || '/'
67
70
  }
68
71
 
69
72
  return [[key, { ...route, layouts }]]
@@ -92,12 +95,15 @@ export function getServerManifest(route: RouteNode): OneRouterServerManifestV1 {
92
95
  const apiRoutes: OneRouterServerManifestV1Route[] = []
93
96
  const middlewareRoutes: OneRouterServerManifestV1Route[] = []
94
97
  const pageRoutes: OneRouterServerManifestV1Route[] = []
98
+ const allRoutes: OneRouterServerManifestV1Route[] = []
95
99
 
96
100
  const addedMiddlewares: Record<string, boolean> = {}
97
101
 
98
102
  for (const [path, node] of flat) {
99
103
  if (node.type === 'api') {
100
- apiRoutes.push(getGeneratedNamedRouteRegex(path, node))
104
+ const route = getGeneratedNamedRouteRegex(path, node)
105
+ apiRoutes.push(route)
106
+ allRoutes.push(route)
101
107
  continue
102
108
  }
103
109
 
@@ -110,13 +116,16 @@ export function getServerManifest(route: RouteNode): OneRouterServerManifestV1 {
110
116
  }
111
117
  }
112
118
 
113
- pageRoutes.push(getGeneratedNamedRouteRegex(path, node))
119
+ const route = getGeneratedNamedRouteRegex(path, node)
120
+ pageRoutes.push(route)
121
+ allRoutes.push(route)
114
122
  }
115
123
 
116
124
  return {
117
125
  apiRoutes,
118
126
  middlewareRoutes,
119
127
  pageRoutes,
128
+ allRoutes,
120
129
  }
121
130
  }
122
131
 
@@ -0,0 +1,62 @@
1
+ import Path from 'node:path'
2
+
3
+ export function getPathnameFromFilePath(
4
+ inputPath: string,
5
+ params = {},
6
+ strict = false,
7
+ options: { preserveExtensions?: boolean } = {}
8
+ ) {
9
+ const path = inputPath.replace(/\+(spa|ssg|ssr|api)\.tsx?$/, '')
10
+ const dirname = Path.dirname(path).replace(/\([^\/]+\)/gi, '')
11
+ const file = Path.basename(path)
12
+ const fileName = options.preserveExtensions ? file : file.replace(/\.[a-z]+$/, '')
13
+
14
+ function paramsError(part: string) {
15
+ throw new Error(
16
+ `[one] Params doesn't fit route:
17
+
18
+ - path: ${path}
19
+ - part: ${part}
20
+ - fileName: ${fileName}
21
+ - params:
22
+
23
+ ${JSON.stringify(params, null, 2)}`
24
+ )
25
+ }
26
+
27
+ const nameWithParams = (() => {
28
+ if (fileName === 'index') {
29
+ return '/'
30
+ }
31
+ if (fileName.startsWith('[...')) {
32
+ const part = fileName.replace('[...', '').replace(']', '')
33
+ if (!params[part]) {
34
+ if (strict) {
35
+ throw paramsError(part)
36
+ }
37
+ return `/*`
38
+ }
39
+ return `/${params[part]}`
40
+ }
41
+ return `/${fileName
42
+ .split('/')
43
+ .map((part) => {
44
+ if (part[0] === '[') {
45
+ const found = params[part.slice(1, part.length - 1)]
46
+ if (!found) {
47
+ if (strict) {
48
+ throw paramsError(part)
49
+ }
50
+
51
+ return ':' + part.replace('[', '').replace(']', '')
52
+ }
53
+ return found
54
+ }
55
+ return part
56
+ })
57
+ .join('/')}`
58
+ })()
59
+
60
+ // hono path will convert +not-found etc too
61
+ return `${dirname}${nameWithParams}`.replace(/\/\/+/gi, '/')
62
+ }
@@ -8,9 +8,10 @@ import { createApiServerlessFunction } from './generate/createApiServerlessFunct
8
8
  import { createSsrServerlessFunction } from './generate/createSsrServerlessFunction'
9
9
  import { serverlessVercelNodeJsConfig } from './config/vc-config-base'
10
10
  import { serverlessVercelPackageJson } from './config/vc-package-base'
11
- import { vercelBuildOutputConfig } from './config/vc-build-output-config-base'
11
+ import { vercelBuildOutputConfigBase } from './config/vc-build-output-config-base'
12
12
 
13
13
  import type { One } from '../../vite/types'
14
+ import { getPathFromRoute } from './getPathFromRoute'
14
15
 
15
16
  const { copy, ensureDir, existsSync, writeJSON } = FSExtra
16
17
 
@@ -49,21 +50,8 @@ export const buildVercelOutputDirectory = async ({
49
50
  postBuildLogs.push(
50
51
  `[one.build][vercel] generating serverless function for apiRoute ${route.page}`
51
52
  )
52
- await createApiServerlessFunction(
53
- route.page,
54
- compiledRoute.code,
55
- oneOptionsRoot,
56
- postBuildLogs
57
- )
58
53
 
59
- if (route.page !== route.urlCleanPath ) {
60
- await createApiServerlessFunction(
61
- route.urlCleanPath,
62
- compiledRoute.code,
63
- oneOptionsRoot,
64
- postBuildLogs
65
- )
66
- }
54
+ await createApiServerlessFunction(route, compiledRoute.code, oneOptionsRoot, postBuildLogs)
67
55
  } else {
68
56
  console.warn('\n 🔨[one.build][vercel] apiRoute missing code compilation for', route.file)
69
57
  }
@@ -83,7 +71,7 @@ export const buildVercelOutputDirectory = async ({
83
71
  `[one.build][vercel] generate serverless function for ${route.page} with ${route.type}`
84
72
  )
85
73
  await createSsrServerlessFunction(
86
- route.page,
74
+ route,
87
75
  buildInfoForWriting,
88
76
  oneOptionsRoot,
89
77
  postBuildLogs
@@ -101,7 +89,7 @@ export const buildVercelOutputDirectory = async ({
101
89
  const distMiddlewareDir = resolve(join(oneOptionsRoot, 'dist', 'middlewares'))
102
90
  if (existsSync(distMiddlewareDir)) {
103
91
  const vercelMiddlewareDir = resolve(
104
- join(oneOptionsRoot, '.vercel/output/functions/_middleware')
92
+ join(oneOptionsRoot, '.vercel/output/functions/_middleware.func')
105
93
  )
106
94
  await ensureDir(vercelMiddlewareDir)
107
95
  postBuildLogs.push(
@@ -113,13 +101,35 @@ export const buildVercelOutputDirectory = async ({
113
101
  `[one.build][vercel] writing package.json to ${vercelMiddlewarePackageJsonFilePath}`
114
102
  )
115
103
  await writeJSON(vercelMiddlewarePackageJsonFilePath, serverlessVercelPackageJson)
104
+ const wrappedMiddlewareEntryPointFilename = '_wrapped_middleware.js'
105
+ const wrappedMiddlewareEntryPointPath = resolve(
106
+ join(vercelMiddlewareDir, wrappedMiddlewareEntryPointFilename)
107
+ )
108
+ await FSExtra.writeFile(
109
+ wrappedMiddlewareEntryPointPath,
110
+ `
111
+ import middlewareFunction from './_middleware.js'
112
+
113
+ const next = (e) => {
114
+ const t = new Headers(null == e ? void 0 : e.headers)
115
+ t.set('x-middleware-next', '1')
116
+ return new Response(null, { ...e, headers: t })
117
+ }
118
+
119
+ const wrappedMiddlewareFunction = (request, event) => {
120
+ return middlewareFunction({ request, event, next })
121
+ }
122
+
123
+ export { wrappedMiddlewareFunction as default }
124
+ `
125
+ )
116
126
  const middlewareVercelConfigFilePath = resolve(join(vercelMiddlewareDir, '.vc-config.json'))
117
127
  postBuildLogs.push(
118
128
  `[one.build][vercel] writing .vc-config.json to ${middlewareVercelConfigFilePath}`
119
129
  )
120
130
  await writeJSON(middlewareVercelConfigFilePath, {
121
- ...serverlessVercelNodeJsConfig,
122
- handler: '_middleware.js',
131
+ runtime: 'edge', // Seems that middlewares only work with edge runtime
132
+ entrypoint: wrappedMiddlewareEntryPointFilename,
123
133
  })
124
134
  }
125
135
 
@@ -134,6 +144,31 @@ export const buildVercelOutputDirectory = async ({
134
144
  // Documentation - Vercel Build Output v3 config.json
135
145
  // https://vercel.com/docs/build-output-api/v3/configuration#config.json-supported-properties
136
146
  const vercelConfigFilePath = resolve(join(oneOptionsRoot, '.vercel/output', 'config.json'))
137
- await writeJSON(vercelConfigFilePath, vercelBuildOutputConfig)
147
+ await writeJSON(vercelConfigFilePath, {
148
+ ...vercelBuildOutputConfigBase,
149
+ routes: [
150
+ ...vercelBuildOutputConfigBase.routes,
151
+ ...(existsSync(distMiddlewareDir)
152
+ ? [
153
+ {
154
+ src: '/(.*)',
155
+ middlewarePath: '_middleware',
156
+ continue: true,
157
+ },
158
+ ]
159
+ : []),
160
+ {
161
+ handle: 'rewrite',
162
+ },
163
+ ...buildInfoForWriting.manifest.allRoutes
164
+ .filter((r) => r.routeKeys && Object.keys(r.routeKeys).length > 0)
165
+ .map((r) => ({
166
+ src: r.namedRegex,
167
+ dest: `${getPathFromRoute(r)}?${Object.entries(r.routeKeys)
168
+ .map(([k, v]) => `${k}=$${v}`)
169
+ .join('&')}`,
170
+ })),
171
+ ],
172
+ })
138
173
  postBuildLogs.push(`[one.build] wrote vercel config to: ${vercelConfigFilePath}`)
139
174
  }
@@ -1,12 +1,13 @@
1
1
  // Documentation - Vercel Build Output v3 Config
2
2
  // https://vercel.com/docs/build-output-api/v3/configuration#config.json-supported-properties
3
- export const vercelBuildOutputConfig = {
3
+ export const vercelBuildOutputConfigBase = {
4
4
  version: 3,
5
5
  // https://vercel.com/docs/build-output-api/v3/configuration#routes
6
6
  routes: [
7
- {
8
- src: '/(.*)',
9
- status: 200,
10
- },
7
+ // Not sure if we really need this, but having this seems to break the 'rewrite's we will add to handle dynamic routes.
8
+ // {
9
+ // src: '/(.*)',
10
+ // status: 200,
11
+ // },
11
12
  ],
12
13
  }
@@ -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
+ }