vxrn 2.0.0-beta.98.1 → 2.6.0

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 (210) hide show
  1. package/dist/backgroundComputation.mjs +145 -0
  2. package/dist/backgroundComputation.mjs.map +1 -0
  3. package/dist/backgroundComputation.native.js +163 -0
  4. package/dist/backgroundComputation.native.js.map +1 -0
  5. package/dist/backgroundComputationNative.mjs +16 -0
  6. package/dist/backgroundComputationNative.mjs.map +1 -0
  7. package/dist/backgroundComputationNative.native.js +18 -0
  8. package/dist/backgroundComputationNative.native.js.map +1 -0
  9. package/dist/config/getBaseViteConfigOnly.mjs +6 -10
  10. package/dist/config/getBaseViteConfigOnly.mjs.map +1 -1
  11. package/dist/config/getBaseViteConfigOnly.native.js +6 -10
  12. package/dist/config/getBaseViteConfigOnly.native.js.map +1 -1
  13. package/dist/config/getOptimizeDeps.mjs +2 -1
  14. package/dist/config/getOptimizeDeps.mjs.map +1 -1
  15. package/dist/config/getOptimizeDeps.native.js +2 -1
  16. package/dist/config/getOptimizeDeps.native.js.map +1 -1
  17. package/dist/config/getViteServerConfig.mjs +13 -0
  18. package/dist/config/getViteServerConfig.mjs.map +1 -1
  19. package/dist/config/getViteServerConfig.native.js +15 -1
  20. package/dist/config/getViteServerConfig.native.js.map +1 -1
  21. package/dist/constants/defaults.mjs +4 -0
  22. package/dist/constants/defaults.mjs.map +1 -1
  23. package/dist/constants/defaults.native.js +4 -0
  24. package/dist/constants/defaults.native.js.map +1 -1
  25. package/dist/exports/build.native.js +1 -1
  26. package/dist/exports/build.native.js.map +1 -1
  27. package/dist/exports/clean.native.js +1 -1
  28. package/dist/exports/clean.native.js.map +1 -1
  29. package/dist/exports/createServer.native.js +2 -2
  30. package/dist/exports/createServer.native.js.map +1 -1
  31. package/dist/exports/dev.mjs +3 -0
  32. package/dist/exports/dev.mjs.map +1 -1
  33. package/dist/exports/dev.native.js +6 -3
  34. package/dist/exports/dev.native.js.map +1 -1
  35. package/dist/exports/loadEnv.native.js +1 -1
  36. package/dist/exports/loadEnv.native.js.map +1 -1
  37. package/dist/exports/patch.native.js +1 -1
  38. package/dist/exports/patch.native.js.map +1 -1
  39. package/dist/exports/prebuild.mjs +0 -22
  40. package/dist/exports/prebuild.mjs.map +1 -1
  41. package/dist/exports/prebuild.native.js +1 -23
  42. package/dist/exports/prebuild.native.js.map +1 -1
  43. package/dist/exports/prebuildWithoutExpo.mjs +1133 -182
  44. package/dist/exports/prebuildWithoutExpo.mjs.map +1 -1
  45. package/dist/exports/prebuildWithoutExpo.native.js +1606 -244
  46. package/dist/exports/prebuildWithoutExpo.native.js.map +1 -1
  47. package/dist/exports/runAndroid.native.js +1 -1
  48. package/dist/exports/runAndroid.native.js.map +1 -1
  49. package/dist/exports/runIos.native.js +1 -1
  50. package/dist/exports/runIos.native.js.map +1 -1
  51. package/dist/exports/serve.native.js +1 -1
  52. package/dist/exports/serve.native.js.map +1 -1
  53. package/dist/exports/serveStaticAssets.native.js +1 -1
  54. package/dist/exports/serveStaticAssets.native.js.map +1 -1
  55. package/dist/index.js +4 -1
  56. package/dist/index.mjs +4 -1
  57. package/dist/index.native.js +4 -1
  58. package/dist/native-source-contract.mjs +3 -0
  59. package/dist/native-source-contract.native.js +3 -0
  60. package/dist/patches/builtInDepPatches.mjs +0 -13
  61. package/dist/patches/builtInDepPatches.mjs.map +1 -1
  62. package/dist/patches/builtInDepPatches.native.js +0 -13
  63. package/dist/patches/builtInDepPatches.native.js.map +1 -1
  64. package/dist/plugins/autoDepOptimizePlugin.mjs +3 -2
  65. package/dist/plugins/autoDepOptimizePlugin.mjs.map +1 -1
  66. package/dist/plugins/autoDepOptimizePlugin.native.js +6 -3
  67. package/dist/plugins/autoDepOptimizePlugin.native.js.map +1 -1
  68. package/dist/plugins/backgroundComputationPlugin.mjs +27 -0
  69. package/dist/plugins/backgroundComputationPlugin.mjs.map +1 -0
  70. package/dist/plugins/backgroundComputationPlugin.native.js +32 -0
  71. package/dist/plugins/backgroundComputationPlugin.native.js.map +1 -0
  72. package/dist/plugins/reactNativeCommonJsPlugin.native.js +3 -3
  73. package/dist/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
  74. package/dist/plugins/reactNativeDevAssetPlugin.mjs +2 -1
  75. package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -1
  76. package/dist/plugins/reactNativeDevAssetPlugin.native.js +3 -2
  77. package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
  78. package/dist/plugins/reactNativeDevServer.mjs +87 -24
  79. package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
  80. package/dist/plugins/reactNativeDevServer.native.js +162 -45
  81. package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
  82. package/dist/plugins/workletImportsPlugin.mjs +9 -30
  83. package/dist/plugins/workletImportsPlugin.mjs.map +1 -1
  84. package/dist/plugins/workletImportsPlugin.native.js +10 -35
  85. package/dist/plugins/workletImportsPlugin.native.js.map +1 -1
  86. package/dist/rn-commands/bundle/buildBundle.mjs +3 -3
  87. package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
  88. package/dist/rn-commands/bundle/buildBundle.native.js +3 -3
  89. package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
  90. package/dist/runtime/hmr-client.native.js +3 -7
  91. package/dist/runtime/hmr-client.native.js.map +1 -1
  92. package/dist/runtime/hmr-runtime.native.js +32 -40
  93. package/dist/runtime/hmr-runtime.native.js.map +1 -1
  94. package/dist/serve/node.native.js +2 -2
  95. package/dist/serve/node.native.js.map +1 -1
  96. package/dist/swift-package-id.mjs +3 -0
  97. package/dist/swift-package-id.native.js +3 -0
  98. package/dist/user-interface/index.native.js +6 -6
  99. package/dist/user-interface/index.native.js.map +1 -1
  100. package/dist/utils/compileNativeDevBytecode.mjs +93 -0
  101. package/dist/utils/compileNativeDevBytecode.mjs.map +1 -0
  102. package/dist/utils/compileNativeDevBytecode.native.js +98 -0
  103. package/dist/utils/compileNativeDevBytecode.native.js.map +1 -0
  104. package/dist/utils/createNativeDevEngine.mjs +227 -20
  105. package/dist/utils/createNativeDevEngine.mjs.map +1 -1
  106. package/dist/utils/createNativeDevEngine.native.js +249 -37
  107. package/dist/utils/createNativeDevEngine.native.js.map +1 -1
  108. package/dist/utils/execSync.native.js +1 -1
  109. package/dist/utils/execSync.native.js.map +1 -1
  110. package/dist/utils/getServerEntry.native.js +2 -2
  111. package/dist/utils/getServerEntry.native.js.map +1 -1
  112. package/dist/utils/nativeRun.mjs +32 -16
  113. package/dist/utils/nativeRun.mjs.map +1 -1
  114. package/dist/utils/nativeRun.native.js +43 -18
  115. package/dist/utils/nativeRun.native.js.map +1 -1
  116. package/dist/utils/nativeSourceContract.mjs +1823 -0
  117. package/dist/utils/nativeSourceContract.mjs.map +1 -0
  118. package/dist/utils/nativeSourceContract.native.js +2425 -0
  119. package/dist/utils/nativeSourceContract.native.js.map +1 -0
  120. package/dist/utils/patches.native.js +15 -24
  121. package/dist/utils/patches.native.js.map +1 -1
  122. package/dist/utils/printServerUrls.native.js +1 -1
  123. package/dist/utils/printServerUrls.native.js.map +1 -1
  124. package/dist/utils/scanDepsToOptimize.mjs +7 -1
  125. package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
  126. package/dist/utils/scanDepsToOptimize.native.js +27 -2
  127. package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
  128. package/dist/utils/swiftPackageId.mjs +31 -2
  129. package/dist/utils/swiftPackageId.mjs.map +1 -1
  130. package/dist/utils/swiftPackageId.native.js +50 -2
  131. package/dist/utils/swiftPackageId.native.js.map +1 -1
  132. package/dist/vxrn-vite-plugin.native.js +1 -1
  133. package/dist/vxrn-vite-plugin.native.js.map +1 -1
  134. package/expo-plugin.cjs +792 -2
  135. package/native-project-patches.cjs +201 -10
  136. package/package.json +34 -15
  137. package/src/backgroundComputation.ts +220 -0
  138. package/src/backgroundComputationNative.ts +23 -0
  139. package/src/config/getBaseViteConfigOnly.ts +8 -9
  140. package/src/config/getOptimizeDeps.ts +3 -1
  141. package/src/config/getViteServerConfig.ts +16 -0
  142. package/src/config/glbAssets.test.ts +228 -0
  143. package/src/constants/defaults.ts +6 -0
  144. package/src/exports/dev.ts +5 -1
  145. package/src/exports/expoPlugin.test.mjs +337 -15
  146. package/src/exports/prebuild.ts +0 -31
  147. package/src/exports/prebuildWithoutExpo.test.ts +1623 -46
  148. package/src/exports/prebuildWithoutExpo.ts +1606 -216
  149. package/src/index.ts +8 -0
  150. package/src/native-source-contract.ts +16 -0
  151. package/src/patches/builtInDepPatches.ts +0 -21
  152. package/src/plugins/autoDepOptimizePlugin.ts +7 -2
  153. package/src/plugins/backgroundComputationPlugin.test.ts +77 -0
  154. package/src/plugins/backgroundComputationPlugin.ts +29 -0
  155. package/src/plugins/reactNativeDevAssetPlugin.ts +5 -1
  156. package/src/plugins/reactNativeDevServer.test.ts +74 -0
  157. package/src/plugins/reactNativeDevServer.ts +145 -28
  158. package/src/plugins/rnCodegenPlugin.test.ts +30 -0
  159. package/src/plugins/workletImportsPlugin.ts +19 -37
  160. package/src/rn-commands/bundle/buildBundle.ts +5 -3
  161. package/src/swift-package-id.ts +1 -0
  162. package/src/utils/compileNativeDevBytecode.test.ts +168 -0
  163. package/src/utils/compileNativeDevBytecode.ts +117 -0
  164. package/src/utils/createNativeDevEngine.test.ts +643 -18
  165. package/src/utils/createNativeDevEngine.ts +278 -48
  166. package/src/utils/nativeRun.test.ts +125 -23
  167. package/src/utils/nativeRun.ts +51 -23
  168. package/src/utils/nativeSourceArtifacts.test.ts +39 -0
  169. package/src/utils/nativeSourceContract.test.ts +600 -0
  170. package/src/utils/nativeSourceContract.ts +1897 -0
  171. package/src/utils/scanDepsToOptimize.test.ts +80 -0
  172. package/src/utils/scanDepsToOptimize.ts +18 -7
  173. package/src/utils/swiftPackageId.ts +25 -1
  174. package/types/backgroundComputation.d.ts +28 -0
  175. package/types/backgroundComputation.d.ts.map +1 -0
  176. package/types/backgroundComputationNative.d.ts +2 -0
  177. package/types/backgroundComputationNative.d.ts.map +1 -0
  178. package/types/config/getBaseViteConfigOnly.d.ts.map +1 -1
  179. package/types/config/getOptimizeDeps.d.ts.map +1 -1
  180. package/types/config/getViteServerConfig.d.ts.map +1 -1
  181. package/types/constants/defaults.d.ts.map +1 -1
  182. package/types/exports/dev.d.ts.map +1 -1
  183. package/types/exports/prebuild.d.ts.map +1 -1
  184. package/types/exports/prebuildWithoutExpo.d.ts +6 -0
  185. package/types/exports/prebuildWithoutExpo.d.ts.map +1 -1
  186. package/types/index.d.ts +2 -0
  187. package/types/index.d.ts.map +1 -1
  188. package/types/native-source-contract.d.ts +2 -0
  189. package/types/native-source-contract.d.ts.map +1 -0
  190. package/types/patches/builtInDepPatches.d.ts.map +1 -1
  191. package/types/plugins/autoDepOptimizePlugin.d.ts.map +1 -1
  192. package/types/plugins/backgroundComputationPlugin.d.ts +3 -0
  193. package/types/plugins/backgroundComputationPlugin.d.ts.map +1 -0
  194. package/types/plugins/reactNativeDevAssetPlugin.d.ts.map +1 -1
  195. package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
  196. package/types/plugins/workletImportsPlugin.d.ts.map +1 -1
  197. package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -1
  198. package/types/swift-package-id.d.ts +2 -0
  199. package/types/swift-package-id.d.ts.map +1 -0
  200. package/types/utils/compileNativeDevBytecode.d.ts +3 -0
  201. package/types/utils/compileNativeDevBytecode.d.ts.map +1 -0
  202. package/types/utils/createNativeDevEngine.d.ts +7 -22
  203. package/types/utils/createNativeDevEngine.d.ts.map +1 -1
  204. package/types/utils/nativeRun.d.ts.map +1 -1
  205. package/types/utils/nativeSourceContract.d.ts +121 -0
  206. package/types/utils/nativeSourceContract.d.ts.map +1 -0
  207. package/types/utils/scanDepsToOptimize.d.ts +1 -0
  208. package/types/utils/scanDepsToOptimize.d.ts.map +1 -1
  209. package/types/utils/swiftPackageId.d.ts +1 -0
  210. package/types/utils/swiftPackageId.d.ts.map +1 -1
@@ -1,7 +1,9 @@
1
1
  import { mkdirSync, mkdtempSync, realpathSync, writeFileSync } from 'node:fs'
2
2
  import { tmpdir } from 'node:os'
3
3
  import { join } from 'node:path'
4
+ import { createServer } from 'vite'
4
5
  import { describe, expect, test } from 'vitest'
6
+ import { getScannedOptimizeDepsConfig } from '../plugins/autoDepOptimizePlugin'
5
7
 
6
8
  import { scanDepsToOptimize } from './scanDepsToOptimize'
7
9
 
@@ -52,6 +54,7 @@ describe('scanDepsToOptimize codegenConfig', () => {
52
54
 
53
55
  expect(result.prebundleDeps).toContain('fake-js-lib')
54
56
  expect(result.prebundleDeps).not.toContain('fake-native-tabs')
57
+ expect(result.noExternalDeps).toContain('fake-native-tabs')
55
58
  })
56
59
 
57
60
  test('prebundles installed Expo modules without requiring Expo in the app', async () => {
@@ -63,6 +66,8 @@ describe('scanDepsToOptimize codegenConfig', () => {
63
66
  dependencies: {
64
67
  'expo-crypto': '1.0.0',
65
68
  '@expo/example': '1.0.0',
69
+ '@expo/cli': '1.0.0',
70
+ '@expo/log-box': '1.0.0',
66
71
  'community-expo-module': '1.0.0',
67
72
  'plain-js-lib': '1.0.0',
68
73
  },
@@ -79,6 +84,14 @@ describe('scanDepsToOptimize codegenConfig', () => {
79
84
  version: '1.0.0',
80
85
  main: './index.js',
81
86
  })
87
+ for (const name of ['cli', 'log-box'])
88
+ writePkg(join(root, 'node_modules', '@expo', name), {
89
+ name: `@expo/${name}`,
90
+ version: '1.0.0',
91
+ main: './index.js',
92
+ dependencies: { '@expo/example': '1.0.0' },
93
+ peerDependencies: { react: '*', 'react-native': '*' },
94
+ })
82
95
  writePkg(join(root, 'node_modules', 'community-expo-module'), {
83
96
  name: 'community-expo-module',
84
97
  version: '1.0.0',
@@ -97,5 +110,72 @@ describe('scanDepsToOptimize codegenConfig', () => {
97
110
  expect.arrayContaining(['expo-crypto', '@expo/example', 'community-expo-module'])
98
111
  )
99
112
  expect(result.prebundleDeps).not.toContain('plain-js-lib')
113
+ expect(result.prebundleDeps).not.toContain('@expo/cli')
114
+ expect(result.prebundleDeps).not.toContain('@expo/log-box')
115
+ })
116
+ })
117
+
118
+ describe('scanDepsToOptimize source entries', () => {
119
+ test('keeps linked TSX source out of prebundling while discovering its React dependency', async () => {
120
+ const root = realpathSync(mkdtempSync(join(tmpdir(), 'vxrn-scan-source-')))
121
+ writePkg(root, {
122
+ name: 'source-fixture',
123
+ dependencies: { 'source-ui': 'file:packages/source-ui' },
124
+ })
125
+ writePkg(join(root, 'node_modules', 'source-ui'), {
126
+ name: 'source-ui',
127
+ main: './index.tsx',
128
+ dependencies: { 'built-ui': '*' },
129
+ })
130
+ writeFileSync(
131
+ join(root, 'node_modules', 'source-ui', 'index.tsx'),
132
+ 'export default <div />\n'
133
+ )
134
+ writePkg(join(root, 'node_modules', 'built-ui'), {
135
+ name: 'built-ui',
136
+ main: './index.js',
137
+ dependencies: { react: '*' },
138
+ })
139
+ writePkg(join(root, 'node_modules', 'react'), {
140
+ name: 'react',
141
+ main: './index.js',
142
+ })
143
+
144
+ const result = await scanDepsToOptimize(join(root, 'package.json'))
145
+ expect(result.prebundleDeps).not.toContain('source-ui')
146
+ expect(result.prebundleDeps).toContain('built-ui')
147
+ })
148
+ })
149
+
150
+ describe('codegen SSR entrypoints', () => {
151
+ test('runs extensionless web entrypoints through vite without prebundling native codegen', async () => {
152
+ const root = realpathSync(mkdtempSync(join(tmpdir(), 'vxrn-codegen-ssr-')))
153
+ writePkg(root, { name: 'fixture', dependencies: { 'fake-native-tabs': '1' } })
154
+ const dep = join(root, 'node_modules', 'fake-native-tabs')
155
+ writePkg(dep, {
156
+ name: 'fake-native-tabs',
157
+ version: '1.0.0',
158
+ type: 'module',
159
+ main: './index.js',
160
+ codegenConfig: { name: 'Fixture', type: 'all', jsSrcsDir: './specs' },
161
+ })
162
+ writeFileSync(join(dep, 'index.js'), "export { answer } from './web-entry'\n")
163
+ writeFileSync(join(dep, 'web-entry.js'), 'export const answer = 42\n')
164
+ writeFileSync(join(root, 'entry.js'), "export { answer } from 'fake-native-tabs'\n")
165
+ const config = await getScannedOptimizeDepsConfig({ root, mode: 'production' })
166
+ expect(config.ssr.optimizeDeps.include).not.toContain('fake-native-tabs')
167
+ const server = await createServer({
168
+ configFile: false,
169
+ root,
170
+ ssr: config.ssr,
171
+ server: { middlewareMode: true },
172
+ optimizeDeps: { noDiscovery: true },
173
+ })
174
+ try {
175
+ const result = await server.ssrLoadModule(join(root, 'entry.js'))
176
+ expect(result.answer).toBe(42)
177
+ } finally {
178
+ await server.close()
179
+ }
100
180
  })
101
181
  })
@@ -6,6 +6,7 @@ const { debug, debugDetails } = createDebugger(`vxrn:scanDepsToOptimize`)
6
6
 
7
7
  export type ScanDepsResult = {
8
8
  prebundleDeps: string[]
9
+ noExternalDeps: string[]
9
10
  hasReanimated: boolean
10
11
  hasNativewind: boolean
11
12
  }
@@ -86,6 +87,9 @@ export const EXCLUDE_LIST = [
86
87
  '@nandorojo/galeria',
87
88
  'react-native-pager-view',
88
89
  '@react-native/debugger-shell',
90
+ // expo's debugger is a standalone app, not an SSR runtime dependency.
91
+ '@expo/cli',
92
+ '@expo/log-box',
89
93
  '@hot-updater/react-native',
90
94
  '@hot-updater/plugin-core',
91
95
  'validator',
@@ -147,6 +151,7 @@ export async function scanDepsToOptimize(
147
151
  console.info(`[one] Scanning node_modules to auto-optimize...`)
148
152
  }
149
153
 
154
+ const noExternalDeps = new Set<string>()
150
155
  const currentRoot = path.dirname(packageJsonPath)
151
156
 
152
157
  const pkgJson = pkgJsonContent || (await readPackageJsonSafe(packageJsonPath))
@@ -154,7 +159,10 @@ export async function scanDepsToOptimize(
154
159
 
155
160
  // worklets without reanimated still needs the worklets transform, as the metro path assumes.
156
161
  const needsWorklets = (json: typeof pkgJson) =>
157
- !!(json.dependencies?.['react-native-reanimated'] || json.dependencies?.['react-native-worklets'])
162
+ !!(
163
+ json.dependencies?.['react-native-reanimated'] ||
164
+ json.dependencies?.['react-native-worklets']
165
+ )
158
166
  let hasReanimated = needsWorklets(pkgJson)
159
167
 
160
168
  const prebundleDeps = (
@@ -187,12 +195,10 @@ export async function scanDepsToOptimize(
187
195
  hasReanimated = true
188
196
  }
189
197
 
190
- // A package declaring `codegenConfig` is a native Fabric component or
191
- // TurboModule library. Its codegen entry points import from
192
- // `react-native/Libraries/...`, which do not exist under SSR where
193
- // react-native is aliased to a web implementation, so it can never be
194
- // pre-bundled. Exclude the whole class instead of naming packages.
198
+ // native codegen entrypoints cannot be prebundled for web, but web
199
+ // entrypoints still need vite to resolve platform files and ESM imports.
195
200
  if (depPkgJson.codegenConfig != null) {
201
+ noExternalDeps.add(dep)
196
202
  debug?.(`${dep} skipped: declares codegenConfig (native codegen package)`)
197
203
  return []
198
204
  }
@@ -203,6 +209,8 @@ export async function scanDepsToOptimize(
203
209
  proceededDeps,
204
210
  })
205
211
 
212
+ for (const dep of subDeps.noExternalDeps) noExternalDeps.add(dep)
213
+
206
214
  if (subDeps.hasReanimated) {
207
215
  hasReanimated = true
208
216
  }
@@ -298,7 +306,9 @@ export async function scanDepsToOptimize(
298
306
  const exports = [...definedExports, ...specialExports].filter(
299
307
  (d) => !EXCLUDE_LIST_SET.has(d)
300
308
  )
301
- if (mainExport) {
309
+ // match vite's default optimizable entry extensions; JSX/TSX source
310
+ // remains in its module graph while we still discover child dependencies.
311
+ if (mainExport && (!extname(mainExport) || /\.[cm]?[jt]s$/.test(mainExport))) {
302
312
  if (await checkIfExportExists(join(dirname(depPkgJsonPath), mainExport))) {
303
313
  exports.unshift(dep)
304
314
  }
@@ -330,6 +340,7 @@ export async function scanDepsToOptimize(
330
340
 
331
341
  return {
332
342
  prebundleDeps,
343
+ noExternalDeps: [...noExternalDeps],
333
344
  hasReanimated,
334
345
  // only check if set in root, dont want to enable css mode too easily
335
346
  hasNativewind,
@@ -1,4 +1,4 @@
1
- import { existsSync } from 'node:fs'
1
+ import { existsSync, readdirSync } from 'node:fs'
2
2
  import { basename, dirname, join } from 'node:path'
3
3
 
4
4
  // a swift package in an app is the directory holding its Package.swift. prebuild
@@ -12,3 +12,27 @@ export function swiftPackageDirOf(file: string): string | undefined {
12
12
  if (existsSync(join(dir, 'Package.swift'))) return dir
13
13
  }
14
14
  }
15
+
16
+ // prebuild and dev servers must address the same package by the same name.
17
+ export function swiftPackageDirectories(root: string): Map<string, string> {
18
+ const skip = new Set(['node_modules', 'ios', 'android', 'dist', 'types', 'build'])
19
+ const packages = new Map<string, string>()
20
+ const walk = (dir: string) => {
21
+ const entries = readdirSync(dir, { withFileTypes: true })
22
+ if (entries.some((entry) => entry.isFile() && entry.name === 'Package.swift')) {
23
+ const name = swiftPackageId(dir)
24
+ const previous = packages.get(name)
25
+ if (previous) {
26
+ throw new Error(`[vxrn] swift packages ${previous} and ${dir} both have name ${name}`)
27
+ }
28
+ packages.set(name, dir)
29
+ return
30
+ }
31
+ for (const entry of entries) {
32
+ if (!entry.isDirectory() || entry.name.startsWith('.') || skip.has(entry.name)) continue
33
+ walk(join(dir, entry.name))
34
+ }
35
+ }
36
+ walk(root)
37
+ return packages
38
+ }
@@ -0,0 +1,28 @@
1
+ export type BackgroundModule = {
2
+ id: string;
3
+ source: string;
4
+ calculate: string;
5
+ name: string;
6
+ platform: 'web' | 'native';
7
+ };
8
+ export type BackgroundTransformOptions = {
9
+ platform: 'web' | 'native';
10
+ resolve: (source: string, importer: string) => string;
11
+ nativeModule?: (module: BackgroundModule) => string;
12
+ workerFactory?: (module: BackgroundModule) => string;
13
+ };
14
+ export declare function loadBackgroundComputationModule(id: string): BackgroundModule | undefined;
15
+ export declare function transformBackgroundComputations(source: string, id: string, options: BackgroundTransformOptions): {
16
+ code: string;
17
+ map: import("magic-string").SourceMap;
18
+ modules: BackgroundModule[];
19
+ } | undefined;
20
+ export declare function createBackgroundWorkletModule(bundle: string, names: readonly string[], key: string): string;
21
+ export declare function assertBackgroundDependency(source: string): void;
22
+ export type BackgroundGraphModule = {
23
+ id: number;
24
+ code: string;
25
+ dependencies: readonly (number | null)[];
26
+ };
27
+ export declare function bundleBackgroundGraph(modules: readonly BackgroundGraphModule[], entry: number, names: readonly string[]): string;
28
+ //# sourceMappingURL=backgroundComputation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backgroundComputation.d.ts","sourceRoot":"","sources":["../src/backgroundComputation.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC1B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IACrD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAA;IACnD,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAA;CACrD,CAAA;AASD,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,MAAM,GACT,gBAAgB,GAAG,SAAS,CAuB9B;AAGD,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,0BAA0B;;;;cA2FpC;AAGD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,GAAG,EAAE,MAAM,UAsBZ;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,QAWxD;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;CACzC,CAAA;AAGD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,MAAM,EAAE,UAiBzB"}
@@ -0,0 +1,2 @@
1
+ export declare function prepareBackgroundWorkletModule(source: string, id: string): string;
2
+ //# sourceMappingURL=backgroundComputationNative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backgroundComputationNative.d.ts","sourceRoot":"","sources":["../src/backgroundComputationNative.ts"],"names":[],"mappings":"AAQA,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAcxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"getBaseViteConfigOnly.d.ts","sourceRoot":"","sources":["../../src/config/getBaseViteConfigOnly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAIxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI3D,eAAO,MAAM,MAAM,UAoBlB,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAwGxC"}
1
+ {"version":3,"file":"getBaseViteConfigOnly.d.ts","sourceRoot":"","sources":["../../src/config/getBaseViteConfigOnly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAIxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI3D,eAAO,MAAM,MAAM,UAmBlB,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAwGxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getOptimizeDeps.d.ts","sourceRoot":"","sources":["../../src/config/getOptimizeDeps.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;;;;;;;;;;gBAqI7C,UAAU;;;gBAaV,MAAM;oBACJ,qBAAqB;;;;;;;;;;;EAiBhC"}
1
+ {"version":3,"file":"getOptimizeDeps.d.ts","sourceRoot":"","sources":["../../src/config/getOptimizeDeps.ts"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;;;;;;;;;;gBAuI7C,UAAU;;;gBAaV,MAAM;oBACJ,qBAAqB;;;;;;;;;;;EAiBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getViteServerConfig.d.ts","sourceRoot":"","sources":["../../src/config/getViteServerConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAItE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAM3D;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,cAAc,CAAC,EAAE,UAAU,uBA8D5B"}
1
+ {"version":3,"file":"getViteServerConfig.d.ts","sourceRoot":"","sources":["../../src/config/getViteServerConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAItE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAM3D;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,iBAAiB,EACzB,cAAc,CAAC,EAAE,UAAU,uBA8E5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/constants/defaults.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,eAAO,MAAM,kBAAkB,UAmC9B,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/constants/defaults.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,eAAO,MAAM,kBAAkB,UAyC9B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/exports/dev.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA6E3C,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,GAAG,cAAqB,UAAU;;;;;;EAwM9C,CAAA"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/exports/dev.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA6E3C,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG;IACrC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,GAAG,cAAqB,UAAU;;;;;;EA4M9C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"prebuild.d.ts","sourceRoot":"","sources":["../../src/exports/prebuild.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAA;AAK9B,eAAO,MAAM,QAAQ,sDAKlB;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAA;IACrC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,iBAAiB,CAAA;CACvB,kBAmGA,CAAA;AAoBD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,iBAOpB"}
1
+ {"version":3,"file":"prebuild.d.ts","sourceRoot":"","sources":["../../src/exports/prebuild.ts"],"names":[],"mappings":"AAKA,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAA;AAK9B,eAAO,MAAM,QAAQ,sDAKlB;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAA;IACrC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,GAAG,EAAE,iBAAiB,CAAA;CACvB,kBAwFA,CAAA;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,iBAOpB"}
@@ -2,6 +2,7 @@ import { validateNativeApp, type NativeAppManifest } from '@vxrn/utils/nativeApp
2
2
  export type { NativeAppManifest as PrebuildAppConfig } from '@vxrn/utils/nativeAppManifest';
3
3
  export declare const validatePrebuildApp: typeof validateNativeApp;
4
4
  export declare function renderSceneDelegateSwift(appName: string): string;
5
+ export declare function renderIosAppIntentsSwift(actions: NonNullable<NonNullable<NativeAppManifest['ios']>['appIntents']>['actions']): string;
5
6
  export interface RenderedPrebuildFile {
6
7
  destRelativePath: string;
7
8
  content: string | null;
@@ -14,6 +15,11 @@ export declare function renderPrebuildFile(args: {
14
15
  nitroWebImage?: boolean;
15
16
  }): RenderedPrebuildFile;
16
17
  export declare const generateForPlatform: (root: string, platform: 'ios' | 'android', app: NativeAppManifest, outDir?: string) => Promise<void>;
18
+ export declare function enableAppComposeIntegration(dest: string): void;
19
+ export declare function generateKotlinSources({ root, dest }: {
20
+ root: string;
21
+ dest: string;
22
+ }): Promise<void>;
17
23
  export interface NativeDependencyInventory {
18
24
  name: string;
19
25
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"prebuildWithoutExpo.d.ts","sourceRoot":"","sources":["../../src/exports/prebuildWithoutExpo.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAiCzF,YAAY,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAE3F,eAAO,MAAM,mBAAmB,0BAAoB,CAAA;AAoEpD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoEhE;AA24BD,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAoOD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,GAAG,EAAE,iBAAiB,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,GAAG,oBAAoB,CAoWvB;AAED,eAAO,MAAM,mBAAmB,SACxB,MAAM,YACF,KAAK,GAAG,SAAS,OACtB,iBAAiB,WACd,MAAM,kBAiEf,CAAA;AAsFD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,iBAAiB,CAAA;IACtB,SAAS,EAAE,SAAS,yBAAyB,EAAE,CAAA;CAChD,GAAG,IAAI,CA8BP;AAID,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAkCtC;AAKD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAA;CACtC,GAAG,IAAI,CAOP"}
1
+ {"version":3,"file":"prebuildWithoutExpo.d.ts","sourceRoot":"","sources":["../../src/exports/prebuildWithoutExpo.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EAEvB,MAAM,+BAA+B,CAAA;AAsEtC,YAAY,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAE3F,eAAO,MAAM,mBAAmB,0BAAoB,CAAA;AAkFpD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6DhE;AA+MD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CA8CrI;AAg8BD,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB;AAyfD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,GAAG,EAAE,iBAAiB,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,GAAG,oBAAoB,CA06BvB;AAED,eAAO,MAAM,mBAAmB,SACxB,MAAM,YACF,KAAK,GAAG,SAAS,OACtB,iBAAiB,WACd,MAAM,kBAqEf,CAAA;AAgCD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,QA6EvD;AAID,wBAAsB,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,iBAsDzF;AAyFD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,iBAAiB,CAAA;IACtB,SAAS,EAAE,SAAS,yBAAyB,EAAE,CAAA;CAChD,GAAG,IAAI,CA8BP;AAID,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,yBAAyB,EAAE,CAAC,CA+BtC;AAKD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAAA;CACtC,GAAG,IAAI,CAYP"}
package/types/index.d.ts CHANGED
@@ -21,5 +21,7 @@ export * from './plugins/rollupRemoveUnusedImports';
21
21
  export * from './plugins/autoDepOptimizePlugin';
22
22
  export * from './plugins/rnCodegenPlugin';
23
23
  export * from './plugins/workletImportsPlugin';
24
+ export * from './plugins/backgroundComputationPlugin';
24
25
  export * from './types';
26
+ export { transformBackgroundComputations, loadBackgroundComputationModule, createBackgroundWorkletModule, assertBackgroundDependency, } from './backgroundComputation';
25
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAE/D,OAAO,EACL,KAAK,iBAAiB,EACtB,gBAAgB,EAChB,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AAEtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAE9C,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAE/D,OAAO,EACL,KAAK,iBAAiB,EACtB,gBAAgB,EAChB,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AAEtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uCAAuC,CAAA;AAErD,cAAc,SAAS,CAAA;AAEvB,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { nativeSourceContract, writeNativeSourceDeclaration, writeNativeSourceDeclarations, renderSwiftSourceGlue, kotlinSourceId, renderKotlinSourceGlue, swiftPodManifest, writeSwiftPackageArtifacts, type NativeSourceContract, type NativeSourceMethod, type NativeSourceModule, type NativeSourceView, type NativeSourceViewProp, type SwiftPackageArtifacts, } from './utils/nativeSourceContract';
2
+ //# sourceMappingURL=native-source-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-source-contract.d.ts","sourceRoot":"","sources":["../src/native-source-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,6BAA6B,EAC7B,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,8BAA8B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"builtInDepPatches.d.ts","sourceRoot":"","sources":["../../src/patches/builtInDepPatches.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAiC,MAAM,kBAAkB,CAAA;AAE/E,eAAO,MAAM,iBAAiB,EAAE,QAAQ,EAyevC,CAAA"}
1
+ {"version":3,"file":"builtInDepPatches.d.ts","sourceRoot":"","sources":["../../src/patches/builtInDepPatches.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAiC,MAAM,kBAAkB,CAAA;AAE/E,eAAO,MAAM,iBAAiB,EAAE,QAAQ,EAodvC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"autoDepOptimizePlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/autoDepOptimizePlugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,MAAM,CAAA;AAChD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAA;AAQpC,KAAK,eAAe,GAAG,0BAA0B,GAAG;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;CACjD,CAAA;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CA0CpE;AAED,eAAO,MAAM,wBAAwB,SAAU,MAAM,WAEpD,CAAA;AAED,KAAK,qBAAqB,GAAG,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/D,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,qBAAqB;;QAezE,YAAY;YACV,OAAO;YACP,OAAO;;QAET,UAAU;;GAGf;AAID,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,2BA2EvB"}
1
+ {"version":3,"file":"autoDepOptimizePlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/autoDepOptimizePlugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,MAAM,CAAA;AAChD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,6BAA6B,CAAA;AAQpC,KAAK,eAAe,GAAG,0BAA0B,GAAG;IAClD,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAA;CACjD,CAAA;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CA0CpE;AAED,eAAO,MAAM,wBAAwB,SAAU,MAAM,WAEpD,CAAA;AAED,KAAK,qBAAqB,GAAG,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/D,wBAAsB,4BAA4B,CAAC,KAAK,EAAE,qBAAqB;;QAezE,YAAY;YACV,OAAO;YACP,OAAO;;QAET,UAAU;;GAMf;AAID,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,2BA6EvB"}
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from 'rolldown';
2
+ export declare function backgroundComputationPlugin(platform: 'web' | 'native'): Plugin;
3
+ //# sourceMappingURL=backgroundComputationPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backgroundComputationPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/backgroundComputationPlugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEtC,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAqB9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"reactNativeDevAssetPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/reactNativeDevAssetPlugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAA;AAQlD,KAAK,+BAA+B,GAAG;IACrC,kGAAkG;IAClG,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,+BAA+B,GACvC,MAAM,CA0IR"}
1
+ {"version":3,"file":"reactNativeDevAssetPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/reactNativeDevAssetPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAkB,MAAM,MAAM,CAAA;AAQlD,KAAK,+BAA+B,GAAG;IACrC,kGAAkG;IAClG,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACrB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,+BAA+B,GACvC,MAAM,CA6IR"}
@@ -1 +1 @@
1
- {"version":3,"file":"reactNativeDevServer.d.ts","sourceRoot":"","sources":["../../src/plugins/reactNativeDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAO1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AA2BnE,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4B9D;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,aAAa,GAAG,kBAAkB,GAAG,SAAS,CAAC,CACrF,GACA,MAAM,CA6cR"}
1
+ {"version":3,"file":"reactNativeDevServer.d.ts","sourceRoot":"","sources":["../../src/plugins/reactNativeDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAiB,MAAM,MAAM,CAAA;AAW1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AA2CnE,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkC9D;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,CAAC,EAAE,OAAO,CACf,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,aAAa,GAAG,kBAAkB,GAAG,SAAS,CAAC,CACrF,GACA,MAAM,CAwiBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"workletImportsPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/workletImportsPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAKhD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAAG,MAAM,CAmNvF"}
1
+ {"version":3,"file":"workletImportsPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/workletImportsPlugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAMhD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAAG,MAAM,CAgMvF"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildBundle.d.ts","sourceRoot":"","sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,qCAAqC,CAAA;AAI5C,YAAY,EAAE,iBAAiB,EAAE,CAAA;AAEjC,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,iBAAiB,EACvB,UAAU,GAAE,GAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CA4Ff"}
1
+ {"version":3,"file":"buildBundle.d.ts","sourceRoot":"","sources":["../../../src/rn-commands/bundle/buildBundle.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,qCAAqC,CAAA;AAI5C,YAAY,EAAE,iBAAiB,EAAE,CAAA;AAEjC,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,iBAAiB,EACvB,UAAU,GAAE,GAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CA8Ff"}
@@ -0,0 +1,2 @@
1
+ export { swiftPackageDirOf, swiftPackageDirectories, swiftPackageId } from './utils/swiftPackageId';
2
+ //# sourceMappingURL=swift-package-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift-package-id.d.ts","sourceRoot":"","sources":["../src/swift-package-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { NativeDevBundle } from './createNativeDevEngine';
2
+ export declare function nativeDevBytecodeCompiler(root: string): (bundle: NativeDevBundle, sourceURL: string) => Promise<Buffer>;
3
+ //# sourceMappingURL=compileNativeDevBytecode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compileNativeDevBytecode.d.ts","sourceRoot":"","sources":["../../src/utils/compileNativeDevBytecode.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AA2E9D,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,YAIpC,eAAe,aAAa,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,CA+BrE"}
@@ -68,28 +68,13 @@ export declare function getNativeTransformConfig(platform: 'ios' | 'android', de
68
68
  export declare function normalizeNativeCommonJSInterop(code: string): string;
69
69
  export declare function postProcessNativeBundle(code: string): string;
70
70
  /**
71
- * Wrap the dev bundle body in a function scope so module top-level
72
- * `var`/`function` declarations don't leak onto the global object.
71
+ * wrap dev module declarations in a function scope. script-level declarations
72
+ * create global properties that can block react native's lazy polyfills.
73
+ * production uses rolldown's iife format; the dev engine needs this wrapper.
73
74
  *
74
- * rolldown's dev() emits the bundle as a *script*. A top-level `var` in a
75
- * script creates a NON-configurable property on the global object. RN's
76
- * `Libraries/Network/fetch.js` declares `var ... Headers, Request, ...`, so
77
- * `global.Headers`/`global.Request` become non-configurable. RN's `setUpXHR`
78
- * then calls `polyfillGlobal('Headers', ...)`, whose `polyfillObjectProperty`
79
- * does `Object.defineProperty(global, 'Headers', { configurable: true, ... })`
80
- * — which throws "Cannot redefine property" and RN converts to
81
- * `console.error('Failed to set polyfill. Headers is not configurable.')`.
82
- * In dev that console.error becomes a blocking LogBox redbox, so the app never
83
- * mounts (every appium navigation then times out). The prod build is immune:
84
- * its modules are wrapped in closures (no global leak) and it has no LogBox.
85
- *
86
- * Wrapping everything after the prelude in an IIFE makes those module vars
87
- * function-scoped, matching prod, so `polyfillGlobal` succeeds. The prelude
88
- * stays at script scope because it intentionally installs globals
89
- * (`globalThis.global`/`__DEV__`/`process`/...). Intentional globals survive:
90
- * the runtime is assigned via `globalThis.__rolldown_runtime__ = ...`, and HMR
91
- * updates run through a *direct* `eval` inside this scope, so they still see
92
- * the closure's `__esmMin`/`__toCommonJS`/module bindings.
75
+ * keep the prelude at script scope because it installs intentional globals.
76
+ * the dev runtime assigns itself to globalThis, and hmr's direct eval stays
77
+ * inside this closure so it can reach module bindings and runtime helpers.
93
78
  */
94
79
  export declare function wrapNativeBundleModuleScope(code: string): string;
95
80
  export declare function createNativeDevEngine(options: NativeDevEngineOptions): Promise<NativeDevEngineResult>;
@@ -171,7 +156,7 @@ export declare function createNativeDevAssetRegistry(): {
171
156
  export declare function getNativeAssetData(id: string, root: string, platform: string): Promise<NativeAssetData>;
172
157
  /**
173
158
  * SWC transform for Hermes compatibility.
174
- * Transforms class properties and private fields that Hermes doesn't support.
159
+ * Lowers classes, lexical bindings, and async syntax for legacy Hermes.
175
160
  * Inspired by rollipop's swc-plugin.ts.
176
161
  */
177
162
  export declare function hermesCompatSWCPlugin(dev: boolean, sourceMaps?: boolean): Plugin;
@@ -1 +1 @@
1
- {"version":3,"file":"createNativeDevEngine.d.ts","sourceRoot":"","sources":["../../src/utils/createNativeDevEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createNativeDevEngine.d.ts","sourceRoot":"","sources":["../../src/utils/createNativeDevEngine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nativeRun.d.ts","sourceRoot":"","sources":["../../src/utils/nativeRun.ts"],"names":[],"mappings":"AAUA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAapD;AAiBD,MAAM,MAAM,cAAc,GAAG,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KAC/D,IAAI,CAAA;AAMT,wBAAsB,SAAS,CAAC,EAC9B,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,KAAoB,GACrB,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB,iBA2CA;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY9D"}
1
+ {"version":3,"file":"nativeRun.d.ts","sourceRoot":"","sources":["../../src/utils/nativeRun.ts"],"names":[],"mappings":"AAUA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAepD;AAuCD,MAAM,MAAM,cAAc,GAAG,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KAC/D,IAAI,CAAA;AAMT,wBAAsB,SAAS,CAAC,EAC9B,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,KAAoB,GACrB,EAAE;IACD,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB,iBAoDA;AASD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS9D"}
@@ -0,0 +1,121 @@
1
+ export interface NativeSourceMethod {
2
+ name: string;
3
+ parameters: {
4
+ name: string;
5
+ label: string | null;
6
+ type: string;
7
+ nativeType: string;
8
+ wire?: NativeSourceWire;
9
+ }[];
10
+ result: string;
11
+ nativeResult: string;
12
+ resultWire?: NativeSourceWire;
13
+ subscription?: {
14
+ payload: {
15
+ type: string;
16
+ nativeType: string;
17
+ wire?: NativeSourceWire;
18
+ }[];
19
+ };
20
+ throws: boolean;
21
+ async: boolean;
22
+ }
23
+ export interface NativeSourceModule {
24
+ name: string;
25
+ methods: NativeSourceMethod[];
26
+ }
27
+ export interface NativeSourceViewProp {
28
+ name: string;
29
+ type: string;
30
+ nativeType: string;
31
+ optional: boolean;
32
+ callback: {
33
+ type: string;
34
+ nativeType: string;
35
+ wire?: NativeSourceWire;
36
+ }[] | null;
37
+ wire?: NativeSourceWire;
38
+ }
39
+ export interface NativeSourceView {
40
+ name: string;
41
+ props: NativeSourceViewProp[];
42
+ }
43
+ export type NativeSourceWire = {
44
+ kind: 'date';
45
+ } | {
46
+ kind: 'data';
47
+ } | {
48
+ kind: 'struct';
49
+ name: string;
50
+ } | {
51
+ kind: 'enum';
52
+ name: string;
53
+ } | {
54
+ kind: 'array';
55
+ element: NativeSourceWire;
56
+ } | {
57
+ kind: 'map';
58
+ value: NativeSourceWire;
59
+ } | {
60
+ kind: 'nullable';
61
+ inner: NativeSourceWire;
62
+ };
63
+ export interface NativeSourceStructField {
64
+ name: string;
65
+ type: string;
66
+ nativeType: string;
67
+ optional: boolean;
68
+ wire?: NativeSourceWire;
69
+ fallback?: string;
70
+ }
71
+ export interface NativeSourceStruct {
72
+ name: string;
73
+ fields: NativeSourceStructField[];
74
+ }
75
+ export interface NativeSourceEnum {
76
+ name: string;
77
+ backing: 'string' | 'number';
78
+ cases: {
79
+ name: string;
80
+ value: string | number;
81
+ }[];
82
+ }
83
+ export interface NativeSourceContract {
84
+ language: 'swift' | 'kotlin';
85
+ packageName?: string;
86
+ modules: NativeSourceModule[];
87
+ views: NativeSourceView[];
88
+ structs: NativeSourceStruct[];
89
+ enums: NativeSourceEnum[];
90
+ defaultView: boolean;
91
+ hash: string;
92
+ declaration: string;
93
+ }
94
+ export interface SwiftPackageArtifacts {
95
+ packageId: string;
96
+ hash: string;
97
+ files: Record<string, string[]>;
98
+ modules: Record<string, string[]>;
99
+ views: Record<string, string[]>;
100
+ defaultViewFiles: string[];
101
+ contracts: NativeSourceContract[];
102
+ glue: string | null;
103
+ }
104
+ export declare function nativeSourceContract(file: string, source: string): NativeSourceContract;
105
+ export declare function kotlinSourceId(root: string, file: string): string;
106
+ export declare function swiftPodManifest(file: string, source: string): {
107
+ languageMode: 5 | 6;
108
+ mainActorIsolation: boolean;
109
+ };
110
+ export declare function writeNativeSourceDeclaration(file: string): NativeSourceContract;
111
+ export declare function writeNativeSourceDeclarations(root: string): NativeSourceContract[];
112
+ export declare function writeSwiftPackageArtifacts(packageDir: string): SwiftPackageArtifacts;
113
+ export declare function renderSwiftSourceGlue(packageId: string, contracts: NativeSourceContract[]): {
114
+ hash: string;
115
+ source: string;
116
+ };
117
+ export declare function renderKotlinSourceGlue(sourceId: string, contract: NativeSourceContract): {
118
+ hash: string;
119
+ source: string;
120
+ };
121
+ //# sourceMappingURL=nativeSourceContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nativeSourceContract.d.ts","sourceRoot":"","sources":["../../src/utils/nativeSourceContract.ts"],"names":[],"mappings":"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"}