one 1.2.45 → 1.2.47

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 (105) hide show
  1. package/dist/cjs/babel-plugins/remove-server-code.cjs +105 -0
  2. package/dist/cjs/babel-plugins/remove-server-code.js +125 -0
  3. package/dist/cjs/babel-plugins/remove-server-code.js.map +6 -0
  4. package/dist/cjs/babel-plugins/remove-server-code.native.js +153 -0
  5. package/dist/cjs/babel-plugins/remove-server-code.native.js.map +1 -0
  6. package/dist/cjs/cli/buildPage.cjs +16 -7
  7. package/dist/cjs/cli/buildPage.js +14 -5
  8. package/dist/cjs/cli/buildPage.js.map +1 -1
  9. package/dist/cjs/cli/buildPage.native.js +17 -8
  10. package/dist/cjs/cli/buildPage.native.js.map +1 -1
  11. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +8 -3
  12. package/dist/cjs/metro-config/getViteMetroPluginOptions.js +9 -1
  13. package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +1 -1
  14. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +8 -3
  15. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  16. package/dist/cjs/polyfills-mobile.cjs +3 -1
  17. package/dist/cjs/polyfills-mobile.js +2 -1
  18. package/dist/cjs/polyfills-mobile.js.map +2 -2
  19. package/dist/cjs/polyfills-mobile.native.js +8 -4
  20. package/dist/cjs/polyfills-mobile.native.js.map +1 -1
  21. package/dist/cjs/router/router.cjs +3 -1
  22. package/dist/cjs/router/router.js +2 -1
  23. package/dist/cjs/router/router.js.map +1 -1
  24. package/dist/cjs/router/router.native.js +7 -3
  25. package/dist/cjs/router/router.native.js.map +1 -1
  26. package/dist/cjs/server/oneServe.cjs +10 -2
  27. package/dist/cjs/server/oneServe.js +12 -1
  28. package/dist/cjs/server/oneServe.js.map +1 -1
  29. package/dist/cjs/server/oneServe.native.js +10 -3
  30. package/dist/cjs/server/oneServe.native.js.map +1 -1
  31. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +1 -0
  32. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js +2 -0
  33. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  34. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +1 -0
  35. package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  36. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +7 -3
  37. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +4 -3
  38. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  39. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +5 -2
  40. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  41. package/dist/esm/babel-plugins/remove-server-code.js +102 -0
  42. package/dist/esm/babel-plugins/remove-server-code.js.map +6 -0
  43. package/dist/esm/babel-plugins/remove-server-code.mjs +71 -0
  44. package/dist/esm/babel-plugins/remove-server-code.mjs.map +1 -0
  45. package/dist/esm/babel-plugins/remove-server-code.native.js +116 -0
  46. package/dist/esm/babel-plugins/remove-server-code.native.js.map +1 -0
  47. package/dist/esm/cli/buildPage.js +14 -4
  48. package/dist/esm/cli/buildPage.js.map +1 -1
  49. package/dist/esm/cli/buildPage.mjs +16 -7
  50. package/dist/esm/cli/buildPage.mjs.map +1 -1
  51. package/dist/esm/cli/buildPage.native.js +17 -8
  52. package/dist/esm/cli/buildPage.native.js.map +1 -1
  53. package/dist/esm/metro-config/getViteMetroPluginOptions.js +9 -1
  54. package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +1 -1
  55. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +7 -2
  56. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  57. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +7 -2
  58. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  59. package/dist/esm/polyfills-mobile.js +2 -0
  60. package/dist/esm/polyfills-mobile.js.map +1 -1
  61. package/dist/esm/polyfills-mobile.mjs +2 -0
  62. package/dist/esm/polyfills-mobile.mjs.map +1 -1
  63. package/dist/esm/polyfills-mobile.native.js +5 -3
  64. package/dist/esm/polyfills-mobile.native.js.map +1 -1
  65. package/dist/esm/router/router.js +2 -1
  66. package/dist/esm/router/router.js.map +1 -1
  67. package/dist/esm/router/router.mjs +3 -1
  68. package/dist/esm/router/router.mjs.map +1 -1
  69. package/dist/esm/router/router.native.js +7 -3
  70. package/dist/esm/router/router.native.js.map +1 -1
  71. package/dist/esm/server/oneServe.js +12 -1
  72. package/dist/esm/server/oneServe.js.map +1 -1
  73. package/dist/esm/server/oneServe.mjs +10 -2
  74. package/dist/esm/server/oneServe.mjs.map +1 -1
  75. package/dist/esm/server/oneServe.native.js +10 -3
  76. package/dist/esm/server/oneServe.native.js.map +1 -1
  77. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js +2 -0
  78. package/dist/esm/vite/plugins/fileSystemRouterPlugin.js.map +1 -1
  79. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +1 -0
  80. package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
  81. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +1 -0
  82. package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
  83. package/dist/esm/vite/plugins/virtualEntryPlugin.js +4 -2
  84. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  85. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +6 -2
  86. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  87. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +4 -1
  88. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  89. package/package.json +15 -9
  90. package/src/babel-plugins/remove-server-code.ts +227 -0
  91. package/src/cli/buildPage.ts +23 -4
  92. package/src/metro-config/getViteMetroPluginOptions.ts +10 -2
  93. package/src/polyfills-mobile.ts +7 -0
  94. package/src/router/router.ts +1 -1
  95. package/src/server/oneServe.ts +16 -1
  96. package/src/vite/plugins/fileSystemRouterPlugin.tsx +5 -0
  97. package/src/vite/plugins/virtualEntryPlugin.ts +6 -0
  98. package/types/babel-plugins/remove-server-code.d.ts +23 -0
  99. package/types/babel-plugins/remove-server-code.d.ts.map +1 -0
  100. package/types/cli/buildPage.d.ts.map +1 -1
  101. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  102. package/types/polyfills-mobile.d.ts.map +1 -1
  103. package/types/server/oneServe.d.ts.map +1 -1
  104. package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
  105. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["join","Readable","debounce","createServerModuleRunner","getSpaHeaderElements","createHandleRequest","getRouterRootFromOneOptions","isResponse","isStatusRedirect","promiseWithResolvers","LoaderDataCache","replaceLoader","setServerContext","virtalEntryIdClient","virtualEntryId","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","debugRouter","process","env","ONE_DEBUG_ROUTER","USE_SERVER_ENV","createFileSystemRouterPlugin","options","preloads","runner","server","handleRequest","createRequestHandler","renderPromise","routerRoot","handlePage","param","route","url","loaderProps","console","info","type","isNotFound","file","slice","serverContext","mode","promise","resolve","_globalThis___vxrnresetState","_globalThis","_exported_loader","routeFile","clearCache","globalThis","__vxrnresetState","call","exported","import","loaderData","loader","eval","entry","render","default","is404","html","path","Response","status","headers","err","error","href","title","pathname","message","Error","stack","isDuplicateReactError","test","subMessage","handleLoader","param2","request","route2","url2","loaderProps2","_this","_exported_loader2","routeFile2","transformedJS","transformRequest","code","exported2","loaderData2","platform","searchParams","get","environment","environments","nativeTransformedJS","JSON","stringify","handleAPI","loadMiddleware","contextKey","name","enforce","apply","config","userConfig","_options_optimization","_options_optimization_autoEntriesScanning","setting","optimization","autoEntriesScanning","manifest","pageRoutes","routesAndLayouts","Set","flatMap","_route_layouts","split","filter","x","startsWith","length","layouts","layout","optimizeDeps","entries","configureServer","serverIn","ssr","appDir","cwd","fileWatcherChangeListener","watcher","addListener","middlewares","use","req","res","next","_options_web","redirects","web","URL","host","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","redirect","_step","value","regexStr","source","replace","match","RegExp","destination","params","forEach","index","writeHead","permanent","Location","end","v","_iterator","iterator","done","_ret","return","reply","handler","convertIncomingMessageToRequest"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["join","Readable","debounce","createServerModuleRunner","getSpaHeaderElements","createHandleRequest","getRouterRootFromOneOptions","isResponse","isStatusRedirect","promiseWithResolvers","LoaderDataCache","replaceLoader","setServerContext","virtalEntryIdClient","virtualEntryId","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","debugRouter","process","env","ONE_DEBUG_ROUTER","USE_SERVER_ENV","createFileSystemRouterPlugin","options","preloads","runner","server","handleRequest","createRequestHandler","renderPromise","routerRoot","handlePage","param","route","url","loaderProps","console","info","type","isNotFound","file","slice","serverContext","mode","promise","resolve","_globalThis___vxrnresetState","_globalThis","_exported_loader","routeFile","clearCache","globalThis","__vxrnresetState","call","exported","import","loaderData","loader","eval","entry","render","default","is404","html","path","Response","status","headers","err","error","href","title","pathname","message","Error","stack","isDuplicateReactError","test","subMessage","handleLoader","param2","request","route2","url2","loaderProps2","_this","_exported_loader2","routeFile2","transformedJS","transformRequest","code","exported2","loaderData2","platform","searchParams","get","environment","environments","nativeTransformedJS","JSON","stringify","handleAPI","loadMiddleware","contextKey","name","enforce","apply","config","userConfig","_options_optimization","_options_optimization_autoEntriesScanning","setting","optimization","autoEntriesScanning","manifest","pageRoutes","routesAndLayouts","Set","flatMap","_route_layouts","split","filter","x","startsWith","length","layouts","layout","optimizeDeps","entries","configureServer","serverIn","ssr","appDir","cwd","fileWatcherChangeListener","watcher","addListener","middlewares","use","req","res","next","_options_web","redirects","web","URL","host","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","redirect","_step","value","regexStr","source","replace","match","RegExp","destination","params","forEach","index","writeHead","permanent","Location","end","v","_iterator","iterator","done","_ret","return","reply","handler","convertIncomingMessageToRequest"],"sources":["../../../../src/vite/plugins/fileSystemRouterPlugin.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { configuration } from "@vxrn/compiler";
1
2
  import { isNativeEnvironment } from "vxrn";
2
3
  import {
3
4
  API_ROUTE_GLOB_PATTERN,
@@ -62,9 +63,10 @@ function createVirtualEntry(options) {
62
63
  },
63
64
  load(id) {
64
65
  if (id === resolvedVirtualEntryId) {
65
- const isNative = isNativeEnvironment(this.environment);
66
+ const isNative = isNativeEnvironment(this.environment), prependCode = getSetupFileImport(this.environment.name, setupFiles, isNative), nativewindImport = configuration.enableNativewind ? "import 'react-native-css-interop/dist/runtime/components'" : "";
66
67
  return `
67
- ${getSetupFileImport(this.environment.name, setupFiles, isNative)}
68
+ ${prependCode}
69
+ ${nativewindImport}
68
70
 
69
71
  import { createApp, registerPreloadedRoute as _registerPreloadedRoute } from 'one'
70
72
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/vite/plugins/virtualEntryPlugin.ts"],
4
- "mappings": "AACA,SAAS,2BAA2B;AACpC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AASP,SAAS,mBAAmB,WAAiE;AAC3F,MAAI,CAAC,UAAW,QAAO,CAAC;AACxB,MAAI,OAAO,aAAc;AACvB,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAEF,MAAI,YAAY;AACd,WAAO;AAAA,MACL,QAAQ,UAAU;AAAA,MAClB,QAAQ,UAAU;AAAA,MAClB,KAAK,UAAU;AAAA,MACf,SAAS,UAAU;AAAA,IACrB;AAEF,QAAM,KAAK;AACX,SAAO;AAAA,IACL,QAAQ,GAAG;AAAA,IACX,QAAQ,GAAG;AAAA,IACX,KAAK,GAAG;AAAA,IACR,SAAS,GAAG;AAAA,EACd;AACF;AAEA,SAAS,mBACP,iBACA,YACA,iBACQ;AAQR,QAAM,MAPqD;AAAA,IACzD,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,KAAK;AAAA,IACL,SAAS;AAAA,EACX,EAEmB,eAAe;AAClC,MAAI,CAAC,IAAK,QAAO;AAEjB,QAAM,YAAY,WAAW,GAAG;AAChC,SAAK,YAID,kBACK,UAAU,KAAK,UAAU,SAAS,CAAC,KAGrC,mCAAmC,KAAK,UAAU,SAAS,CAAC,MAR5C;AASzB;AAEO,SAAS,mBAAmB,SAOxB;AACT,QAAM,aAAa;AAAA,IACjB,IAAI,QAAQ,IAAI,IAAI,kBAAkB;AAAA,IACtC,GAAI,QAAQ,QAAQ,mBAAmB,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,OAAO,EAAE,KAAK,CAAC;AAAA,EAC9F,GACM,gBAAgB,IAAI,QAAQ,IAAI,IAAI,sBAAsB,IAE1D,aAAa,mBAAmB,QAAQ,SAAS;AAEvD,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IAET,UAAU,IAAI;AACZ,UAAI,OAAO;AACT,eAAO;AAET,UAAI,OAAO;AACT,eAAO;AAAA,IAEX;AAAA,IAEA,KAAK,IAAI;AACP,UAAI,OAAO,wBAAwB;AACjC,cAAM,WAAW,oBAAoB,KAAK,WAAW;AAErD,eAAO;AAAA,EADa,mBAAmB,KAAK,YAAY,MAAM,YAAY,QAAQ,CAE7E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAeC,KAAK,UAAU,UAAU,CAAC;AAAA;AAAA,6BAEX,KAAK,UAAU,CAAC,GAAG,YAAY,GAAG,kCAAkC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA,gBACtG,KAAK,UAAU,QAAQ,IAAI,CAAC;AAAA,WACjC,KAAK,UAAU,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA,MAGlC;AAEA,UAAI,OAAO,8BAA8B;AACvC,cAAM,WAAW,oBAAoB,KAAK,WAAW;AAErD,eAAO;AAAA,EADa,mBAAmB,KAAK,YAAY,MAAM,YAAY,QAAQ,CAE7E;AAAA;AAAA;AAAA;AAAA,cAIC,KAAK,UAAU,UAAU,CAAC;AAAA;AAAA,6BAEX,KAAK,UAAU,CAAC,GAAG,YAAY,GAAG,qCAAqC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC,CAAC;AAAA,gBAC9H,KAAK,UAAU,QAAQ,IAAI,CAAC;AAAA,WACjC,KAAK,UAAU,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA,MAGlC;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,3 +1,4 @@
1
+ import { configuration } from "@vxrn/compiler";
1
2
  import { isNativeEnvironment } from "vxrn";
2
3
  import { API_ROUTE_GLOB_PATTERN, ROUTE_GLOB_PATTERN, ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS, ROUTE_WEB_EXCLUSION_GLOB_PATTERNS } from "../../router/glob-patterns.mjs";
3
4
  import { resolvedVirtualEntryId, resolvedVirtualEntryIdNative, virtualEntryId, virtualEntryIdNative } from "./virtualEntryConstants.mjs";
@@ -47,9 +48,12 @@ function createVirtualEntry(options) {
47
48
  },
48
49
  load(id) {
49
50
  if (id === resolvedVirtualEntryId) {
50
- const isNative = isNativeEnvironment(this.environment);
51
+ const isNative = isNativeEnvironment(this.environment),
52
+ prependCode = getSetupFileImport(this.environment.name, setupFiles, isNative),
53
+ nativewindImport = configuration.enableNativewind ? "import 'react-native-css-interop/dist/runtime/components'" : "";
51
54
  return `
52
- ${getSetupFileImport(this.environment.name, setupFiles, isNative)}
55
+ ${prependCode}
56
+ ${nativewindImport}
53
57
 
54
58
  import { createApp, registerPreloadedRoute as _registerPreloadedRoute } from 'one'
55
59
 
@@ -1 +1 @@
1
- {"version":3,"names":["isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","key","ssr","JSON","stringify","createVirtualEntry","options","routeGlobs","root","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","name","enforce","resolveId","id","load","isNative","environment","p","flags"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["configuration","isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","key","ssr","JSON","stringify","createVirtualEntry","options","routeGlobs","root","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","name","enforce","resolveId","id","load","isNative","environment","prependCode","nativewindImport","enableNativewind","p","flags"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import { configuration } from "@vxrn/compiler";
1
2
  import { isNativeEnvironment } from "vxrn";
2
3
  import { API_ROUTE_GLOB_PATTERN, ROUTE_GLOB_PATTERN, ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS, ROUTE_WEB_EXCLUSION_GLOB_PATTERNS } from "../../router/glob-patterns.native.js";
3
4
  import { resolvedVirtualEntryId, resolvedVirtualEntryIdNative, virtualEntryId, virtualEntryIdNative } from "./virtualEntryConstants.native.js";
@@ -53,9 +54,11 @@ function createVirtualEntry(options) {
53
54
  load(id) {
54
55
  if (id === resolvedVirtualEntryId) {
55
56
  var isNative = isNativeEnvironment(this.environment),
56
- prependCode = getSetupFileImport(this.environment.name, setupFiles, isNative);
57
+ prependCode = getSetupFileImport(this.environment.name, setupFiles, isNative),
58
+ nativewindImport = configuration.enableNativewind ? "import 'react-native-css-interop/dist/runtime/components'" : "";
57
59
  return `
58
60
  ${prependCode}
61
+ ${nativewindImport}
59
62
 
60
63
  import { createApp, registerPreloadedRoute as _registerPreloadedRoute } from 'one'
61
64
 
@@ -1 +1 @@
1
- {"version":3,"names":["isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","envMap","ssr","key","JSON","stringify","createVirtualEntry","options","_options_router_ignoredRouteFiles","_options_router","routeGlobs","root","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","name","enforce","resolveId","id","load","isNative","environment","prependCode","p","flags","isNative1","prependCode1"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["configuration","isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","envMap","ssr","key","JSON","stringify","createVirtualEntry","options","_options_router_ignoredRouteFiles","_options_router","routeGlobs","root","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","name","enforce","resolveId","id","load","isNative","environment","prependCode","nativewindImport","enableNativewind","p","flags","isNative1","prependCode1"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.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.2.45",
3
+ "version": "1.2.47",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -70,6 +70,11 @@
70
70
  "import": "./dist/esm/babel-plugins/one-router-metro.mjs",
71
71
  "require": "./dist/cjs/babel-plugins/one-router-metro.cjs"
72
72
  },
73
+ "./babel-plugin-remove-server-code": {
74
+ "types": "./types/babel-plugins/remove-server-code.d.ts",
75
+ "import": "./dist/esm/babel-plugins/remove-server-code.mjs",
76
+ "require": "./dist/cjs/babel-plugins/remove-server-code.cjs"
77
+ },
73
78
  "./getViteMetroPluginOptions": {
74
79
  "types": "./types/metro-config/getViteMetroPluginOptions.d.ts",
75
80
  "import": "./dist/esm/metro-config/getViteMetroPluginOptions.mjs",
@@ -115,6 +120,7 @@
115
120
  "@babel/parser": "^7.28.5",
116
121
  "@babel/traverse": "^7.28.5",
117
122
  "@babel/types": "^7.28.5",
123
+ "@bacons/text-decoder": "^0.0.0",
118
124
  "@radix-ui/react-slot": "^1.0.2",
119
125
  "@react-native-masked-view/masked-view": "^0.3.2",
120
126
  "@react-navigation/bottom-tabs": "~7.7.3",
@@ -124,17 +130,17 @@
124
130
  "@react-navigation/routers": "~7.5.1",
125
131
  "@swc/core": "^1.14.0",
126
132
  "@ungap/structured-clone": "^1.2.0",
127
- "@vxrn/color-scheme": "1.2.45",
128
- "@vxrn/compiler": "1.2.45",
129
- "@vxrn/resolve": "1.2.45",
130
- "@vxrn/tslib-lite": "1.2.45",
131
- "@vxrn/use-isomorphic-layout-effect": "1.2.45",
132
- "@vxrn/vite-plugin-metro": "1.2.45",
133
+ "@vxrn/color-scheme": "1.2.47",
134
+ "@vxrn/compiler": "1.2.47",
135
+ "@vxrn/resolve": "1.2.47",
136
+ "@vxrn/tslib-lite": "1.2.47",
137
+ "@vxrn/use-isomorphic-layout-effect": "1.2.47",
138
+ "@vxrn/vite-plugin-metro": "1.2.47",
133
139
  "babel-dead-code-elimination": "^1.0.10",
134
140
  "babel-plugin-module-resolver": "^5.0.2",
135
141
  "citty": "^0.1.6",
136
142
  "core-js": "^3.38.1",
137
- "create-vxrn": "1.2.45",
143
+ "create-vxrn": "1.2.47",
138
144
  "escape-string-regexp": "^5.0.0",
139
145
  "expo-linking": "~8.0.8",
140
146
  "expo-modules-core": "~3.0.24",
@@ -160,7 +166,7 @@
160
166
  "vite": "^7.1.12",
161
167
  "vite-plugin-barrel": "^0.4.1",
162
168
  "vite-tsconfig-paths": "^5.1.4",
163
- "vxrn": "1.2.45",
169
+ "vxrn": "1.2.47",
164
170
  "ws": "^8.18.0",
165
171
  "xxhashjs": "^0.2.2"
166
172
  },
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Babel plugin to remove server-only code (loader, generateStaticParams) from native bundles.
3
+ *
4
+ * This plugin transforms route files to remove server-only exports so they don't
5
+ * get included in the native bundle. It's the Metro equivalent of clientTreeShakePlugin.
6
+ *
7
+ * What it does:
8
+ * 1. Captures referenced identifiers BEFORE removing exports
9
+ * 2. Removes `export function loader() { ... }` and `export const loader = ...`
10
+ * 3. Removes `export function generateStaticParams() { ... }` and `export const generateStaticParams = ...`
11
+ * 4. Runs dead code elimination to remove imports that were only used by removed functions
12
+ * 5. Adds empty stubs back to prevent "missing export" errors
13
+ *
14
+ * Options:
15
+ * - routerRoot: The router root directory (e.g., 'app'). Only files in this directory are transformed.
16
+ */
17
+
18
+ import type { NodePath, PluginObj } from '@babel/core'
19
+ import * as t from '@babel/types'
20
+ import { deadCodeElimination, findReferencedIdentifiers } from 'babel-dead-code-elimination'
21
+
22
+ const SERVER_EXPORTS = ['loader', 'generateStaticParams'] as const
23
+
24
+ type ServerExport = (typeof SERVER_EXPORTS)[number]
25
+
26
+ type PluginOptions = {
27
+ routerRoot?: string
28
+ }
29
+
30
+ function removeServerCodePlugin(_: unknown, options: PluginOptions): PluginObj {
31
+ const { routerRoot = 'app' } = options
32
+
33
+ return {
34
+ name: 'one-remove-server-code',
35
+ visitor: {
36
+ Program: {
37
+ enter(path: NodePath<t.Program>, state: { filename?: string; referenced?: Set<string> }) {
38
+ const filename = state.filename
39
+
40
+ // Only process route files in the router root
41
+ if (!filename) {
42
+ return
43
+ }
44
+
45
+ // Check if file is in the router root directory
46
+ const routerRootPattern = new RegExp(`[/\\\\]${routerRoot}[/\\\\]`)
47
+ if (!routerRootPattern.test(filename)) {
48
+ return
49
+ }
50
+
51
+ // Skip node_modules
52
+ if (filename.includes('node_modules')) {
53
+ return
54
+ }
55
+
56
+ // Quick check if file even has these exports
57
+ const code = path.toString()
58
+ if (!/generateStaticParams|loader/.test(code)) {
59
+ return
60
+ }
61
+
62
+ // Capture referenced identifiers BEFORE removing exports
63
+ // This is critical for dead code elimination to work
64
+ try {
65
+ state.referenced = findReferencedIdentifiers(path.node as any) as any
66
+ } catch (error) {
67
+ console.warn(
68
+ `[one/metro] Skipping tree shaking for ${filename} due to identifier analysis error:`,
69
+ error instanceof Error ? error.message : String(error)
70
+ )
71
+ }
72
+ },
73
+
74
+ exit(path: NodePath<t.Program>, state: { filename?: string; referenced?: Set<string> }) {
75
+ const filename = state.filename
76
+
77
+ // Only process route files in the router root
78
+ if (!filename) {
79
+ return
80
+ }
81
+
82
+ // Check if file is in the router root directory
83
+ const routerRootPattern = new RegExp(`[/\\\\]${routerRoot}[/\\\\]`)
84
+ if (!routerRootPattern.test(filename)) {
85
+ return
86
+ }
87
+
88
+ // Skip node_modules
89
+ if (filename.includes('node_modules')) {
90
+ return
91
+ }
92
+
93
+ // If we don't have referenced set from enter, skip
94
+ if (!state.referenced) {
95
+ return
96
+ }
97
+
98
+ const removedExports: Set<ServerExport> = new Set()
99
+
100
+ // Find and remove server exports
101
+ // Note: babel-preset-expo may have already transformed async functions like:
102
+ // export async function loader() { ... }
103
+ // into:
104
+ // function _loader() { _loader = _asyncToGenerator(...); return _loader.apply(...) }
105
+ // export function loader() { return _loader.apply(...) }
106
+ // So we need to handle both the original form and the transformed form
107
+ path.traverse({
108
+ ExportNamedDeclaration(exportPath: NodePath<t.ExportNamedDeclaration>) {
109
+ const declaration = exportPath.node.declaration
110
+
111
+ // Handle: export function loader() { ... }
112
+ if (t.isFunctionDeclaration(declaration) && declaration.id) {
113
+ const name = declaration.id.name as ServerExport
114
+ if (SERVER_EXPORTS.includes(name)) {
115
+ removedExports.add(name)
116
+ exportPath.remove()
117
+ }
118
+ }
119
+ // Handle: export const loader = async () => { ... }
120
+ // Handle: export const loader = route.createLoader(...)
121
+ else if (t.isVariableDeclaration(declaration)) {
122
+ for (let i = declaration.declarations.length - 1; i >= 0; i--) {
123
+ const declarator = declaration.declarations[i]
124
+ if (t.isIdentifier(declarator.id)) {
125
+ const name = declarator.id.name as ServerExport
126
+ if (SERVER_EXPORTS.includes(name)) {
127
+ removedExports.add(name)
128
+
129
+ // Remove just this declarator
130
+ if (declaration.declarations.length === 1) {
131
+ exportPath.remove()
132
+ } else {
133
+ declaration.declarations.splice(i, 1)
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }
139
+ },
140
+
141
+ // Also remove helper functions created by babel's async-to-generator transform
142
+ // These are named _loader, _generateStaticParams, etc.
143
+ FunctionDeclaration(funcPath: NodePath<t.FunctionDeclaration>) {
144
+ if (!funcPath.node.id) return
145
+ const name = funcPath.node.id.name
146
+ // Check for helper functions like _loader, _generateStaticParams
147
+ for (const serverExport of SERVER_EXPORTS) {
148
+ if (name === `_${serverExport}`) {
149
+ // Verify this is indeed a babel-generated async helper
150
+ // by checking if it contains _asyncToGenerator
151
+ let isAsyncHelper = false
152
+ funcPath.traverse({
153
+ Identifier(idPath) {
154
+ if (idPath.node.name === '_asyncToGenerator') {
155
+ isAsyncHelper = true
156
+ idPath.stop()
157
+ }
158
+ },
159
+ })
160
+ if (isAsyncHelper) {
161
+ removedExports.add(serverExport)
162
+ funcPath.remove()
163
+ }
164
+ }
165
+ }
166
+ },
167
+ })
168
+
169
+ // Only proceed if we removed something
170
+ if (removedExports.size === 0) {
171
+ return
172
+ }
173
+
174
+ // Run dead code elimination to remove imports that were only used by removed functions
175
+ try {
176
+ deadCodeElimination(path.node as any, state.referenced as any)
177
+ } catch (error) {
178
+ console.warn(
179
+ `[one/metro] Dead code elimination failed for ${filename}:`,
180
+ error instanceof Error ? error.message : String(error)
181
+ )
182
+ }
183
+
184
+ // Add back empty stubs for removed exports to prevent "missing export" errors
185
+ const stubs: t.Statement[] = []
186
+
187
+ if (removedExports.has('loader')) {
188
+ // export function loader() { return "__vxrn__loader__"; }
189
+ stubs.push(
190
+ t.exportNamedDeclaration(
191
+ t.functionDeclaration(
192
+ t.identifier('loader'),
193
+ [],
194
+ t.blockStatement([t.returnStatement(t.stringLiteral('__vxrn__loader__'))])
195
+ )
196
+ )
197
+ )
198
+ }
199
+
200
+ if (removedExports.has('generateStaticParams')) {
201
+ // export function generateStaticParams() { }
202
+ stubs.push(
203
+ t.exportNamedDeclaration(
204
+ t.functionDeclaration(
205
+ t.identifier('generateStaticParams'),
206
+ [],
207
+ t.blockStatement([])
208
+ )
209
+ )
210
+ )
211
+ }
212
+
213
+ // Add stubs at the end of the file
214
+ for (const stub of stubs) {
215
+ path.pushContainer('body', stub)
216
+ }
217
+
218
+ console.info(
219
+ ` 🧹 [one/metro] ${filename} removed ${removedExports.size} server-only exports`
220
+ )
221
+ },
222
+ },
223
+ },
224
+ }
225
+ }
226
+
227
+ export default removeServerCodePlugin
@@ -3,12 +3,20 @@ import FSExtra from 'fs-extra'
3
3
  import * as constants from '../constants'
4
4
  import type { LoaderProps, RenderApp } from '../types'
5
5
  import { getLoaderPath, getPreloadPath, getPreloadCSSPath } from '../utils/cleanUrl'
6
+ import { isResponse } from '../utils/isResponse'
6
7
  import { toAbsolute } from '../utils/toAbsolute'
7
8
  import { replaceLoader } from '../vite/replaceLoader'
8
9
  import type { One, RouteInfo } from '../vite/types'
9
10
 
10
11
  const { readFile, outputFile } = FSExtra
11
12
 
13
+ // Convert URL path (with forward slashes) to filesystem path for cross-platform compatibility
14
+ function urlPathToFilePath(urlPath: string): string {
15
+ // Remove leading slash and split by forward slash (URL separator)
16
+ const parts = urlPath.replace(/^\//, '').split('/')
17
+ return join(...parts)
18
+ }
19
+
12
20
  export async function buildPage(
13
21
  serverEntry: string,
14
22
  path: string,
@@ -66,7 +74,7 @@ export async function buildPage(
66
74
  ...registrationCalls,
67
75
  ].join('\n')
68
76
 
69
- await FSExtra.writeFile(join(clientDir, preloadPath), preloadContent)
77
+ await FSExtra.writeFile(join(clientDir, urlPathToFilePath(preloadPath)), preloadContent)
70
78
 
71
79
  // Generate CSS preload file with prefetch (on hover) and inject (on navigation) functions
72
80
  // Deduplicate CSS URLs to avoid loading the same file multiple times
@@ -126,12 +134,23 @@ export function injectCSS() {
126
134
  // For backwards compatibility, also prefetch on import
127
135
  prefetchCSS()
128
136
  `
129
- await FSExtra.writeFile(join(clientDir, cssPreloadPath), cssPreloadContent)
137
+ await FSExtra.writeFile(join(clientDir, urlPathToFilePath(cssPreloadPath)), cssPreloadContent)
130
138
 
131
139
  const exported = await import(toAbsolute(serverJsPath))
132
140
 
133
141
  if (exported.loader) {
134
- loaderData = (await exported.loader?.({ path, params })) ?? null
142
+ try {
143
+ loaderData = (await exported.loader?.({ path, params })) ?? null
144
+ } catch (err) {
145
+ // Handle thrown responses (e.g., redirect) - skip loader data generation for this page
146
+ // The redirect will happen at runtime instead
147
+ if (isResponse(err)) {
148
+ // Keep loaderData as empty object, the redirect will happen at runtime
149
+ } else {
150
+ throw err
151
+ }
152
+ }
153
+
135
154
  const code = await readFile(clientJsPath, 'utf-8')
136
155
  const withLoader =
137
156
  // super dirty to quickly make ssr loaders work until we have better
@@ -142,7 +161,7 @@ if (typeof document === 'undefined') globalThis.document = {}
142
161
  code,
143
162
  loaderData,
144
163
  })
145
- const loaderPartialPath = join(clientDir, getLoaderPath(path))
164
+ const loaderPartialPath = join(clientDir, urlPathToFilePath(getLoaderPath(path)))
146
165
  await outputFile(loaderPartialPath, withLoader)
147
166
  loaderPath = getLoaderPath(path)
148
167
  }
@@ -1,7 +1,7 @@
1
- import module from 'node:module'
2
- import path from 'node:path'
3
1
  import type { metroPlugin } from '@vxrn/vite-plugin-metro'
4
2
  import mm from 'micromatch'
3
+ import module from 'node:module'
4
+ import path from 'node:path'
5
5
  import tsconfigPaths from 'tsconfig-paths'
6
6
  import {
7
7
  API_ROUTE_GLOB_PATTERN,
@@ -154,6 +154,14 @@ export function getViteMetroPluginOptions({
154
154
  },
155
155
  babelConfig: {
156
156
  plugins: [
157
+ // Remove server-only code (loader, generateStaticParams) from route files
158
+ // This must run early to prevent server-only imports from being bundled
159
+ [
160
+ 'one/babel-plugin-remove-server-code',
161
+ {
162
+ routerRoot: relativeRouterRoot,
163
+ },
164
+ ],
157
165
  [
158
166
  'babel-plugin-module-resolver',
159
167
  {
@@ -3,6 +3,13 @@
3
3
 
4
4
  globalThis['global'] = globalThis
5
5
 
6
+ // --------------- TextDecoder -------------------
7
+ // for viem and other web3/crypto packages that need TextDecoder on React Native
8
+
9
+ import { TextDecoder as TextDecoderPolyfill } from '@bacons/text-decoder'
10
+
11
+ globalThis['TextDecoder'] ||= TextDecoderPolyfill
12
+
6
13
  // --------------- structuredClone -------------------
7
14
 
8
15
  import structuredClone from '@ungap/structured-clone'
@@ -388,7 +388,7 @@ async function doPreload(href: string) {
388
388
  const [_preload, cssPreloadModule, loader] = await Promise.all([
389
389
  dynamicImport(preloadPath),
390
390
  dynamicImport(cssPreloadPath)?.catch(() => null) ?? Promise.resolve(null), // graceful fail if no CSS preload
391
- dynamicImport(loaderPath),
391
+ dynamicImport(loaderPath)?.catch(() => null) ?? Promise.resolve(null), // graceful fail if no loader file
392
392
  preloadRouteModules(href),
393
393
  ])
394
394
 
@@ -159,7 +159,17 @@ export async function oneServe(
159
159
  const exported = options?.lazyRoutes?.pages?.[route.file]
160
160
  ? await options.lazyRoutes.pages[route.file]()
161
161
  : await import(toAbsolute(buildInfo.serverJsPath))
162
- const loaderData = await exported.loader?.(loaderProps)
162
+
163
+ let loaderData
164
+ try {
165
+ loaderData = await exported.loader?.(loaderProps)
166
+ } catch (loaderErr) {
167
+ // Handle thrown responses (e.g., redirect) from loader
168
+ if (isResponse(loaderErr)) {
169
+ return loaderErr
170
+ }
171
+ throw loaderErr
172
+ }
163
173
 
164
174
  const headers = new Headers()
165
175
  headers.set('content-type', 'text/html')
@@ -181,6 +191,11 @@ export async function oneServe(
181
191
  status: route.isNotFound ? 404 : 200,
182
192
  })
183
193
  } catch (err) {
194
+ // Handle thrown responses (e.g., redirect) that weren't caught above
195
+ if (isResponse(err)) {
196
+ return err
197
+ }
198
+
184
199
  console.error(`[one] Error rendering SSR route ${route.file}
185
200
 
186
201
  ${err?.['stack'] ?? err}
@@ -107,6 +107,11 @@ export function createFileSystemRouterPlugin(options: One.PluginOptions): Plugin
107
107
 
108
108
  return html
109
109
  } catch (err) {
110
+ // allow throwing a response in a loader (e.g. redirect)
111
+ if (isResponse(err)) {
112
+ return err
113
+ }
114
+
110
115
  console.error(`SSR error while loading file ${route.file} from URL ${url.href}\n`, err)
111
116
  const title = `Error rendering ${url.pathname} on server`
112
117
  const message = err instanceof Error ? err.message : `${err}`
@@ -1,3 +1,4 @@
1
+ import { configuration } from '@vxrn/compiler'
1
2
  import type { Plugin } from 'vite'
2
3
  import { isNativeEnvironment } from 'vxrn'
3
4
  import {
@@ -108,8 +109,13 @@ export function createVirtualEntry(options: {
108
109
  if (id === resolvedVirtualEntryId) {
109
110
  const isNative = isNativeEnvironment(this.environment)
110
111
  const prependCode = getSetupFileImport(this.environment.name, setupFiles, isNative)
112
+ // When nativewind is enabled, import the components module to register Text, View, etc. with cssInterop
113
+ const nativewindImport = configuration.enableNativewind
114
+ ? `import 'react-native-css-interop/dist/runtime/components'`
115
+ : ''
111
116
  return `
112
117
  ${prependCode}
118
+ ${nativewindImport}
113
119
 
114
120
  import { createApp, registerPreloadedRoute as _registerPreloadedRoute } from 'one'
115
121