one 1.1.501 → 1.1.502

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 (125) hide show
  1. package/dist/cjs/babel-plugins/one-router-metro.cjs +60 -0
  2. package/dist/cjs/babel-plugins/one-router-metro.js +55 -0
  3. package/dist/cjs/babel-plugins/one-router-metro.js.map +6 -0
  4. package/dist/cjs/babel-plugins/one-router-metro.native.js +52 -0
  5. package/dist/cjs/babel-plugins/one-router-metro.native.js.map +6 -0
  6. package/dist/cjs/cli/build.cjs +1 -1
  7. package/dist/cjs/cli/build.js +1 -1
  8. package/dist/cjs/cli/build.js.map +1 -1
  9. package/dist/cjs/cli/build.native.js +1 -1
  10. package/dist/cjs/cli/build.native.js.map +2 -2
  11. package/dist/cjs/cli/patch.cjs +1 -0
  12. package/dist/cjs/cli/patch.js +1 -0
  13. package/dist/cjs/cli/patch.js.map +1 -1
  14. package/dist/cjs/cli/patch.native.js +1 -0
  15. package/dist/cjs/cli/patch.native.js.map +2 -2
  16. package/dist/cjs/config.cjs +1 -1
  17. package/dist/cjs/config.js +1 -1
  18. package/dist/cjs/config.js.map +1 -1
  19. package/dist/cjs/config.native.js +1 -1
  20. package/dist/cjs/config.native.js.map +2 -2
  21. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +93 -0
  22. package/dist/cjs/metro-config/getViteMetroPluginOptions.js +102 -0
  23. package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +6 -0
  24. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +115 -0
  25. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +6 -0
  26. package/dist/cjs/server/setupServerGlobals.cjs +2 -0
  27. package/dist/cjs/server/setupServerGlobals.js +3 -0
  28. package/dist/cjs/server/setupServerGlobals.js.map +6 -0
  29. package/dist/cjs/server/setupServerGlobals.native.js +4 -0
  30. package/dist/cjs/server/setupServerGlobals.native.js.map +6 -0
  31. package/dist/cjs/utils/dynamicImport.js.map +1 -1
  32. package/dist/cjs/utils/dynamicImport.native.js +1 -1
  33. package/dist/cjs/utils/dynamicImport.native.js.map +2 -2
  34. package/dist/cjs/vite/one.cjs +38 -6
  35. package/dist/cjs/vite/one.js +36 -4
  36. package/dist/cjs/vite/one.js.map +2 -2
  37. package/dist/cjs/vite/one.native.js +34 -5
  38. package/dist/cjs/vite/one.native.js.map +2 -2
  39. package/dist/cjs/vite/types.native.js.map +1 -1
  40. package/dist/cjs/vite.cjs +2 -1
  41. package/dist/cjs/vite.js +1 -1
  42. package/dist/cjs/vite.js.map +1 -1
  43. package/dist/cjs/vite.native.js +1 -1
  44. package/dist/cjs/vite.native.js.map +1 -1
  45. package/dist/esm/babel-plugins/one-router-metro.js +31 -0
  46. package/dist/esm/babel-plugins/one-router-metro.js.map +6 -0
  47. package/dist/esm/babel-plugins/one-router-metro.mjs +26 -0
  48. package/dist/esm/babel-plugins/one-router-metro.mjs.map +1 -0
  49. package/dist/esm/babel-plugins/one-router-metro.native.js +26 -0
  50. package/dist/esm/babel-plugins/one-router-metro.native.js.map +1 -0
  51. package/dist/esm/cli/build.js +1 -1
  52. package/dist/esm/cli/build.js.map +1 -1
  53. package/dist/esm/cli/build.mjs +1 -1
  54. package/dist/esm/cli/build.mjs.map +1 -1
  55. package/dist/esm/cli/build.native.js +1 -1
  56. package/dist/esm/cli/build.native.js.map +1 -1
  57. package/dist/esm/cli/patch.js +1 -0
  58. package/dist/esm/cli/patch.js.map +1 -1
  59. package/dist/esm/cli/patch.mjs +1 -0
  60. package/dist/esm/cli/patch.mjs.map +1 -1
  61. package/dist/esm/cli/patch.native.js +1 -0
  62. package/dist/esm/cli/patch.native.js.map +1 -1
  63. package/dist/esm/config.js +1 -1
  64. package/dist/esm/config.js.map +1 -1
  65. package/dist/esm/config.mjs +1 -1
  66. package/dist/esm/config.mjs.map +1 -1
  67. package/dist/esm/config.native.js +1 -1
  68. package/dist/esm/config.native.js.map +1 -1
  69. package/dist/esm/metro-config/getViteMetroPluginOptions.js +80 -0
  70. package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +6 -0
  71. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +59 -0
  72. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -0
  73. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +74 -0
  74. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -0
  75. package/dist/esm/server/setupServerGlobals.js +3 -0
  76. package/dist/esm/server/setupServerGlobals.js.map +6 -0
  77. package/dist/esm/server/setupServerGlobals.mjs +3 -0
  78. package/dist/esm/server/setupServerGlobals.mjs.map +1 -0
  79. package/dist/esm/server/setupServerGlobals.native.js +3 -0
  80. package/dist/esm/server/setupServerGlobals.native.js.map +1 -0
  81. package/dist/esm/utils/dynamicImport.js.map +1 -1
  82. package/dist/esm/utils/dynamicImport.mjs.map +1 -1
  83. package/dist/esm/utils/dynamicImport.native.js +1 -1
  84. package/dist/esm/utils/dynamicImport.native.js.map +1 -1
  85. package/dist/esm/vite/one.js +37 -3
  86. package/dist/esm/vite/one.js.map +2 -2
  87. package/dist/esm/vite/one.mjs +37 -5
  88. package/dist/esm/vite/one.mjs.map +1 -1
  89. package/dist/esm/vite/one.native.js +38 -6
  90. package/dist/esm/vite/one.native.js.map +1 -1
  91. package/dist/esm/vite.js +1 -0
  92. package/dist/esm/vite.js.map +1 -1
  93. package/dist/esm/vite.mjs +1 -0
  94. package/dist/esm/vite.mjs.map +1 -1
  95. package/dist/esm/vite.native.js +1 -0
  96. package/dist/esm/vite.native.js.map +1 -1
  97. package/metro-entry-ctx.js +13 -0
  98. package/metro-entry.js +21 -0
  99. package/package.json +29 -9
  100. package/src/babel-plugins/one-router-metro.ts +46 -0
  101. package/src/cli/build.ts +2 -0
  102. package/src/cli/patch.ts +1 -0
  103. package/src/config.ts +3 -1
  104. package/src/metro-config/getViteMetroPluginOptions.ts +111 -0
  105. package/src/server/setupServerGlobals.ts +3 -0
  106. package/src/utils/dynamicImport.ts +2 -1
  107. package/src/vite/one.ts +67 -9
  108. package/src/vite/types.ts +21 -1
  109. package/src/vite.ts +5 -0
  110. package/types/babel-plugins/one-router-metro.d.ts +12 -0
  111. package/types/babel-plugins/one-router-metro.d.ts.map +1 -0
  112. package/types/cli/build.d.ts.map +1 -1
  113. package/types/cli/patch.d.ts.map +1 -1
  114. package/types/config.d.ts.map +1 -1
  115. package/types/metro-config/getViteMetroPluginOptions.d.ts +6 -0
  116. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -0
  117. package/types/server/setupServerGlobals.d.ts +2 -0
  118. package/types/server/setupServerGlobals.d.ts.map +1 -0
  119. package/types/utils/dynamicImport.d.ts +1 -1
  120. package/types/utils/dynamicImport.d.ts.map +1 -1
  121. package/types/vite/one.d.ts.map +1 -1
  122. package/types/vite/types.d.ts +18 -1
  123. package/types/vite/types.d.ts.map +1 -1
  124. package/types/vite.d.ts +1 -0
  125. package/types/vite.d.ts.map +1 -1
package/dist/esm/vite.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ import "./server/setupServerGlobals.mjs";
1
2
  import { resolvePath } from "@vxrn/resolve";
2
3
  import { clientTreeShakePlugin } from "./vite/plugins/clientTreeShakePlugin.mjs";
3
4
  import { createFileSystemRouterPlugin } from "./vite/plugins/fileSystemRouterPlugin.mjs";
@@ -1 +1 @@
1
- {"version":3,"names":["resolvePath","clientTreeShakePlugin","createFileSystemRouterPlugin","removeReactNativeWebAnimatedPlugin","SSRCSSPlugin","makePluginWebOnly","build","one"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,WAAA,QAAmB;AAC5B,SAASC,qBAAA,QAA6B;AACtC,SAASC,4BAAA,QAAoC;AAC7C,SAASC,kCAAA,QAA0C;AACnD,SAASC,YAAA,QAAoB;AAE7B,SAASC,iBAAA,QAAyB;AAElC,SAASC,KAAA,QAAa;AACtB,SAASC,GAAA,QAAW","ignoreList":[]}
1
+ {"version":3,"names":["resolvePath","clientTreeShakePlugin","createFileSystemRouterPlugin","removeReactNativeWebAnimatedPlugin","SSRCSSPlugin","makePluginWebOnly","build","one"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":"AAGA,OAAO;AAGP,SAASA,WAAA,QAAmB;AAC5B,SAASC,qBAAA,QAA6B;AACtC,SAASC,4BAAA,QAAoC;AAC7C,SAASC,kCAAA,QAA0C;AACnD,SAASC,YAAA,QAAoB;AAE7B,SAASC,iBAAA,QAAyB;AAElC,SAASC,KAAA,QAAa;AACtB,SAASC,GAAA,QAAW","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ import "./server/setupServerGlobals.native.js";
1
2
  import { resolvePath } from "@vxrn/resolve";
2
3
  import { clientTreeShakePlugin } from "./vite/plugins/clientTreeShakePlugin.native.js";
3
4
  import { createFileSystemRouterPlugin } from "./vite/plugins/fileSystemRouterPlugin.native.js";
@@ -1 +1 @@
1
- {"version":3,"names":["resolvePath","clientTreeShakePlugin","createFileSystemRouterPlugin","removeReactNativeWebAnimatedPlugin","SSRCSSPlugin","makePluginWebOnly","build","one"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,WAAA,QAAmB;AAC5B,SAASC,qBAAA,QAA6B;AACtC,SAASC,4BAAA,QAAoC;AAC7C,SAASC,kCAAA,QAA0C;AACnD,SAASC,YAAA,QAAoB;AAE7B,SAASC,iBAAA,QAAyB;AAElC,SAASC,KAAA,QAAa;AACtB,SAASC,GAAA,QAAW","ignoreList":[]}
1
+ {"version":3,"names":["resolvePath","clientTreeShakePlugin","createFileSystemRouterPlugin","removeReactNativeWebAnimatedPlugin","SSRCSSPlugin","makePluginWebOnly","build","one"],"sources":["../../src/vite.ts"],"sourcesContent":[null],"mappings":"AAGA,OAAO;AAGP,SAASA,WAAA,QAAmB;AAC5B,SAASC,qBAAA,QAA6B;AACtC,SAASC,4BAAA,QAAoC;AAC7C,SAASC,kCAAA,QAA0C;AACnD,SAASC,YAAA,QAAoB;AAE7B,SAASC,iBAAA,QAAyB;AAElC,SAASC,KAAA,QAAa;AACtB,SAASC,GAAA,QAAW","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ const ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY = process.env.ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY
2
+ if (!ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY) {
3
+ throw new Error(
4
+ 'process.env.ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY is not set, make sure you have your one plugin configured correctly.'
5
+ )
6
+ }
7
+
8
+ export const ctx = require.context(
9
+ ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY,
10
+ true,
11
+ // Ignore root `./+html.js` and API route files.
12
+ /^(?:\.\/)(?!(?:(?:(?:.*\+api)|(?:\+html)))\.[tj]sx?$).*\.[tj]sx?$/
13
+ )
package/metro-entry.js ADDED
@@ -0,0 +1,21 @@
1
+ import { createApp } from 'one'
2
+ import { ctx } from './metro-entry-ctx.js'
3
+
4
+ let ONE_ROUTER_ROOT_FOLDER_NAME = process.env.ONE_ROUTER_ROOT_FOLDER_NAME
5
+ if (!ONE_ROUTER_ROOT_FOLDER_NAME) {
6
+ console.warn(
7
+ 'process.env.ONE_ROUTER_ROOT_FOLDER_NAME is not set, make sure you have your one plugin configured correctly.'
8
+ )
9
+ ONE_ROUTER_ROOT_FOLDER_NAME = 'app'
10
+ }
11
+
12
+ const routes = ctx.keys().reduce((acc, key) => {
13
+ const path = key.replace(/^\.\//, `/${ONE_ROUTER_ROOT_FOLDER_NAME}/`)
14
+ acc[path] = async () => ctx(key)
15
+ return acc
16
+ }, {})
17
+
18
+ createApp({
19
+ routes,
20
+ routerRoot: ONE_ROUTER_ROOT_FOLDER_NAME,
21
+ })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.1.501",
3
+ "version": "1.1.502",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -55,6 +55,20 @@
55
55
  "./react-dom-18": {
56
56
  "require": "./vendor/react-dom/cjs/react-dom.development.js",
57
57
  "import": "./vendor/react-dom/cjs/react-dom.development.js"
58
+ },
59
+ "./babel-plugin-one-router-metro": {
60
+ "import": "./dist/esm/babel-plugins/one-router-metro.mjs",
61
+ "require": "./dist/cjs/babel-plugins/one-router-metro.cjs",
62
+ "types": "./types/babel-plugins/one-router-metro.d.ts"
63
+ },
64
+ "./getViteMetroPluginOptions": {
65
+ "import": "./dist/esm/metro-config/getViteMetroPluginOptions.mjs",
66
+ "require": "./dist/cjs/metro-config/getViteMetroPluginOptions.cjs",
67
+ "types": "./types/metro-config/getViteMetroPluginOptions.d.ts"
68
+ },
69
+ "./metro-entry": {
70
+ "require": "./metro-entry.js",
71
+ "import": "./metro-entry.js"
58
72
  }
59
73
  },
60
74
  "main": "dist/cjs",
@@ -67,6 +81,8 @@
67
81
  "types",
68
82
  "dist",
69
83
  "vendor",
84
+ "metro-entry.js",
85
+ "metro-entry-ctx.js",
70
86
  "LICENSE"
71
87
  ],
72
88
  "scripts": {
@@ -81,6 +97,7 @@
81
97
  },
82
98
  "dependencies": {
83
99
  "@azure/core-asynciterator-polyfill": "^1.0.2",
100
+ "@babel/core": "^7.26.8",
84
101
  "@babel/generator": "^7.26.8",
85
102
  "@babel/parser": "^7.26.8",
86
103
  "@babel/traverse": "^7.26.8",
@@ -96,15 +113,16 @@
96
113
  "@react-navigation/routers": "~7.3.2",
97
114
  "@swc/core": "^1.10.4",
98
115
  "@ungap/structured-clone": "^1.2.0",
99
- "@vxrn/compiler": "1.1.501",
100
- "@vxrn/resolve": "1.1.501",
101
- "@vxrn/tslib-lite": "1.1.501",
102
- "@vxrn/universal-color-scheme": "1.1.501",
103
- "@vxrn/use-isomorphic-layout-effect": "1.1.501",
116
+ "@vxrn/compiler": "1.1.502",
117
+ "@vxrn/resolve": "1.1.502",
118
+ "@vxrn/tslib-lite": "1.1.502",
119
+ "@vxrn/universal-color-scheme": "1.1.502",
120
+ "@vxrn/use-isomorphic-layout-effect": "1.1.502",
104
121
  "babel-dead-code-elimination": "^1.0.9",
122
+ "babel-plugin-module-resolver": "^5",
105
123
  "citty": "^0.1.6",
106
124
  "core-js": "^3.38.1",
107
- "create-vxrn": "1.1.501",
125
+ "create-vxrn": "1.1.502",
108
126
  "escape-string-regexp": "^5.0.0",
109
127
  "expo-linking": "~6.3.1",
110
128
  "expo-modules-core": "2.3.13",
@@ -126,19 +144,21 @@
126
144
  "react-native-safe-area-context": "5.4.1",
127
145
  "react-native-screens": "4.10.0",
128
146
  "ts-pattern": "^5.6.2",
147
+ "tsconfig-paths": "^4",
129
148
  "use-latest-callback": "^0.2.3",
130
149
  "vite": "^6.1.0",
131
150
  "vite-plugin-barrel": "^0.4.1",
132
151
  "vite-tsconfig-paths": "^5.0.1",
133
- "vxrn": "1.1.501",
152
+ "vxrn": "1.1.502",
134
153
  "ws": "^8.18.0",
135
154
  "xxhashjs": "^0.2.2"
136
155
  },
137
156
  "devDependencies": {
138
- "@tamagui/build": "^1.128.1",
157
+ "@tamagui/build": "^1.129.5",
139
158
  "@types/node": "^22.1.0",
140
159
  "@types/react-dom": "^18.2.25",
141
160
  "@types/xxhashjs": "^0.2.4",
161
+ "@vxrn/vite-plugin-metro": "1.1.502",
142
162
  "depcheck": "^1.4.7",
143
163
  "immer": "^10.1.1",
144
164
  "react-native": "~0.79.2",
@@ -0,0 +1,46 @@
1
+ import type { NodePath } from '@babel/core'
2
+ import * as t from '@babel/types'
3
+
4
+ type PluginOptions = {
5
+ ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY?: string
6
+ ONE_ROUTER_ROOT_FOLDER_NAME?: string
7
+ }
8
+
9
+ function oneRouterMetroPlugin(_: any, options: PluginOptions) {
10
+ function isFirstInAssign(path: NodePath<t.MemberExpression>) {
11
+ return t.isAssignmentExpression(path.parent) && path.parent.left === path.node
12
+ }
13
+
14
+ const { ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY, ONE_ROUTER_ROOT_FOLDER_NAME } = options
15
+
16
+ if (!ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY) {
17
+ throw new Error(
18
+ `[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY`
19
+ )
20
+ }
21
+ if (!ONE_ROUTER_ROOT_FOLDER_NAME) {
22
+ throw new Error(
23
+ `[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_ROOT_FOLDER_NAME`
24
+ )
25
+ }
26
+
27
+ return {
28
+ name: 'one-router-metro',
29
+ visitor: {
30
+ MemberExpression(path: any, state: any) {
31
+ if (path.get('object').matchesPattern('process.env')) {
32
+ const key = path.toComputedKey()
33
+ if (t.isStringLiteral(key) && !isFirstInAssign(path)) {
34
+ if (key.value.startsWith('ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY')) {
35
+ path.replaceWith(t.stringLiteral(ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY))
36
+ } else if (key.value.startsWith('ONE_ROUTER_ROOT_FOLDER_NAME')) {
37
+ path.replaceWith(t.stringLiteral(ONE_ROUTER_ROOT_FOLDER_NAME))
38
+ }
39
+ }
40
+ }
41
+ },
42
+ },
43
+ }
44
+ }
45
+
46
+ export default oneRouterMetroPlugin
package/src/cli/build.ts CHANGED
@@ -39,6 +39,8 @@ export async function build(args: {
39
39
  only?: string
40
40
  platform?: 'ios' | 'web' | 'android'
41
41
  }) {
42
+ process.env.IS_VXRN_CLI = 'true'
43
+
42
44
  // set NODE_ENV, do before loading vite.config (see loadConfigFromFile)
43
45
  process.env.NODE_ENV = 'production'
44
46
 
package/src/cli/patch.ts CHANGED
@@ -2,6 +2,7 @@ import type { SimpleDepPatchObject } from 'vxrn'
2
2
  import { loadUserOneOptions } from '../vite/loadConfig'
3
3
 
4
4
  export async function run(args: {}) {
5
+ process.env.IS_VXRN_CLI = 'true'
5
6
  const { patch } = await import('vxrn')
6
7
 
7
8
  const options = await loadUserOneOptions('build')
package/src/config.ts CHANGED
@@ -7,7 +7,9 @@ export const getDefaultRenderMode = () => {
7
7
  const serverConfig = globalThis['__vxrnPluginConfig__'] as One.PluginOptions | undefined
8
8
 
9
9
  if (!CLIENT_RENDER_MODE && isWebServer && !serverConfig) {
10
- throw new Error(`Internal one error: should call setServerConfig before createManifest`)
10
+ if (process.env.IS_VXRN_CLI) {
11
+ throw new Error(`Internal one error: should call setServerConfig before createManifest`)
12
+ }
11
13
  }
12
14
 
13
15
  return CLIENT_RENDER_MODE ?? serverConfig?.web?.defaultRenderMode ?? 'ssg'
@@ -0,0 +1,111 @@
1
+ import type { metroPlugin } from '@vxrn/vite-plugin-metro'
2
+ import module from 'node:module'
3
+ import path from 'node:path'
4
+ import tsconfigPaths from 'tsconfig-paths'
5
+
6
+ export function getViteMetroPluginOptions({
7
+ projectRoot,
8
+ relativeRouterRoot,
9
+ }: {
10
+ projectRoot: string
11
+ relativeRouterRoot: string
12
+ }): Parameters<typeof metroPlugin>[0] {
13
+ const tsconfigPathsConfigLoadResult = tsconfigPaths.loadConfig(projectRoot)
14
+
15
+ if (tsconfigPathsConfigLoadResult.resultType === 'failed') {
16
+ throw new Error('tsconfigPathsConfigLoadResult.resultType is not success')
17
+ }
18
+
19
+ const require = module.createRequire(projectRoot)
20
+ const emptyPath = require.resolve('@vxrn/vite-plugin-metro/empty', {
21
+ paths: [projectRoot],
22
+ })
23
+
24
+ const metroEntryPath = require.resolve('one/metro-entry', {
25
+ paths: [projectRoot],
26
+ })
27
+ return {
28
+ defaultConfigOverrides: (defaultConfig) => {
29
+ return {
30
+ ...defaultConfig,
31
+ resolver: {
32
+ ...defaultConfig?.resolver,
33
+ extraNodeModules: {
34
+ ...defaultConfig?.resolver?.extraNodeModules,
35
+ // "vite-tsconfig-paths" for Metro
36
+ ...Object.fromEntries(
37
+ Object.entries(tsconfigPathsConfigLoadResult.paths)
38
+ .map(([k, v]) => {
39
+ if (k.endsWith('/*') && v[0]?.endsWith('/*')) {
40
+ const key = k.replace(/\/\*$/, '')
41
+ let value = v[0].replace(/\/\*$/, '')
42
+
43
+ value = path.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value)
44
+
45
+ return [key, value]
46
+ }
47
+ })
48
+ .filter((i): i is NonNullable<typeof i> => !!i)
49
+ ),
50
+ },
51
+ nodeModulesPaths: tsconfigPathsConfigLoadResult.absoluteBaseUrl
52
+ ? [
53
+ // "vite-tsconfig-paths" for Metro
54
+ tsconfigPathsConfigLoadResult.absoluteBaseUrl,
55
+ ...(defaultConfig?.resolver?.nodeModulesPaths || []),
56
+ ]
57
+ : defaultConfig?.resolver?.nodeModulesPaths,
58
+ resolveRequest: (context, moduleName, platform) => {
59
+ if (moduleName.endsWith('.css')) {
60
+ console.warn(
61
+ `[one/metro] *.css files are ignored for now, resolving ${moduleName} to empty module.`
62
+ )
63
+ return {
64
+ type: 'sourceFile',
65
+ filePath: emptyPath,
66
+ }
67
+ }
68
+
69
+ const defaultResolveRequest =
70
+ defaultConfig?.resolver?.resolveRequest || context.resolveRequest
71
+ const res = defaultResolveRequest(context, moduleName, platform)
72
+ return res
73
+ },
74
+ },
75
+ }
76
+ },
77
+ babelConfig: {
78
+ plugins: [
79
+ [
80
+ 'babel-plugin-module-resolver',
81
+ {
82
+ alias: {
83
+ ...Object.fromEntries(
84
+ Object.entries(tsconfigPathsConfigLoadResult.paths).map(([k, v]) => {
85
+ const key = k.replace(/\/\*$/, '')
86
+ let value = v[0].replace(/\/\*$/, '')
87
+
88
+ if (!value.startsWith('./')) {
89
+ value = `./${value}`
90
+ }
91
+
92
+ return [key, value]
93
+ })
94
+ ),
95
+ },
96
+ },
97
+ ],
98
+ [
99
+ 'one/babel-plugin-one-router-metro',
100
+ {
101
+ ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY: path.relative(
102
+ path.dirname(metroEntryPath),
103
+ path.join(projectRoot, relativeRouterRoot)
104
+ ),
105
+ ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot,
106
+ },
107
+ ],
108
+ ],
109
+ },
110
+ }
111
+ }
@@ -0,0 +1,3 @@
1
+ import { setServerGlobals } from './setServerGlobals'
2
+
3
+ setServerGlobals()
@@ -5,7 +5,8 @@ export const dynamicImport = (path: string) => {
5
5
  // import causes an "invalid expression" bug in react native
6
6
  // TODO make this work, probably needs to fetch + eval?
7
7
  console.info(`dynamicImport TODO`, path)
8
- return require(path)
8
+ // return require(path)
9
+ return Promise.resolve(undefined)
9
10
  }
10
11
 
11
12
  if (process.env.TAMAGUI_TARGET !== 'native') {
package/src/vite/one.ts CHANGED
@@ -6,6 +6,7 @@ import type { Plugin, PluginOption, UserConfig } from 'vite'
6
6
  import { barrel } from 'vite-plugin-barrel'
7
7
  import tsconfigPaths from 'vite-tsconfig-paths'
8
8
  import { autoDepOptimizePlugin, getOptimizeDeps, getOptionsFilled, loadEnv } from 'vxrn'
9
+ import vxrnVitePlugin from 'vxrn/vite-plugin'
9
10
  import { CACHE_KEY } from '../constants'
10
11
  import '../polyfills-server'
11
12
  import { getRouterRootFromOneOptions } from '../utils/getRouterRootFromOneOptions'
@@ -19,6 +20,13 @@ import { SSRCSSPlugin } from './plugins/SSRCSSPlugin'
19
20
  import { virtualEntryId } from './plugins/virtualEntryConstants'
20
21
  import { createVirtualEntry } from './plugins/virtualEntryPlugin'
21
22
  import type { One } from './types'
23
+ import type {
24
+ ExpoManifestRequestHandlerPluginPluginOptions,
25
+ MetroPluginOptions,
26
+ } from '@vxrn/vite-plugin-metro'
27
+ import { getViteMetroPluginOptions } from '../metro-config/getViteMetroPluginOptions'
28
+
29
+ type MetroOptions = MetroPluginOptions
22
30
 
23
31
  /**
24
32
  * This needs a big refactor!
@@ -37,12 +45,63 @@ globalThis.__vxrnEnableNativeEnv = true
37
45
  // until then we want to avoid double loading everything on first start
38
46
 
39
47
  export function one(options: One.PluginOptions = {}): PluginOption {
40
- if (!globalThis.__oneOptions) {
41
- // first load we are just loading it ourselves to get the user options
42
- // so we can just set here and return nothing
43
- setOneOptions(options)
44
- globalThis['__vxrnPluginConfig__'] = options
45
- return []
48
+ const routerRoot = getRouterRootFromOneOptions(options)
49
+
50
+ /**
51
+ * A non-null value means that we are going to use Metro.
52
+ */
53
+ const metroOptions: (MetroOptions & ExpoManifestRequestHandlerPluginPluginOptions) | null =
54
+ (() => {
55
+ if (options.native?.bundler !== 'metro' && !process.env.ONE_METRO_MODE) return null
56
+
57
+ if (process.env.ONE_METRO_MODE) {
58
+ console.info('ONE_METRO_MODE environment variable is set, enabling Metro mode')
59
+ }
60
+
61
+ const routerRoot = getRouterRootFromOneOptions(options)
62
+
63
+ const defaultMetroOptions = getViteMetroPluginOptions({
64
+ projectRoot: process.cwd(), // TODO: hard-coded process.cwd(), we should make this optional since the plugin can have a default to vite's `config.root`.
65
+ relativeRouterRoot: routerRoot,
66
+ })
67
+
68
+ const userMetroOptions = options.native?.bundlerOptions as typeof defaultMetroOptions
69
+
70
+ // TODO: [METRO-OPTIONS-MERGING] We only do shallow merge here.
71
+ return {
72
+ ...defaultMetroOptions,
73
+ ...userMetroOptions,
74
+ argv: {
75
+ ...defaultMetroOptions?.argv,
76
+ ...userMetroOptions?.argv,
77
+ },
78
+ babelConfig: {
79
+ ...defaultMetroOptions?.babelConfig,
80
+ ...userMetroOptions?.babelConfig,
81
+ },
82
+ // TODO: merge defaultConfigOverrides
83
+ mainModuleName: 'one/metro-entry', // So users won't need to write `"main": "one/metro-entry"` in their `package.json` like ordinary Expo apps.
84
+ }
85
+ })()
86
+
87
+ const vxrnPlugins: PluginOption[] = []
88
+
89
+ if (!process.env.IS_VXRN_CLI) {
90
+ console.warn('Experimental: running VxRN as a Vite plugin. This is not yet stable.')
91
+ vxrnPlugins.push(
92
+ vxrnVitePlugin({
93
+ metro: metroOptions,
94
+ })
95
+ )
96
+ } else {
97
+ if (!globalThis.__oneOptions) {
98
+ // first load we are just loading it ourselves to get the user options
99
+ // so we can just set here and return nothing
100
+ setOneOptions(options)
101
+ globalThis['__vxrnPluginConfig__'] = options
102
+ globalThis['__vxrnMetroOptions__'] = metroOptions
103
+ return []
104
+ }
46
105
  }
47
106
 
48
107
  clearCompilerCache()
@@ -249,7 +308,7 @@ export function one(options: One.PluginOptions = {}): PluginOption {
249
308
 
250
309
  ssr: {
251
310
  define: {
252
- 'process.env.VITE_ENVIRONMENT': '"ssr"',
311
+ 'process.env.VITE_ENVIRONMENT': '"ssr"', // Note that we are also setting `process.env.VITE_ENVIRONMENT = 'ssr'` for this current process. See `setServerGlobals()` and `setupServerGlobals.ts`.
253
312
  'process.env.TAMAGUI_ENVIRONMENT': '"ssr"',
254
313
  'import.meta.env.VITE_ENVIRONMENT': '"ssr"',
255
314
  'process.env.EXPO_OS': '"web"',
@@ -450,9 +509,8 @@ export function one(options: One.PluginOptions = {}): PluginOption {
450
509
  experimentalPreventLayoutRemounting: options.router?.experimental?.preventLayoutRemounting,
451
510
  }
452
511
 
453
- const routerRoot = getRouterRootFromOneOptions(options)
454
-
455
512
  return [
513
+ ...vxrnPlugins,
456
514
  ...devAndProdPlugins,
457
515
  ...nativeWebDevAndProdPlugsin,
458
516
 
package/src/vite/types.ts CHANGED
@@ -9,6 +9,9 @@ import type {
9
9
  VXRNOptions,
10
10
  } from 'vxrn'
11
11
  import type { RouteNode } from '../router/Route'
12
+ import type { metroPlugin } from '@vxrn/vite-plugin-metro'
13
+
14
+ type MetroPluginOptions = Parameters<typeof metroPlugin>[0]
12
15
 
13
16
  export type RouteInfo<TRegex = string> = {
14
17
  file: string
@@ -200,7 +203,24 @@ export namespace One {
200
203
  * Turns on react-native-css-interop support when importing CSS on native
201
204
  */
202
205
  css?: boolean
203
- }
206
+
207
+ /**
208
+ * Experimental bundler to use for native builds. Current default is 'vite'.
209
+ * The ONE_METRO_MODE environment variable can override this setting to 'metro'.
210
+ */
211
+ bundler?: 'metro' | 'vite'
212
+ } & (
213
+ | {
214
+ bundler: 'metro'
215
+ /** Options merging for Metro is not fully implemented in the One plugin, changing this may not work properly. Search for "METRO-OPTIONS-MERGING" in the codebase for details. */
216
+ bundlerOptions?: MetroPluginOptions
217
+ }
218
+ | {
219
+ bundler?: 'vite'
220
+ /** No configurable options with the default vite bundler. */
221
+ bundlerOptions?: { currentlyHaveNoOptions?: null }
222
+ }
223
+ )
204
224
 
205
225
  web?: {
206
226
  /**
package/src/vite.ts CHANGED
@@ -1,3 +1,8 @@
1
+ // This needs to load before any other imports that might use the server globals.
2
+ // Specifically `one-server-only`, which will be imported at some level under
3
+ // some of the subsequent imports.
4
+ import './server/setupServerGlobals'
5
+
1
6
  // plugins
2
7
  export { resolvePath } from '@vxrn/resolve'
3
8
  export { clientTreeShakePlugin } from './vite/plugins/clientTreeShakePlugin'
@@ -0,0 +1,12 @@
1
+ type PluginOptions = {
2
+ ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY?: string;
3
+ ONE_ROUTER_ROOT_FOLDER_NAME?: string;
4
+ };
5
+ declare function oneRouterMetroPlugin(_: any, options: PluginOptions): {
6
+ name: string;
7
+ visitor: {
8
+ MemberExpression(path: any, state: any): void;
9
+ };
10
+ };
11
+ export default oneRouterMetroPlugin;
12
+ //# sourceMappingURL=one-router-metro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"one-router-metro.d.ts","sourceRoot":"","sources":["../../src/babel-plugins/one-router-metro.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,GAAG;IACnB,qCAAqC,CAAC,EAAE,MAAM,CAAA;IAC9C,2BAA2B,CAAC,EAAE,MAAM,CAAA;CACrC,CAAA;AAED,iBAAS,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa;;;+BAqB/B,GAAG,SAAS,GAAG;;EAc3C;AAED,eAAe,oBAAoB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAoCA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBA6gBA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/cli/build.ts"],"names":[],"mappings":"AAoCA,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAA;CACrC,iBA+gBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../src/cli/patch.ts"],"names":[],"mappings":"AAGA,wBAAsB,GAAG,CAAC,IAAI,EAAE,EAAE,iBASjC"}
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../src/cli/patch.ts"],"names":[],"mappings":"AAGA,wBAAsB,GAAG,CAAC,IAAI,EAAE,EAAE,iBAUjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAGvC,eAAO,MAAM,oBAAoB,2BAShC,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAGvC,eAAO,MAAM,oBAAoB,2BAWhC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { metroPlugin } from '@vxrn/vite-plugin-metro';
2
+ export declare function getViteMetroPluginOptions({ projectRoot, relativeRouterRoot, }: {
3
+ projectRoot: string;
4
+ relativeRouterRoot: string;
5
+ }): Parameters<typeof metroPlugin>[0];
6
+ //# sourceMappingURL=getViteMetroPluginOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getViteMetroPluginOptions.d.ts","sourceRoot":"","sources":["../../src/metro-config/getViteMetroPluginOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAK1D,wBAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,kBAAkB,GACnB,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAmGpC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=setupServerGlobals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupServerGlobals.d.ts","sourceRoot":"","sources":["../../src/server/setupServerGlobals.ts"],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- export declare const dynamicImport: (path: string) => any;
1
+ export declare const dynamicImport: (path: string) => Promise<any> | undefined;
2
2
  //# sourceMappingURL=dynamicImport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamicImport.d.ts","sourceRoot":"","sources":["../../src/utils/dynamicImport.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,QAczC,CAAA"}
1
+ {"version":3,"file":"dynamicImport.d.ts","sourceRoot":"","sources":["../../src/utils/dynamicImport.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,6BAezC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,YAAY,EAAc,MAAM,MAAM,CAAA;AAK5D,OAAO,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAkBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CAwcjE"}
1
+ {"version":3,"file":"one.d.ts","sourceRoot":"","sources":["../../src/vite/one.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,YAAY,EAAc,MAAM,MAAM,CAAA;AAM5D,OAAO,qBAAqB,CAAA;AAW5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAyBlC,wBAAgB,GAAG,CAAC,OAAO,GAAE,GAAG,CAAC,aAAkB,GAAG,YAAY,CA0fjE"}
@@ -2,6 +2,8 @@ import type { GetTransform } from '@vxrn/compiler';
2
2
  import type { PluginOptions as TSConfigPluginOptions } from 'vite-tsconfig-paths';
3
3
  import type { AutoDepOptimizationOptions, DepOptimize, DepPatch, AfterBuildProps as VXRNAfterBuildProps, VXRNBuildOptions, VXRNOptions } from 'vxrn';
4
4
  import type { RouteNode } from '../router/Route';
5
+ import type { metroPlugin } from '@vxrn/vite-plugin-metro';
6
+ type MetroPluginOptions = Parameters<typeof metroPlugin>[0];
5
7
  export type RouteInfo<TRegex = string> = {
6
8
  file: string;
7
9
  page: string;
@@ -167,7 +169,22 @@ export declare namespace One {
167
169
  * Turns on react-native-css-interop support when importing CSS on native
168
170
  */
169
171
  css?: boolean;
170
- };
172
+ /**
173
+ * Experimental bundler to use for native builds. Current default is 'vite'.
174
+ * The ONE_METRO_MODE environment variable can override this setting to 'metro'.
175
+ */
176
+ bundler?: 'metro' | 'vite';
177
+ } & ({
178
+ bundler: 'metro';
179
+ /** Options merging for Metro is not fully implemented in the One plugin, changing this may not work properly. Search for "METRO-OPTIONS-MERGING" in the codebase for details. */
180
+ bundlerOptions?: MetroPluginOptions;
181
+ } | {
182
+ bundler?: 'vite';
183
+ /** No configurable options with the default vite bundler. */
184
+ bundlerOptions?: {
185
+ currentlyHaveNoOptions?: null;
186
+ };
187
+ });
171
188
  web?: {
172
189
  /**
173
190
  * Choose the default strategy for pages to be rendered on the web.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"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"}
package/types/vite.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import './server/setupServerGlobals';
1
2
  export { resolvePath } from '@vxrn/resolve';
2
3
  export { clientTreeShakePlugin } from './vite/plugins/clientTreeShakePlugin';
3
4
  export { createFileSystemRouterPlugin } from './vite/plugins/fileSystemRouterPlugin';