one 1.1.449 → 1.1.451

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 (166) hide show
  1. package/dist/cjs/cli/build.cjs +15 -22
  2. package/dist/cjs/cli/build.js +14 -31
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +15 -24
  5. package/dist/cjs/cli/build.native.js.map +2 -2
  6. package/dist/cjs/cli.cjs +0 -4
  7. package/dist/cjs/cli.js +0 -4
  8. package/dist/cjs/cli.js.map +1 -1
  9. package/dist/cjs/cli.native.js +0 -4
  10. package/dist/cjs/cli.native.js.map +1 -1
  11. package/dist/cjs/serve.cjs +1 -2
  12. package/dist/cjs/serve.js +1 -2
  13. package/dist/cjs/serve.js.map +1 -1
  14. package/dist/cjs/serve.native.js +1 -2
  15. package/dist/cjs/serve.native.js.map +2 -2
  16. package/dist/cjs/vercel/build/buildVercelOutputDirectory.cjs +103 -0
  17. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js +102 -0
  18. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js.map +6 -0
  19. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +111 -0
  20. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +6 -0
  21. package/dist/cjs/vercel/build/config/vc-build-output-config-base.cjs +33 -0
  22. package/dist/cjs/vercel/build/config/vc-build-output-config-base.js +30 -0
  23. package/dist/cjs/vercel/build/config/vc-build-output-config-base.js.map +6 -0
  24. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js +35 -0
  25. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +6 -0
  26. package/dist/cjs/vercel/build/config/vc-config-base.cjs +45 -0
  27. package/dist/cjs/vercel/build/config/vc-config-base.js +40 -0
  28. package/dist/cjs/vercel/build/config/vc-config-base.js.map +6 -0
  29. package/dist/cjs/vercel/build/config/vc-config-base.native.js +33 -0
  30. package/dist/cjs/vercel/build/config/vc-config-base.native.js.map +6 -0
  31. package/dist/cjs/vercel/build/config/vc-package-base.cjs +28 -0
  32. package/dist/cjs/vercel/build/config/vc-package-base.js +21 -0
  33. package/dist/cjs/vercel/build/config/vc-package-base.js.map +6 -0
  34. package/dist/cjs/vercel/build/config/vc-package-base.native.js +28 -0
  35. package/dist/cjs/vercel/build/config/vc-package-base.native.js.map +6 -0
  36. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +58 -0
  37. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js +63 -0
  38. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js.map +6 -0
  39. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +52 -0
  40. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +6 -0
  41. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.cjs +103 -0
  42. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js +106 -0
  43. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js.map +6 -0
  44. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js +95 -0
  45. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +6 -0
  46. package/dist/cjs/views/Navigator.cjs +1 -2
  47. package/dist/cjs/views/Navigator.js +2 -2
  48. package/dist/cjs/views/Navigator.js.map +1 -1
  49. package/dist/cjs/views/Navigator.native.js +2 -2
  50. package/dist/cjs/views/Navigator.native.js.map +2 -2
  51. package/dist/cjs/views/OneStackRouter.cjs +1 -12
  52. package/dist/cjs/views/OneStackRouter.js +1 -12
  53. package/dist/cjs/views/OneStackRouter.js.map +2 -2
  54. package/dist/cjs/views/OneStackRouter.native.js +1 -5
  55. package/dist/cjs/views/OneStackRouter.native.js.map +2 -2
  56. package/dist/cjs/vite/one-server-only.cjs +3 -1
  57. package/dist/cjs/vite/one-server-only.js +1 -1
  58. package/dist/cjs/vite/one-server-only.js.map +1 -1
  59. package/dist/cjs/vite/types.native.js.map +1 -1
  60. package/dist/esm/cli/build.js +14 -30
  61. package/dist/esm/cli/build.js.map +1 -1
  62. package/dist/esm/cli/build.mjs +15 -22
  63. package/dist/esm/cli/build.mjs.map +1 -1
  64. package/dist/esm/cli/build.native.js +16 -25
  65. package/dist/esm/cli/build.native.js.map +1 -1
  66. package/dist/esm/cli.js +0 -4
  67. package/dist/esm/cli.js.map +1 -1
  68. package/dist/esm/cli.mjs +0 -4
  69. package/dist/esm/cli.mjs.map +1 -1
  70. package/dist/esm/cli.native.js +0 -4
  71. package/dist/esm/cli.native.js.map +1 -1
  72. package/dist/esm/serve.js +1 -2
  73. package/dist/esm/serve.js.map +1 -1
  74. package/dist/esm/serve.mjs +1 -2
  75. package/dist/esm/serve.mjs.map +1 -1
  76. package/dist/esm/serve.native.js +1 -2
  77. package/dist/esm/serve.native.js.map +1 -1
  78. package/dist/esm/vercel/build/buildVercelOutputDirectory.js +85 -0
  79. package/dist/esm/vercel/build/buildVercelOutputDirectory.js.map +6 -0
  80. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs +69 -0
  81. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -0
  82. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +107 -0
  83. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -0
  84. package/dist/esm/vercel/build/config/vc-build-output-config-base.js +14 -0
  85. package/dist/esm/vercel/build/config/vc-build-output-config-base.js.map +6 -0
  86. package/dist/esm/vercel/build/config/vc-build-output-config-base.mjs +10 -0
  87. package/dist/esm/vercel/build/config/vc-build-output-config-base.mjs.map +1 -0
  88. package/dist/esm/vercel/build/config/vc-build-output-config-base.native.js +10 -0
  89. package/dist/esm/vercel/build/config/vc-build-output-config-base.native.js.map +1 -0
  90. package/dist/esm/vercel/build/config/vc-config-base.js +24 -0
  91. package/dist/esm/vercel/build/config/vc-config-base.js.map +6 -0
  92. package/dist/esm/vercel/build/config/vc-config-base.mjs +22 -0
  93. package/dist/esm/vercel/build/config/vc-config-base.mjs.map +1 -0
  94. package/dist/esm/vercel/build/config/vc-config-base.native.js +10 -0
  95. package/dist/esm/vercel/build/config/vc-config-base.native.js.map +1 -0
  96. package/dist/esm/vercel/build/config/vc-package-base.js +5 -0
  97. package/dist/esm/vercel/build/config/vc-package-base.js.map +6 -0
  98. package/dist/esm/vercel/build/config/vc-package-base.mjs +5 -0
  99. package/dist/esm/vercel/build/config/vc-package-base.mjs.map +1 -0
  100. package/dist/esm/vercel/build/config/vc-package-base.native.js +5 -0
  101. package/dist/esm/vercel/build/config/vc-package-base.native.js.map +1 -0
  102. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js +42 -0
  103. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js.map +6 -0
  104. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +24 -0
  105. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -0
  106. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +24 -0
  107. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -0
  108. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js +85 -0
  109. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js.map +6 -0
  110. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs +69 -0
  111. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -0
  112. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js +69 -0
  113. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -0
  114. package/dist/esm/views/Navigator.js +2 -3
  115. package/dist/esm/views/Navigator.js.map +1 -1
  116. package/dist/esm/views/Navigator.mjs +2 -3
  117. package/dist/esm/views/Navigator.mjs.map +1 -1
  118. package/dist/esm/views/Navigator.native.js +2 -3
  119. package/dist/esm/views/Navigator.native.js.map +1 -1
  120. package/dist/esm/views/OneStackRouter.js +1 -12
  121. package/dist/esm/views/OneStackRouter.js.map +2 -2
  122. package/dist/esm/views/OneStackRouter.mjs +1 -12
  123. package/dist/esm/views/OneStackRouter.mjs.map +1 -1
  124. package/dist/esm/views/OneStackRouter.native.js +1 -4
  125. package/dist/esm/views/OneStackRouter.native.js.map +1 -1
  126. package/dist/esm/vite/one-server-only.js +1 -1
  127. package/dist/esm/vite/one-server-only.js.map +1 -1
  128. package/dist/esm/vite/one-server-only.mjs +3 -1
  129. package/dist/esm/vite/one-server-only.mjs.map +1 -1
  130. package/package.json +9 -8
  131. package/src/cli/build.ts +34 -31
  132. package/src/cli.ts +0 -4
  133. package/src/serve.ts +0 -1
  134. package/src/server/createRoutesManifest.ts +1 -1
  135. package/src/vercel/build/buildVercelOutputDirectory.ts +126 -0
  136. package/src/vercel/build/config/vc-build-output-config-base.ts +12 -0
  137. package/src/vercel/build/config/vc-config-base.ts +22 -0
  138. package/src/vercel/build/config/vc-package-base.ts +1 -0
  139. package/src/vercel/build/generate/createApiServerlessFunction.ts +66 -0
  140. package/src/vercel/build/generate/createSsrServerlessFunction.ts +108 -0
  141. package/src/views/Navigator.tsx +2 -3
  142. package/src/views/OneStackRouter.tsx +36 -11
  143. package/src/vite/one-server-only.tsx +6 -1
  144. package/src/vite/types.ts +2 -3
  145. package/types/cli/build.d.ts.map +1 -1
  146. package/types/serve.d.ts +1 -8
  147. package/types/serve.d.ts.map +1 -1
  148. package/types/server/createRoutesManifest.d.ts +1 -1
  149. package/types/server/createRoutesManifest.d.ts.map +1 -1
  150. package/types/vercel/build/buildVercelOutputDirectory.d.ts +10 -0
  151. package/types/vercel/build/buildVercelOutputDirectory.d.ts.map +1 -0
  152. package/types/vercel/build/config/vc-build-output-config-base.d.ts +8 -0
  153. package/types/vercel/build/config/vc-build-output-config-base.d.ts.map +1 -0
  154. package/types/vercel/build/config/vc-config-base.d.ts +9 -0
  155. package/types/vercel/build/config/vc-config-base.d.ts.map +1 -0
  156. package/types/vercel/build/config/vc-package-base.d.ts +4 -0
  157. package/types/vercel/build/config/vc-package-base.d.ts.map +1 -0
  158. package/types/vercel/build/generate/createApiServerlessFunction.d.ts +2 -0
  159. package/types/vercel/build/generate/createApiServerlessFunction.d.ts.map +1 -0
  160. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts +3 -0
  161. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts.map +1 -0
  162. package/types/views/Navigator.d.ts.map +1 -1
  163. package/types/views/OneStackRouter.d.ts.map +1 -1
  164. package/types/vite/one-server-only.d.ts.map +1 -1
  165. package/types/vite/types.d.ts +3 -3
  166. package/types/vite/types.d.ts.map +1 -1
@@ -1,12 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useNavigationBuilder } from "@react-navigation/native";
2
+ import { StackRouter, useNavigationBuilder } from "@react-navigation/native";
3
3
  import * as React from "react";
4
4
  import { SafeAreaView } from "react-native-safe-area-context";
5
5
  import { useFilterScreenChildren } from "../layouts/withLayoutContext.native.js";
6
6
  import { useContextKey } from "../router/Route.native.js";
7
7
  import { useSortedScreens } from "../router/useScreens.native.js";
8
8
  import { Screen } from "./Screen.native.js";
9
- import { CustomStackRouter } from "./OneStackRouter.native.js";
10
9
  var NavigatorContext = /* @__PURE__ */React.createContext(null);
11
10
  process.env.NODE_ENV !== "production" && (NavigatorContext.displayName = "NavigatorContext");
12
11
  function Navigator(param) {
@@ -41,7 +40,7 @@ function QualifiedNavigator(param) {
41
40
  children,
42
41
  screens,
43
42
  contextKey,
44
- router = CustomStackRouter
43
+ router = StackRouter
45
44
  } = param,
46
45
  {
47
46
  state,
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","useNavigationBuilder","React","SafeAreaView","useFilterScreenChildren","useContextKey","useSortedScreens","Screen","CustomStackRouter","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","param","initialRouteName","screenOptions","children","router","contextKey","screens","otherSlot","isCustomNavigator","sorted","length","QualifiedNavigator","console","warn","state","navigation","descriptors","NavigationContent","id","value","useMemo","Provider","useNavigatorContext","context","useContext","Error","useSlot","_descriptors_current_key","current","routes","find","route","i","index","_descriptors_current_key_render","key","render","Slot","memo","props","QualifiedSlot"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","StackRouter","useNavigationBuilder","React","SafeAreaView","useFilterScreenChildren","useContextKey","useSortedScreens","Screen","NavigatorContext","createContext","process","env","NODE_ENV","displayName","Navigator","param","initialRouteName","screenOptions","children","router","contextKey","screens","otherSlot","isCustomNavigator","sorted","length","QualifiedNavigator","console","warn","state","navigation","descriptors","NavigationContent","id","value","useMemo","Provider","useNavigatorContext","context","useContext","Error","useSlot","_descriptors_current_key","current","routes","find","route","i","index","_descriptors_current_key_render","key","render","Slot","memo","props","QualifiedSlot"],"sources":["../../../src/views/Navigator.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,18 +5,7 @@ const CustomStackRouter = (options) => {
5
5
  const next = og(state, action, options2);
6
6
  if (action.type === "NAVIGATE" && next?.routes) {
7
7
  const outRoutes = next.routes, firstRoute = outRoutes[0];
8
- if (firstRoute.name.includes("[...") && outRoutes.every((x) => x.name === firstRoute.name)) {
9
- const next2 = { ...firstRoute };
10
- next2.params = outRoutes[outRoutes.length - 1].params;
11
- const routes = [next2];
12
- return {
13
- ...next2,
14
- routes,
15
- preloadedRoutes: state.preloadedRoutes.filter(
16
- (route) => routes[routes.length - 1].key !== route.key
17
- )
18
- };
19
- }
8
+ firstRoute.name.includes("[...") && outRoutes.every((x) => x.name === firstRoute.name);
20
9
  }
21
10
  return next;
22
11
  }, router;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/views/OneStackRouter.tsx"],
4
- "mappings": "AAGA,SAAS,mBAA4C;AAE9C,MAAM,oBAAoB,CAAC,YAAgC;AAChE,QAAM,SAAS,YAAY,OAAO,GAE5B,KAAK,OAAO,kBAAkB,KAAK,MAAM;AAE/C,gBAAO,oBAAoB,CAAC,OAAO,QAAQA,aAAY;AACrD,UAAM,OAAO,GAAG,OAAO,QAAQA,QAAO;AASpC,QAAI,OAAO,SAAS,cACd,MAAM,QAAQ;AAChB,YAAM,YAAY,KAAK,QAEjB,aAAa,UAAU,CAAC;AAC9B,UAAI,WAAW,KAAK,SAAS,MAAM,KAC7B,UAAU,MAAM,CAAC,MAAM,EAAE,SAAS,WAAW,IAAI,GAAG;AAEtD,cAAMC,QAAO,EAAE,GAAG,WAAW;AAC7B,QAAAA,MAAK,SAAS,UAAU,UAAU,SAAS,CAAC,EAAE;AAC9C,cAAM,SAAS,CAACA,KAAI;AACpB,eAAO;AAAA,UACL,GAAGA;AAAA,UACH;AAAA,UACA,iBAAiB,MAAM,gBAAgB;AAAA,YACrC,CAAC,UAAU,OAAO,OAAO,SAAS,CAAC,EAAE,QAAQ,MAAM;AAAA,UACrD;AAAA,QACF;AAAA,MACF;AAAA,IAEJ;AAIJ,WAAO;AAAA,EACT,GAGO;AACT;",
5
- "names": ["options", "next"]
4
+ "mappings": "AAGA,SAAS,mBAA4C;AAE9C,MAAM,oBAAoB,CAAC,YAAgC;AAChE,QAAM,SAAS,YAAY,OAAO,GAE5B,KAAK,OAAO,kBAAkB,KAAK,MAAM;AAC/C,gBAAO,oBAAoB,CAAC,OAAO,QAAQA,aAAY;AACrD,UAAM,OAAO,GAAG,OAAO,QAAQA,QAAO;AASpC,QAAI,OAAO,SAAS,cACd,MAAM,QAAQ;AAChB,YAAM,YAAY,KAAK,QAEjB,aAAa,UAAU,CAAC;AAC9B,MAAI,WAAW,KAAK,SAAS,MAAM,KAC7B,UAAU,MAAM,CAAC,MAAM,EAAE,SAAS,WAAW,IAAI;AAAA,IAwCzD;AAIJ,WAAO;AAAA,EACT,GAGO;AACT;",
5
+ "names": ["options"]
6
6
  }
@@ -7,18 +7,7 @@ const CustomStackRouter = options => {
7
7
  if (action.type === "NAVIGATE" && next?.routes) {
8
8
  const outRoutes = next.routes,
9
9
  firstRoute = outRoutes[0];
10
- if (firstRoute.name.includes("[...") && outRoutes.every(x => x.name === firstRoute.name)) {
11
- const next2 = {
12
- ...firstRoute
13
- };
14
- next2.params = outRoutes[outRoutes.length - 1].params;
15
- const routes = [next2];
16
- return {
17
- ...next2,
18
- routes,
19
- preloadedRoutes: state.preloadedRoutes.filter(route => routes[routes.length - 1].key !== route.key)
20
- };
21
- }
10
+ firstRoute.name.includes("[...") && outRoutes.every(x => x.name === firstRoute.name);
22
11
  }
23
12
  return next;
24
13
  }, router;
@@ -1 +1 @@
1
- {"version":3,"names":["StackRouter","CustomStackRouter","options","router","og","getStateForAction","bind","state","action","options2","next","type","routes","outRoutes","firstRoute","name","includes","every","x","next2","params","length","preloadedRoutes","filter","route","key"],"sources":["../../../src/views/OneStackRouter.tsx"],"sourcesContent":[null],"mappings":"AAGA,SAASA,WAAA,QAA4C;AAE9C,MAAMC,iBAAA,GAAqBC,OAAA,IAAgC;EAChE,MAAMC,MAAA,GAASH,WAAA,CAAYE,OAAO;IAE5BE,EAAA,GAAKD,MAAA,CAAOE,iBAAA,CAAkBC,IAAA,CAAKH,MAAM;EAE/C,OAAAA,MAAA,CAAOE,iBAAA,GAAoB,CAACE,KAAA,EAAOC,MAAA,EAAQC,QAAA,KAAY;IACrD,MAAMC,IAAA,GAAON,EAAA,CAAGG,KAAA,EAAOC,MAAA,EAAQC,QAAO;IASpC,IAAID,MAAA,CAAOG,IAAA,KAAS,cACdD,IAAA,EAAME,MAAA,EAAQ;MAChB,MAAMC,SAAA,GAAYH,IAAA,CAAKE,MAAA;QAEjBE,UAAA,GAAaD,SAAA,CAAU,CAAC;MAC9B,IAAIC,UAAA,CAAWC,IAAA,CAAKC,QAAA,CAAS,MAAM,KAC7BH,SAAA,CAAUI,KAAA,CAAOC,CAAA,IAAMA,CAAA,CAAEH,IAAA,KAASD,UAAA,CAAWC,IAAI,GAAG;QAEtD,MAAMI,KAAA,GAAO;UAAE,GAAGL;QAAW;QAC7BK,KAAA,CAAKC,MAAA,GAASP,SAAA,CAAUA,SAAA,CAAUQ,MAAA,GAAS,CAAC,EAAED,MAAA;QAC9C,MAAMR,MAAA,GAAS,CAACO,KAAI;QACpB,OAAO;UACL,GAAGA,KAAA;UACHP,MAAA;UACAU,eAAA,EAAiBf,KAAA,CAAMe,eAAA,CAAgBC,MAAA,CACpCC,KAAA,IAAUZ,MAAA,CAAOA,MAAA,CAAOS,MAAA,GAAS,CAAC,EAAEI,GAAA,KAAQD,KAAA,CAAMC,GACrD;QACF;MACF;IAEJ;IAIJ,OAAOf,IAAA;EACT,GAGOP,MAAA;AACT","ignoreList":[]}
1
+ {"version":3,"names":["StackRouter","CustomStackRouter","options","router","og","getStateForAction","bind","state","action","options2","next","type","routes","outRoutes","firstRoute","name","includes","every","x"],"sources":["../../../src/views/OneStackRouter.tsx"],"sourcesContent":[null],"mappings":"AAGA,SAASA,WAAA,QAA4C;AAE9C,MAAMC,iBAAA,GAAqBC,OAAA,IAAgC;EAChE,MAAMC,MAAA,GAASH,WAAA,CAAYE,OAAO;IAE5BE,EAAA,GAAKD,MAAA,CAAOE,iBAAA,CAAkBC,IAAA,CAAKH,MAAM;EAC/C,OAAAA,MAAA,CAAOE,iBAAA,GAAoB,CAACE,KAAA,EAAOC,MAAA,EAAQC,QAAA,KAAY;IACrD,MAAMC,IAAA,GAAON,EAAA,CAAGG,KAAA,EAAOC,MAAA,EAAQC,QAAO;IASpC,IAAID,MAAA,CAAOG,IAAA,KAAS,cACdD,IAAA,EAAME,MAAA,EAAQ;MAChB,MAAMC,SAAA,GAAYH,IAAA,CAAKE,MAAA;QAEjBE,UAAA,GAAaD,SAAA,CAAU,CAAC;MAC1BC,UAAA,CAAWC,IAAA,CAAKC,QAAA,CAAS,MAAM,KAC7BH,SAAA,CAAUI,KAAA,CAAOC,CAAA,IAAMA,CAAA,CAAEH,IAAA,KAASD,UAAA,CAAWC,IAAI;IAwCzD;IAIJ,OAAOL,IAAA;EACT,GAGOP,MAAA;AACT","ignoreList":[]}
@@ -4,10 +4,7 @@ var CustomStackRouter = function (options) {
4
4
  og = router.getStateForAction.bind(router);
5
5
  return router.getStateForAction = function (state, action, options2) {
6
6
  var next = og(state, action, options2);
7
- if (0 && action.type === "NAVIGATE" && next?.routes) {
8
- var outRoutes, firstRoute;
9
- if (firstRoute.name.includes("[...") && outRoutes.every(function (x) {})) var next1, routes;
10
- }
7
+ if (0 && action.type === "NAVIGATE" && next?.routes) var outRoutes, firstRoute;
11
8
  return next;
12
9
  }, router;
13
10
  };
@@ -1 +1 @@
1
- {"version":3,"names":["StackRouter","CustomStackRouter","options","router","og","getStateForAction","bind","state","action","options2","next","type","routes","outRoutes","firstRoute","name","includes","every","x","next1"],"sources":["../../../src/views/OneStackRouter.tsx"],"sourcesContent":[null],"mappings":"AAGA,SAASA,WAAA,QAA4C;AAE9C,IAAAC,iBAAM,YAAAA,CAAqBC,OAAgC;EAChE,IAAAC,MAAM,GAAAH,WAAS,CAAAE,OAAY;IAAOE,EAE5B,GAAAD,MAAK,CAAAE,iBAAO,CAAAC,IAAkB,CAAAH,MAAK;EAEzC,OAAAA,MAAA,CAAOE,iBAAA,GAAoB,UAAQE,KAAA,EAAQC,MAAA,EAAAC,QAAY;IACrD,IAAAC,IAAM,GAAAN,EAAO,CAAAG,KAAG,EAAAC,MAAO,EAAAC,QAAQ;IAS7B,IAAI,KAAAD,MAAO,CAAAG,IAAS,eACd,IAAAD,IAAM,EAAAE,MAAQ;MAChB,IAAAC,SAAM,EAAAC,UAAiB;MAGvB,IAAIA,UAAA,CAAWC,IAAA,CAAKC,QAAA,CAAS,MAAM,KAC7BH,SAAA,CAAUI,KAAA,CAAM,UAASC,CAAA,GAE3B,IACA,IAAAC,KAAK,EAAAP,MAAS;IACd;IACA,OAAAF,IAAO;EAAA,GAAAP,MACL;AAAG;AACH,SACuCF,iBACpC","ignoreList":[]}
1
+ {"version":3,"names":["StackRouter","CustomStackRouter","options","router","og","getStateForAction","bind","state","action","options2","next","type","routes","outRoutes","firstRoute"],"sources":["../../../src/views/OneStackRouter.tsx"],"sourcesContent":[null],"mappings":"AAGA,SAASA,WAAA,QAA4C;AAE9C,IAAAC,iBAAM,YAAAA,CAAqBC,OAAgC;EAChE,IAAAC,MAAM,GAAAH,WAAS,CAAAE,OAAY;IAAOE,EAE5B,GAAAD,MAAK,CAAAE,iBAAO,CAAAC,IAAkB,CAAAH,MAAK;EACzC,OAAAA,MAAA,CAAOE,iBAAA,GAAoB,UAAQE,KAAA,EAAQC,MAAA,EAAAC,QAAY;IACrD,IAAAC,IAAM,GAAAN,EAAO,CAAAG,KAAG,EAAAC,MAAO,EAAAC,QAAQ;IAS7B,IAAI,KAAAD,MAAO,CAAAG,IAAS,eACd,IAAAD,IAAM,EAAAE,MAAQ,EAChB,IAAAC,SAAM,EAAAC,UAAiB;IAGvB,OAAIJ,IAAA;EACmD,GAwCzDP,MAAA;AAIJ;AAAO,SAKXF,iBAAA","ignoreList":[]}
@@ -25,7 +25,7 @@ function mergeHeaders(onto, from) {
25
25
  });
26
26
  }
27
27
  function ensureAsyncLocalID() {
28
- const id = requestAsyncLocalStore?.getStore();
28
+ const id = process.env.VERCEL ? { _id: Math.random() } : requestAsyncLocalStore?.getStore();
29
29
  if (!id)
30
30
  throw new Error("Internal One error, no AsyncLocalStorage id!");
31
31
  return id;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/vite/one-server-only.tsx"],
4
- "mappings": "AAQA,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAKnC,MAAM,MAAM,gCACN,OAAO,MAAM,WAAW,GAAG,GAE3B,oBAAoB;AAAA,EACxB,IAAI,UAAU;AACZ,QAAI,KAAK,EAAG,QAAO,KAAK;AACxB,UAAM,IAAI,IAAI,kBAAkB;AAChC,sBAAW,GAAG,IAAI,GACX;AAAA,EACT;AACF,GAEa,yBACX,QAAQ,IAAI,qBAAqB,QAAQ,kBAAkB,UAAU,MAEjE,WAAW,oBAAI,QAAsB,GAE9B,oBACV,WAAW,2BAAkD;AAEhE,WAAW,4BAA+B;AAE1C,eAAsB,yBAA4B,IAA4C;AAC5F,QAAM,KAAK,EAAE,KAAK,KAAK,OAAO,EAAE;AAChC,MAAI,MAAS;AACb,eAAM,kBAAkB,QAAS,IAAI,IAAI,YAAY;AACnD,UAAM,MAAM,GAAG,EAAE;AAAA,EACnB,CAAC,GACM;AACT;AAEA,eAAsB,mBAAmB,IAAgC;AACvE,QAAM,KAAK,mBAAmB,GACxB,UAAU,kBAAkB,IAAI,EAAE,KAAK,IAAI,QAAQ;AACzD,oBAAkB,IAAI,IAAI,OAAO,GACjC,GAAG,OAAO;AACZ;AAEO,SAAS,aAAa,MAAe,MAAe;AACzD,OAAK,QAAQ,CAAC,OAAOA,SAAQ;AAC3B,IAAI,UAAU,UAAa,UAAU,cACnC,KAAK,OAAOA,IAAG,IAEf,KAAK,OAAOA,MAAK,KAAK;AAAA,EAE1B,CAAC;AACH;AAEO,SAAS,qBAAqB;AACnC,QAAM,KAAK,wBAAwB,SAAS;AAE5C,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,8CAA8C;AAGhE,SAAO;AACT;AAIA,MAAM,iBAAiB,oBAAI,QAAgC;AAEpD,SAAS,iBAAiB,MAAyB;AACxD,MAAI,QAAQ,IAAI,qBAAqB,OAAO;AAC1C,UAAM,KAAK,mBAAmB;AAC9B,IAAK,eAAe,IAAI,EAAE,KACxB,eAAe,IAAI,IAAI,CAAC,CAAC;AAG3B,UAAM,UAAU,eAAe,IAAI,EAAE;AACrC,WAAO,OAAO,SAAS,IAAI;AAAA,EAC7B;AACE,UAAM,IAAI,MAAM,uCAAuC;AAE3D;AAEO,SAAS,mBAAmB;AASjC,UARa,MAAM;AACjB,QAAI,QAAQ,IAAI,qBAAqB,OAAO;AAC1C,YAAM,KAAK,mBAAmB;AAC9B,aAAO,eAAe,IAAI,EAAE;AAAA,IAC9B;AACA,WAAO,WAAW,kBAAkB;AAAA,EACtC,GAAG;AAGL;AAEO,SAAS,mBAAmB;AACjC,MAAI,QAAQ,IAAI,qBAAqB;AACnC,QAAI;AACF,YAAM,aAAa,WAAW;AAC9B,UAAI;AACF,eAAO,eAAe,IAAI,WAAW,CAAC;AAAA,IAE1C,QAAQ;AAAA,IAER;AAGF,SAAO,iBAAiB;AAC1B;AAQO,SAAS,cACdA,MACA,OACA;AACA,MAAI,QAAQ,IAAI,qBAAqB,OAAO;AAC1C,UAAM,UAAU,iBAAiB;AACjC,qBAAiB;AAAA,MACf,gBAAgB;AAAA,QACd,GAAG,SAAS;AAAA,QACZ,CAACA,IAAG,GAAG;AAAA,MACT;AAAA,IACF,CAAC;AAAA,EACH;AACE,UAAM,IAAI,MAAM,2BAA2B,QAAQ,IAAI,gBAAgB,eAAe;AAE1F;AAKO,SAAS,cAAcA,MAA2B;AACvD,MAAI,QAAQ,IAAI,qBAAqB;AACnC,UAAM,IAAI,MAAM,oCAAoC;AAEtD,MAAI,QAAQ,IAAI,qBAAqB;AACnC,WAAO,iBAAiB,GAAG,iBAAiBA,IAAG;AAEnD;",
4
+ "mappings": "AAQA,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAKnC,MAAM,MAAM,gCACN,OAAO,MAAM,WAAW,GAAG,GAE3B,oBAAoB;AAAA,EACxB,IAAI,UAAU;AACZ,QAAI,KAAK,EAAG,QAAO,KAAK;AACxB,UAAM,IAAI,IAAI,kBAAkB;AAChC,sBAAW,GAAG,IAAI,GACX;AAAA,EACT;AACF,GAEa,yBACX,QAAQ,IAAI,qBAAqB,QAAQ,kBAAkB,UAAU,MAEjE,WAAW,oBAAI,QAAsB,GAE9B,oBACV,WAAW,2BAAkD;AAEhE,WAAW,4BAA+B;AAE1C,eAAsB,yBAA4B,IAA4C;AAC5F,QAAM,KAAK,EAAE,KAAK,KAAK,OAAO,EAAE;AAChC,MAAI,MAAS;AACb,eAAM,kBAAkB,QAAS,IAAI,IAAI,YAAY;AACnD,UAAM,MAAM,GAAG,EAAE;AAAA,EACnB,CAAC,GACM;AACT;AAEA,eAAsB,mBAAmB,IAAgC;AACvE,QAAM,KAAK,mBAAmB,GACxB,UAAU,kBAAkB,IAAI,EAAE,KAAK,IAAI,QAAQ;AACzD,oBAAkB,IAAI,IAAI,OAAO,GACjC,GAAG,OAAO;AACZ;AAEO,SAAS,aAAa,MAAe,MAAe;AACzD,OAAK,QAAQ,CAAC,OAAOA,SAAQ;AAC3B,IAAI,UAAU,UAAa,UAAU,cACnC,KAAK,OAAOA,IAAG,IAEf,KAAK,OAAOA,MAAK,KAAK;AAAA,EAE1B,CAAC;AACH;AAEO,SAAS,qBAAqB;AAMnC,QAAM,KAAK,QAAQ,IAAI,SAAS,EAAE,KAAK,KAAK,OAAO,EAAE,IAAI,wBAAwB,SAAS;AAE1F,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,8CAA8C;AAGhE,SAAO;AACT;AAIA,MAAM,iBAAiB,oBAAI,QAAgC;AAEpD,SAAS,iBAAiB,MAAyB;AACxD,MAAI,QAAQ,IAAI,qBAAqB,OAAO;AAC1C,UAAM,KAAK,mBAAmB;AAC9B,IAAK,eAAe,IAAI,EAAE,KACxB,eAAe,IAAI,IAAI,CAAC,CAAC;AAG3B,UAAM,UAAU,eAAe,IAAI,EAAE;AACrC,WAAO,OAAO,SAAS,IAAI;AAAA,EAC7B;AACE,UAAM,IAAI,MAAM,uCAAuC;AAE3D;AAEO,SAAS,mBAAmB;AASjC,UARa,MAAM;AACjB,QAAI,QAAQ,IAAI,qBAAqB,OAAO;AAC1C,YAAM,KAAK,mBAAmB;AAC9B,aAAO,eAAe,IAAI,EAAE;AAAA,IAC9B;AACA,WAAO,WAAW,kBAAkB;AAAA,EACtC,GAAG;AAGL;AAEO,SAAS,mBAAmB;AACjC,MAAI,QAAQ,IAAI,qBAAqB;AACnC,QAAI;AACF,YAAM,aAAa,WAAW;AAC9B,UAAI;AACF,eAAO,eAAe,IAAI,WAAW,CAAC;AAAA,IAE1C,QAAQ;AAAA,IAER;AAGF,SAAO,iBAAiB;AAC1B;AAQO,SAAS,cACdA,MACA,OACA;AACA,MAAI,QAAQ,IAAI,qBAAqB,OAAO;AAC1C,UAAM,UAAU,iBAAiB;AACjC,qBAAiB;AAAA,MACf,gBAAgB;AAAA,QACd,GAAG,SAAS;AAAA,QACZ,CAACA,IAAG,GAAG;AAAA,MACT;AAAA,IACF,CAAC;AAAA,EACH;AACE,UAAM,IAAI,MAAM,2BAA2B,QAAQ,IAAI,gBAAgB,eAAe;AAE1F;AAKO,SAAS,cAAcA,MAA2B;AACvD,MAAI,QAAQ,IAAI,qBAAqB;AACnC,UAAM,IAAI,MAAM,oCAAoC;AAEtD,MAAI,QAAQ,IAAI,qBAAqB;AACnC,WAAO,iBAAiB,GAAG,iBAAiBA,IAAG;AAEnD;",
5
5
  "names": ["key"]
6
6
  }
@@ -33,7 +33,9 @@ function mergeHeaders(onto, from) {
33
33
  });
34
34
  }
35
35
  function ensureAsyncLocalID() {
36
- const id = requestAsyncLocalStore?.getStore();
36
+ const id = process.env.VERCEL ? {
37
+ _id: Math.random()
38
+ } : requestAsyncLocalStore?.getStore();
37
39
  if (!id) throw new Error("Internal One error, no AsyncLocalStorage id!");
38
40
  return id;
39
41
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncLocalStorage","SERVER_CONTEXT_KEY","key","read","globalThis","ASYNC_LOCAL_STORE","current","_","requestAsyncLocalStore","process","env","VITE_ENVIRONMENT","newCache","WeakMap","asyncHeadersCache","__vxrnasyncHeadersCache","runWithAsyncLocalContext","cb","id","_id","Math","random","out","run","setResponseHeaders","ensureAsyncLocalID","headers","get","Headers","set","mergeHeaders","onto","from","forEach","value","key2","delete","append","getStore","Error","serverContexts","setServerContext","data","has","context","Object","assign","getServerContext","useServerContext","useContext","__vxrnGetContextFromReactContext","setServerData","postRenderData","getServerData"],"sources":["../../../src/vite/one-server-only.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AsyncLocalStorage","SERVER_CONTEXT_KEY","key","read","globalThis","ASYNC_LOCAL_STORE","current","_","requestAsyncLocalStore","process","env","VITE_ENVIRONMENT","newCache","WeakMap","asyncHeadersCache","__vxrnasyncHeadersCache","runWithAsyncLocalContext","cb","id","_id","Math","random","out","run","setResponseHeaders","ensureAsyncLocalID","headers","get","Headers","set","mergeHeaders","onto","from","forEach","value","key2","delete","append","VERCEL","getStore","Error","serverContexts","setServerContext","data","has","context","Object","assign","getServerContext","useServerContext","useContext","__vxrnGetContextFromReactContext","setServerData","postRenderData","getServerData"],"sources":["../../../src/vite/one-server-only.tsx"],"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.449",
3
+ "version": "1.1.451",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -94,15 +94,15 @@
94
94
  "@react-navigation/routers": "~7",
95
95
  "@swc/core": "^1.10.4",
96
96
  "@ungap/structured-clone": "^1.2.0",
97
- "@vxrn/compiler": "1.1.449",
98
- "@vxrn/resolve": "1.1.449",
99
- "@vxrn/tslib-lite": "1.1.449",
100
- "@vxrn/universal-color-scheme": "1.1.449",
101
- "@vxrn/use-isomorphic-layout-effect": "1.1.449",
97
+ "@vxrn/compiler": "1.1.451",
98
+ "@vxrn/resolve": "1.1.451",
99
+ "@vxrn/tslib-lite": "1.1.451",
100
+ "@vxrn/universal-color-scheme": "1.1.451",
101
+ "@vxrn/use-isomorphic-layout-effect": "1.1.451",
102
102
  "babel-dead-code-elimination": "^1.0.9",
103
103
  "citty": "^0.1.6",
104
104
  "core-js": "^3.38.1",
105
- "create-vxrn": "1.1.449",
105
+ "create-vxrn": "1.1.451",
106
106
  "escape-string-regexp": "^5.0.0",
107
107
  "expo-linking": "~6.3.1",
108
108
  "expo-modules-core": "2.1.2",
@@ -124,11 +124,12 @@
124
124
  "react-native-safe-area-context": "4.10.5",
125
125
  "react-native-screens": "4.4.0",
126
126
  "react-scan": "^0.1.3",
127
+ "ts-pattern": "^5.6.2",
127
128
  "use-latest-callback": "^0.2.3",
128
129
  "vite": "^6.1.0",
129
130
  "vite-plugin-barrel": "^0.4.1",
130
131
  "vite-tsconfig-paths": "^5.0.1",
131
- "vxrn": "1.1.449",
132
+ "vxrn": "1.1.451",
132
133
  "ws": "^8.18.0",
133
134
  "xxhashjs": "^0.2.2"
134
135
  },
package/src/cli/build.ts CHANGED
@@ -12,6 +12,7 @@ import {
12
12
  build as vxrnBuild,
13
13
  type ClientManifestEntry,
14
14
  } from 'vxrn'
15
+
15
16
  import * as constants from '../constants'
16
17
  import { setServerGlobals } from '../server/setServerGlobals'
17
18
  import { toAbsolute } from '../utils/toAbsolute'
@@ -19,11 +20,13 @@ import { getManifest } from '../vite/getManifest'
19
20
  import { loadUserOneOptions } from '../vite/loadConfig'
20
21
  import { runWithAsyncLocalContext } from '../vite/one-server-only'
21
22
  import type { One, RouteInfo } from '../vite/types'
23
+ import { buildVercelOutputDirectory } from '../vercel/build/buildVercelOutputDirectory'
24
+
22
25
  import { buildPage } from './buildPage'
23
26
  import { checkNodeVersion } from './checkNodeVersion'
24
27
  import { labelProcess } from './label-process'
25
28
 
26
- const { ensureDir } = FSExtra
29
+ const { ensureDir, writeJSON } = FSExtra
27
30
 
28
31
  process.on('uncaughtException', (err) => {
29
32
  console.error(err?.message || err)
@@ -187,9 +190,10 @@ export async function build(args: {
187
190
  return output as RollupOutput
188
191
  }
189
192
 
193
+ let apiOutput: RollupOutput | null = null
190
194
  if (manifest.apiRoutes.length) {
191
195
  console.info(`\n 🔨 build api routes\n`)
192
- await buildCustomRoutes('api', manifest.apiRoutes)
196
+ apiOutput = await buildCustomRoutes('api', manifest.apiRoutes)
193
197
  }
194
198
 
195
199
  const builtMiddlewares: Record<string, string> = {}
@@ -483,50 +487,49 @@ export async function build(args: {
483
487
  constants: JSON.parse(JSON.stringify({ ...constants })) as any,
484
488
  }
485
489
 
486
- await FSExtra.writeJSON(toAbsolute(`dist/buildInfo.json`), buildInfoForWriting)
490
+ await writeJSON(toAbsolute(`dist/buildInfo.json`), buildInfoForWriting)
487
491
 
488
492
  let postBuildLogs: string[] = []
489
493
 
490
- const platform = oneOptions.web?.deploy ?? options.server?.platform
494
+ const platform = oneOptions.web?.deploy
495
+ postBuildLogs.push(`[one.build] platform ${platform}`)
491
496
 
492
497
  switch (platform) {
493
498
  case 'vercel': {
494
- await FSExtra.writeFile(
495
- join(options.root, 'dist', 'index.js'),
496
- `import { serve } from 'one/serve'
497
- export const handler = await serve()
498
- export const { GET, POST, PUT, PATCH, OPTIONS } = handler`
499
- )
500
-
501
- postBuildLogs.push(`wrote vercel entry to: ${join('.', 'dist', 'index.js')}`)
502
- postBuildLogs.push(`point vercel outputDirectory to dist`)
499
+ await buildVercelOutputDirectory({
500
+ apiOutput,
501
+ buildInfoForWriting,
502
+ clientDir,
503
+ oneOptionsRoot: options.root,
504
+ postBuildLogs,
505
+ })
503
506
 
504
507
  break
505
508
  }
506
509
 
507
- case 'cloudflare': {
508
- await FSExtra.writeFile(
509
- join(options.root, 'dist', 'worker.js'),
510
- `import { serve } from 'one/serve-worker'
510
+ // case 'cloudflare': {
511
+ // await FSExtra.writeFile(
512
+ // join(options.root, 'dist', 'worker.js'),
513
+ // `import { serve } from 'one/serve-worker'
511
514
 
512
- const buildInfo = ${JSON.stringify(buildInfoForWriting)}
515
+ // const buildInfo = ${JSON.stringify(buildInfoForWriting)}
513
516
 
514
- const handler = await serve(buildInfo)
517
+ // const handler = await serve(buildInfo)
515
518
 
516
- export default {
517
- fetch: handler.fetch,
518
- }`
519
- )
519
+ // export default {
520
+ // fetch: handler.fetch,
521
+ // }`
522
+ // )
520
523
 
521
- await FSExtra.writeFile(
522
- join(options.root, 'dist', 'wrangler.toml'),
523
- `assets = { directory = "client" }
524
- compatibility_date = "2024-12-05"
525
- `
526
- )
524
+ // await FSExtra.writeFile(
525
+ // join(options.root, 'dist', 'wrangler.toml'),
526
+ // `assets = { directory = "client" }
527
+ // compatibility_date = "2024-12-05"
528
+ // `
529
+ // )
527
530
 
528
- break
529
- }
531
+ // break
532
+ // }
530
533
  }
531
534
 
532
535
  if (process.env.VXRN_ANALYZE_BUNDLE) {
package/src/cli.ts CHANGED
@@ -138,9 +138,6 @@ const serveCommand = defineCommand({
138
138
  port: {
139
139
  type: 'string',
140
140
  },
141
- platform: {
142
- type: 'string',
143
- },
144
141
  compress: {
145
142
  type: 'boolean',
146
143
  },
@@ -154,7 +151,6 @@ const serveCommand = defineCommand({
154
151
  port: args.port ? +args.port : undefined,
155
152
  host: args.host,
156
153
  compress: args.compress,
157
- platform: args.platform === 'vercel' ? 'vercel' : 'node',
158
154
  loadEnv: !!args.loadEnv,
159
155
  })
160
156
  },
package/src/serve.ts CHANGED
@@ -41,7 +41,6 @@ export async function serve(args: VXRNOptions['server'] & { app?: Hono } = {}) {
41
41
  port: args.port ? +args.port : undefined,
42
42
  host: args.host,
43
43
  compress: args.compress,
44
- platform: args.platform,
45
44
  }),
46
45
 
47
46
  async beforeRegisterRoutes(options, app) {
@@ -3,7 +3,7 @@ import { getServerManifest } from './getServerManifest'
3
3
 
4
4
  import type { One, RouteInfo } from '../vite/types'
5
5
 
6
- export { type Options } from '../router/getRoutes'
6
+ export type { Options } from '../router/getRoutes'
7
7
 
8
8
  export type RouteInfoCompiled = RouteInfo & {
9
9
  compiledRegex: RegExp
@@ -0,0 +1,126 @@
1
+ import { join, resolve } from 'node:path'
2
+
3
+ import FSExtra from 'fs-extra'
4
+ import type { RollupOutput } from 'rollup'
5
+ import { isMatching, P } from 'ts-pattern'
6
+
7
+ import { createApiServerlessFunction } from './generate/createApiServerlessFunction'
8
+ import { createSsrServerlessFunction } from './generate/createSsrServerlessFunction'
9
+ import { serverlessVercelNodeJsConfig } from './config/vc-config-base'
10
+ import { serverlessVercelPackageJson } from './config/vc-package-base'
11
+ import { vercelBuildOutputConfig } from './config/vc-build-output-config-base'
12
+
13
+ import type { One } from '../../vite/types'
14
+
15
+ const { copy, ensureDir, writeJSON } = FSExtra
16
+
17
+ async function moveAllFiles(src: string, dest: string) {
18
+ try {
19
+ await copy(src, dest, { overwrite: true, errorOnExist: false })
20
+ } catch (err) {
21
+ console.error('Error moving files:', err)
22
+ }
23
+ }
24
+
25
+ export const buildVercelOutputDirectory = async ({
26
+ apiOutput,
27
+ buildInfoForWriting,
28
+ clientDir,
29
+ oneOptionsRoot,
30
+ postBuildLogs,
31
+ }: {
32
+ apiOutput: RollupOutput | null
33
+ buildInfoForWriting: One.BuildInfo
34
+ clientDir: string
35
+ oneOptionsRoot: string
36
+ postBuildLogs: string[]
37
+ }) => {
38
+ const { routeToBuildInfo } = buildInfoForWriting
39
+ if (apiOutput) {
40
+ const compiltedApiRoutes = (apiOutput?.output ?? []).filter((o) =>
41
+ isMatching({ code: P.string, facadeModuleId: P.string }, o)
42
+ )
43
+ for (const route of buildInfoForWriting.manifest.apiRoutes) {
44
+ const compiledRoute = compiltedApiRoutes.find((compiled) => {
45
+ const flag = compiled.facadeModuleId.includes(route.file.replace('./', ''))
46
+ return flag
47
+ })
48
+ if (compiledRoute) {
49
+ postBuildLogs.push(
50
+ `[one.build][vercel] generating serverless function for apiRoute ${route.page}`
51
+ )
52
+ await createApiServerlessFunction(
53
+ route.page,
54
+ compiledRoute.code,
55
+ oneOptionsRoot,
56
+ postBuildLogs
57
+ )
58
+ } else {
59
+ console.warn('\n 🔨[one.build][vercel] apiRoute missing code compilation for', route.file)
60
+ }
61
+ }
62
+ }
63
+
64
+ const vercelOutputFunctionsDir = join(oneOptionsRoot, 'dist', `.vercel/output/functions`)
65
+ await ensureDir(vercelOutputFunctionsDir)
66
+
67
+ for (const route of buildInfoForWriting.manifest.pageRoutes) {
68
+ switch (route.type) {
69
+ case 'ssr': {
70
+ // Server Side Rendered
71
+ const builtPageRoute = routeToBuildInfo[route.file]
72
+ if (builtPageRoute) {
73
+ postBuildLogs.push(
74
+ `[one.build][vercel] generate serverless function for ${route.page} with ${route.type}`
75
+ )
76
+ await createSsrServerlessFunction(
77
+ route.page,
78
+ buildInfoForWriting,
79
+ oneOptionsRoot,
80
+ postBuildLogs
81
+ )
82
+ }
83
+ break
84
+ }
85
+ default:
86
+ // no-op, these will be copied from built dist/client into .vercel/output/static
87
+ // postBuildLogs.push(`[one.build][vercel] pageRoute will be copied to .vercel/output/static for ${route.page} with ${route.type}`)
88
+ break
89
+ }
90
+ }
91
+
92
+ const vercelMiddlewareDir = join(oneOptionsRoot, 'dist', '.vercel/output/functions/_middleware')
93
+ await ensureDir(vercelMiddlewareDir)
94
+ postBuildLogs.push(
95
+ `[one.build][vercel] copying middlewares from ${join(oneOptionsRoot, 'dist', 'middlewares')} to ${vercelMiddlewareDir}`
96
+ )
97
+ await moveAllFiles(resolve(join(oneOptionsRoot, 'dist', 'middlewares')), vercelMiddlewareDir)
98
+ const vercelMiddlewarePackageJsonFilePath = resolve(join(vercelMiddlewareDir, 'index.js'))
99
+ postBuildLogs.push(
100
+ `[one.build][vercel] writing package.json to ${vercelMiddlewarePackageJsonFilePath}`
101
+ )
102
+ await writeJSON(vercelMiddlewarePackageJsonFilePath, serverlessVercelPackageJson)
103
+ postBuildLogs.push(
104
+ `[one.build][vercel] writing .vc-config.json to ${join(vercelMiddlewareDir, '.vc-config.json')}`
105
+ )
106
+ await writeJSON(resolve(join(vercelMiddlewareDir, '.vc-config.json')), {
107
+ ...serverlessVercelNodeJsConfig,
108
+ handler: '_middleware.js',
109
+ })
110
+
111
+ const vercelOutputStaticDir = resolve(join(oneOptionsRoot, 'dist', '.vercel/output/static'))
112
+ await ensureDir(vercelOutputStaticDir)
113
+
114
+ postBuildLogs.push(
115
+ `[one.build][vercel] copying static files from ${clientDir} to ${vercelOutputStaticDir}`
116
+ )
117
+ await moveAllFiles(clientDir, vercelOutputStaticDir)
118
+
119
+ // Documentation - Vercel Build Output v3 config.json
120
+ // https://vercel.com/docs/build-output-api/v3/configuration#config.json-supported-properties
121
+ const vercelConfigFilePath = resolve(
122
+ join(oneOptionsRoot, 'dist', '.vercel/output', 'config.json')
123
+ )
124
+ await writeJSON(vercelConfigFilePath, vercelBuildOutputConfig)
125
+ postBuildLogs.push(`[one.build] wrote vercel config to: ${vercelConfigFilePath}`)
126
+ }
@@ -0,0 +1,12 @@
1
+ // Documentation - Vercel Build Output v3 Config
2
+ // https://vercel.com/docs/build-output-api/v3/configuration#config.json-supported-properties
3
+ export const vercelBuildOutputConfig = {
4
+ version: 3,
5
+ // https://vercel.com/docs/build-output-api/v3/configuration#routes
6
+ routes: [
7
+ {
8
+ src: '/(.*)',
9
+ status: 200,
10
+ },
11
+ ],
12
+ }
@@ -0,0 +1,22 @@
1
+ // Documentation - Vercel Build Output v3 Node.js Config
2
+ // https://vercel.com/docs/build-output-api/v3/primitives#node.js-config
3
+ export const serverlessVercelNodeJsConfig = {
4
+ environment: {},
5
+ runtime: 'nodejs20.x',
6
+ handler: 'entrypoint/index.js',
7
+ launcherType: 'Nodejs',
8
+ shouldAddHelpers: true,
9
+ shouldAddSourceMapSupport: true,
10
+ // @TODO: We could support edge functions in the future.
11
+ // Requires a larger discusion of how to handle edge functions in general.
12
+ // +ssr-edge.tsx or +edge.tsx down the road.
13
+ // https://vercel.com/docs/build-output-api/v3/primitives#edge-functions
14
+ // runtime: 'edge',
15
+ // regions: 'all',
16
+ // @TODO: We could support ISR in the future as well.
17
+ // Requires a larger discusion of how to handle ISR in general.
18
+ // https://vercel.com/docs/build-output-api/v3/primitives#prerender-functions
19
+ // We would need to generate the bypassToken and copy *.html fallback files to the *.func folder.
20
+ // https://vercel.com/docs/build-output-api/v3/primitives#fallback-static-file
21
+ // bypassToken?: string;
22
+ }
@@ -0,0 +1 @@
1
+ export const serverlessVercelPackageJson = { type: 'module' }
@@ -0,0 +1,66 @@
1
+ import { join, resolve } from 'node:path'
2
+
3
+ import fs from 'fs-extra'
4
+
5
+ import { serverlessVercelPackageJson } from '../config/vc-package-base'
6
+ import { serverlessVercelNodeJsConfig } from '../config/vc-config-base'
7
+
8
+ // Documentation - Vercel Build Output v3
9
+ // https://vercel.com/docs/build-output-api/v3#build-output-api-v3
10
+ export async function createApiServerlessFunction(
11
+ pageName: string,
12
+ code: string,
13
+ oneOptionsRoot: string,
14
+ postBuildLogs: string[]
15
+ ) {
16
+ try {
17
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`)
18
+
19
+ const funcFolder = join(oneOptionsRoot, 'dist', `.vercel/output/functions/${pageName}.func`)
20
+ await fs.ensureDir(funcFolder)
21
+
22
+ if (code.includes('react')) {
23
+ 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'))
29
+ )
30
+ }
31
+
32
+ const distAssetsFolder = resolve(join(funcFolder, 'assets'))
33
+ postBuildLogs.push(
34
+ `[one.build][vercel.createSsrServerlessFunction] copy shared assets to ${distAssetsFolder}`
35
+ )
36
+ await fs.copy(resolve(join(oneOptionsRoot, 'dist', 'api', 'assets')), distAssetsFolder)
37
+
38
+ await fs.ensureDir(resolve(join(funcFolder, 'entrypoint')))
39
+ const entrypointFilePath = resolve(join(funcFolder, 'entrypoint', 'index.js'))
40
+ postBuildLogs.push(
41
+ `[one.build][vercel.createSsrServerlessFunction] writing entrypoint to ${entrypointFilePath}`
42
+ )
43
+ await fs.writeFile(entrypointFilePath, code)
44
+
45
+ const packageJsonFilePath = resolve(join(funcFolder, 'package.json'))
46
+ postBuildLogs.push(
47
+ `[one.build][vercel.createSsrServerlessFunction] writing package.json to ${packageJsonFilePath}`
48
+ )
49
+ await fs.writeJSON(packageJsonFilePath, serverlessVercelPackageJson)
50
+
51
+ postBuildLogs.push(
52
+ `[one.build][vercel.createSsrServerlessFunction] writing .vc-config.json to ${join(funcFolder, '.vc-config.json')}`
53
+ )
54
+ // Documentation - Vercel Build Output v3 Node.js Config
55
+ // https://vercel.com/docs/build-output-api/v3/primitives#node.js-config
56
+ return fs.writeJson(join(funcFolder, '.vc-config.json'), {
57
+ ...serverlessVercelNodeJsConfig,
58
+ handler: 'entrypoint/index.js',
59
+ })
60
+ } catch (e) {
61
+ console.error(
62
+ `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`,
63
+ e
64
+ )
65
+ }
66
+ }