vxrn 2.9.1 → 2.10.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxrn",
3
- "version": "2.9.1",
3
+ "version": "2.10.0",
4
4
  "sideEffects": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -80,14 +80,14 @@
80
80
  "@react-native-community/cli": "^20.2.0",
81
81
  "@react-native-community/cli-config": "^20.2.0",
82
82
  "@react-native/dev-middleware": "^0.88.0",
83
- "@vxrn/compiler": "2.9.1",
84
- "@vxrn/debug": "2.9.1",
85
- "@vxrn/query-string": "2.9.1",
86
- "@vxrn/resolve": "2.9.1",
87
- "@vxrn/url-parse": "2.9.1",
88
- "@vxrn/utils": "2.9.1",
89
- "@vxrn/vendor": "2.9.1",
90
- "@vxrn/vite-flow": "2.9.1",
83
+ "@vxrn/compiler": "2.10.0",
84
+ "@vxrn/debug": "2.10.0",
85
+ "@vxrn/query-string": "2.10.0",
86
+ "@vxrn/resolve": "2.10.0",
87
+ "@vxrn/url-parse": "2.10.0",
88
+ "@vxrn/utils": "2.10.0",
89
+ "@vxrn/vendor": "2.10.0",
90
+ "@vxrn/vite-flow": "2.10.0",
91
91
  "citty": "^0.1.6",
92
92
  "dotenv": "^17.2.1",
93
93
  "dotenv-expand": "^12.0.2",
@@ -103,7 +103,7 @@
103
103
  "find-node-modules": "^2.1.3",
104
104
  "fs-extra": "^11.2.0",
105
105
  "get-port-please": "^3.1.2",
106
- "hono": "^4.12.8",
106
+ "hono": "^4.13.11",
107
107
  "perfect-debounce": "^1.0.0",
108
108
  "picocolors": "^1.0.0",
109
109
  "pkg-types": "^1.0.3",
@@ -117,7 +117,7 @@
117
117
  "devDependencies": {
118
118
  "@biomejs/biome": "2.5.15",
119
119
  "@jridgewell/gen-mapping": "^0.3.5",
120
- "@tamagui/build": "3.1.0",
120
+ "@tamagui/build": "3.1.3",
121
121
  "@types/find-node-modules": "^2.1.2",
122
122
  "@types/node": "^24.10.0",
123
123
  "@types/ws": "^8.18.1",
@@ -127,20 +127,20 @@
127
127
  "react-native": "0.88.0",
128
128
  "typescript": "7.0.2",
129
129
  "vitest": "^4.1.0",
130
- "@vxrn/vite-plugin-metro": "2.9.1"
130
+ "@vxrn/vite-plugin-metro": "2.10.0"
131
131
  },
132
132
  "publishConfig": {
133
133
  "access": "public"
134
134
  },
135
135
  "peerDependencies": {
136
- "@vxrn/vite-plugin-metro": "2.9.1"
136
+ "@vxrn/vite-plugin-metro": "2.10.0"
137
137
  },
138
138
  "peerDependenciesMeta": {
139
139
  "@vxrn/vite-plugin-metro": {
140
140
  "optional": true
141
141
  }
142
142
  },
143
- "releaseSourceCommit": "ebf7b0fe59a565f6cd824c8c0a295d600bf107ac",
143
+ "releaseSourceCommit": "0f637d42dcaf1ee86cb153a1fe98426b091a87fc",
144
144
  "repository": {
145
145
  "type": "git",
146
146
  "url": "git+https://github.com/onejs/one.git",
@@ -0,0 +1,151 @@
1
+ import { mkdir, mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'
2
+ import { tmpdir } from 'node:os'
3
+ import { join } from 'node:path'
4
+ import { afterEach, expect, it, vi } from 'vitest'
5
+
6
+ const { nativeBuild } = vi.hoisted(() => ({ nativeBuild: vi.fn() }))
7
+
8
+ vi.mock('../config/getOptionsFilled', () => ({
9
+ fillOptions: async (options: object) => ({ ...options, root: process.cwd() }),
10
+ }))
11
+ vi.mock('../utils/patches', () => ({ applyBuiltInPatches: async () => {} }))
12
+ vi.mock('../config/getOptimizeDeps', () => ({
13
+ getOptimizeDeps: () => ({
14
+ optimizeDeps: { include: [], exclude: [], needsInterop: [] },
15
+ }),
16
+ }))
17
+ vi.mock('vite', async (importOriginal) => ({
18
+ ...(await importOriginal<typeof import('vite')>()),
19
+ loadConfigFromFile: async () => ({
20
+ config: { build: { outDir: 'output', emptyOutDir: false } },
21
+ }),
22
+ }))
23
+ vi.mock('../config/getBaseViteConfigWithPlugins', () => ({
24
+ getBaseViteConfigWithPlugins: async () => ({
25
+ root: process.cwd(),
26
+ plugins: [
27
+ {
28
+ name: 'build-lifecycle-fixture',
29
+ resolveId: (id: string) =>
30
+ id === 'virtual:one-entry' ? '\0virtual:one-entry' : undefined,
31
+ load: (id: string) =>
32
+ id === '\0virtual:one-entry'
33
+ ? 'export const render = () => "rendered"; globalThis.rendered = render()'
34
+ : undefined,
35
+ },
36
+ ],
37
+ build: { rolldownOptions: { output: { entryFileNames: '_virtual_one-entry.js' } } },
38
+ }),
39
+ }))
40
+ vi.mock('../rn-commands/bundle/buildBundle', () => ({ buildBundle: nativeBuild }))
41
+
42
+ import { build } from './build'
43
+
44
+ const originalCwd = process.cwd()
45
+ const originalEnv = { ...process.env }
46
+ const originalPlugins = globalThis.__vxrnAddWebPluginsProd
47
+ let root: string | undefined
48
+
49
+ afterEach(async () => {
50
+ process.chdir(originalCwd)
51
+ process.env = { ...originalEnv }
52
+ globalThis.__vxrnAddWebPluginsProd = originalPlugins
53
+ if (root) await rm(root, { recursive: true, force: true })
54
+ })
55
+
56
+ it('reuses client output for generation while cleaning rebuilt output', async () => {
57
+ root = await mkdtemp(join(tmpdir(), 'vxrn-build-lifecycle-'))
58
+ process.chdir(root)
59
+ process.env.NODE_ENV = 'production'
60
+ process.env.ONE_SERVER_URL = 'https://example.com'
61
+ globalThis.__vxrnAddWebPluginsProd = []
62
+ const options = { skipEnv: true }
63
+
64
+ const full = await build(options, { platform: 'web' })
65
+ expect(full?.clientOutput?.length).toBeGreaterThan(0)
66
+ expect(full?.serverOutput?.length).toBeGreaterThan(0)
67
+ const manifestPath = 'output/client/.vite/manifest.json'
68
+ const manifest = await readFile(manifestPath, 'utf8')
69
+ const clientFile = Object.values(JSON.parse(manifest))[0] as { file: string }
70
+ const assetPath = join('output/client', clientFile.file)
71
+ const asset = await readFile(assetPath)
72
+ const serverEntry = await readFile(full!.serverEntry, 'utf8')
73
+ await writeFile(full!.serverEntry, 'old server entry')
74
+ await writeFile('output/server/stale.js', 'old server chunk')
75
+ await writeFile('output/client/keep.txt', 'retained client output')
76
+
77
+ const generated = await build(options, { platform: 'web', step: 'generate' })
78
+ expect(generated?.clientOutput).toBeUndefined()
79
+ expect(generated?.serverOutput?.length).toBeGreaterThan(0)
80
+ expect(generated?.clientManifest).toEqual(JSON.parse(manifest))
81
+ expect(await readFile(generated!.serverEntry, 'utf8')).toBe(serverEntry)
82
+ expect(await readFile(manifestPath, 'utf8')).toBe(manifest)
83
+ expect(await readFile(assetPath)).toEqual(asset)
84
+ expect(await readFile('output/client/keep.txt', 'utf8')).toBe('retained client output')
85
+ await expect(readFile('output/server/stale.js')).rejects.toMatchObject({
86
+ code: 'ENOENT',
87
+ })
88
+
89
+ // generation also supports cjs servers and the default web platform
90
+ const cjs = await build(
91
+ { ...options, build: { server: { outputFormat: 'cjs' } } },
92
+ { step: 'generate' }
93
+ )
94
+ expect(cjs?.serverEntry).toBe(
95
+ join(process.cwd(), 'output/server/_virtual_one-entry.cjs')
96
+ )
97
+ expect(await readFile(cjs!.serverEntry, 'utf8')).toContain('exports.render')
98
+ expect(cjs?.clientManifest).toEqual(JSON.parse(manifest))
99
+ await expect(readFile('output/server/_virtual_one-entry.js')).rejects.toMatchObject({
100
+ code: 'ENOENT',
101
+ })
102
+
103
+ // full builds replace all previous output, including client and unrelated files
104
+ await writeFile('output/stale.txt', 'old output')
105
+ await build(options, { platform: 'web' })
106
+ for (const path of ['output/stale.txt', 'output/client/keep.txt']) {
107
+ await expect(readFile(path)).rejects.toMatchObject({ code: 'ENOENT' })
108
+ }
109
+
110
+ // disabling the server still produces a fresh client without reading a manifest
111
+ const client = await build(
112
+ { ...options, build: { server: false } },
113
+ { platform: 'web' }
114
+ )
115
+ expect(client?.clientOutput?.length).toBeGreaterThan(0)
116
+ expect(client?.serverOutput).toBeUndefined()
117
+ expect(client?.clientManifest).toBeUndefined()
118
+ await expect(readFile('output/server/_virtual_one-entry.js')).rejects.toMatchObject({
119
+ code: 'ENOENT',
120
+ })
121
+
122
+ const clientOnlyGeneration = await build(
123
+ { ...options, build: { server: false } },
124
+ { step: 'generate' }
125
+ )
126
+ expect(clientOnlyGeneration?.clientOutput).toBeUndefined()
127
+ expect(clientOnlyGeneration?.serverOutput).toBeUndefined()
128
+ expect(await readFile(assetPath)).toEqual(asset)
129
+
130
+ // native builds keep their existing whole-output cleanup even with a step argument
131
+ for (const platform of ['ios', 'android'] as const) {
132
+ await mkdir('output', { recursive: true })
133
+ await writeFile('output/stale.txt', 'old native output')
134
+ await build(options, { platform, step: 'generate' })
135
+ await expect(readFile('output/stale.txt')).rejects.toMatchObject({ code: 'ENOENT' })
136
+ expect(nativeBuild).toHaveBeenLastCalledWith(
137
+ [],
138
+ expect.anything(),
139
+ expect.objectContaining({
140
+ platform,
141
+ bundleOutput: `output/${platform}.js`,
142
+ })
143
+ )
144
+ }
145
+
146
+ // generation requires an existing client build rather than manufacturing one
147
+ await expect(build(options, { step: 'generate' })).rejects.toMatchObject({
148
+ code: 'ENOENT',
149
+ path: 'output/client/.vite/manifest.json',
150
+ })
151
+ })
@@ -19,8 +19,6 @@ import { getServerCJSSetting, getServerEntry } from '../utils/getServerEntry'
19
19
  import { applyBuiltInPatches } from '../utils/patches'
20
20
  import { loadEnv } from './loadEnv'
21
21
 
22
- const { existsSync } = FSExtra
23
-
24
22
  const disableOptimizationConfig = {
25
23
  optimizeDeps: {},
26
24
 
@@ -79,15 +77,12 @@ export const build = async (optionsIn: VXRNOptions, buildArgs: BuildArgs = {}) =
79
77
 
80
78
  const outDir = userViteConfig?.build?.outDir ?? 'dist'
81
79
 
82
- // clean
83
- await Promise.all([
84
- (async () => {
85
- // lets always clean output folder for now to be sure were correct
86
- if (existsSync(outDir)) {
87
- await rm(outDir, { recursive: true, force: true })
88
- }
89
- })(),
90
- ])
80
+ const isNativeBuild = buildArgs.platform === 'ios' || buildArgs.platform === 'android'
81
+
82
+ // generation reuses client assets and their manifest, but rebuilds the server
83
+ const cleanDir =
84
+ buildArgs.step === 'generate' && !isNativeBuild ? `${outDir}/server` : outDir
85
+ await rm(cleanDir, { recursive: true, force: true })
91
86
 
92
87
  if (buildArgs.platform === 'ios' || buildArgs.platform === 'android') {
93
88
  const { buildBundle } = await import('../rn-commands/bundle/buildBundle')
@@ -245,7 +245,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
245
245
  ) -> Bool {
246
246
  let delegate = ReactNativeDelegate()
247
247
  let factory = RCTReactNativeFactory(delegate: delegate)
248
- delegate.dependencyProvider = RCTAppDependencyProvider()
248
+ delegate.dependencyProvider = OneDependencyProvider()
249
249
  reactNativeDelegate = delegate
250
250
  reactNativeFactory = factory
251
251
  ${backgroundTasks ? ` OneBackgroundTasksRegisterHost(factory, launchOptions)
@@ -254,6 +254,21 @@ ${backgroundTasks ? ` OneBackgroundTasksRegisterHost(factory, launchOptions)
254
254
  }
255
255
  }
256
256
 
257
+ // react native creates these modules on the main queue while the instance
258
+ // initializes. left lazy, the first js access blocks the js thread on a
259
+ // synchronous main queue hop that waits behind the app's own launch work.
260
+ class OneDependencyProvider: RCTAppDependencyProvider {
261
+ override func unstableModulesRequiringMainQueueSetup() -> [String] {
262
+ super.unstableModulesRequiringMainQueueSetup() + [
263
+ "PlatformConstants",
264
+ "DeviceInfo",
265
+ "AccessibilityManager",
266
+ "Appearance",
267
+ "OneNativeSafeAreaContext",
268
+ ]
269
+ }
270
+ }
271
+
257
272
  class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
258
273
  override func bundleURL() -> URL? {
259
274
  #if DEBUG
@@ -366,9 +366,8 @@ export function normalizeNativeCommonJSInterop(code: string): string {
366
366
  `[vxrn] cannot normalize native CommonJS interop: the bundle does not parse (${errors[0].message})`
367
367
  )
368
368
  }
369
- // delete each `, 1` from the end of the bundle backwards so earlier offsets
370
- // stay valid. only the comma and the `1` go; the surrounding whitespace
371
- // stays, so every line keeps the number the source map recorded for it.
369
+ // collect spans against the original bundle. copying the entire bundle for
370
+ // each interop call creates gigabytes of temporary strings during a reload.
372
371
  const deletions: Array<[start: number, end: number]> = []
373
372
  const stack: unknown[] = [program]
374
373
  while (stack.length) {
@@ -388,11 +387,16 @@ export function normalizeNativeCommonJSInterop(code: string): string {
388
387
  stack.push(node[key])
389
388
  }
390
389
  }
391
- deletions.sort((a, b) => b[0] - a[0])
390
+ if (!deletions.length) return code
391
+ deletions.sort((a, b) => a[0] - b[0])
392
+ const parts: string[] = []
393
+ let copied = 0
392
394
  for (const [start, end] of deletions) {
393
- code = code.slice(0, start) + code.slice(end)
395
+ parts.push(code.slice(copied, start))
396
+ copied = end
394
397
  }
395
- return code
398
+ parts.push(code.slice(copied))
399
+ return parts.join('')
396
400
  }
397
401
 
398
402
  interface InteropSyntaxNode {
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/exports/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAA;AAaxE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAqBtD,eAAO,MAAM,KAAK,cAAqB,WAAW,cAAa,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmWvE,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/exports/build.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAA;AAaxE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAmBtD,eAAO,MAAM,KAAK,cAAqB,WAAW,cAAa,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgWvE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"prebuildWithoutExpo.d.ts","sourceRoot":"","sources":["../../src/exports/prebuildWithoutExpo.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,iBAAiB,EAEjB,KAAK,iBAAiB,EAEvB,MAAM,+BAA+B,CAAA;AAsEtC,YAAY,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAE3F,eAAO,MAAM,mBAAmB,0BAAoB,CAAA;AA6EpD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwChE;AA0ID,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;AA6sBD,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,CAw8BvB;AAED,eAAO,MAAM,mBAAmB,SACxB,MAAM,YACF,KAAK,GAAG,SAAS,OACtB,iBAAiB,WACd,MAAM,kBAuEf,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,CAaP"}
1
+ {"version":3,"file":"prebuildWithoutExpo.d.ts","sourceRoot":"","sources":["../../src/exports/prebuildWithoutExpo.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,iBAAiB,EAEjB,KAAK,iBAAiB,EAEvB,MAAM,+BAA+B,CAAA;AAsEtC,YAAY,EAAE,iBAAiB,IAAI,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAE3F,eAAO,MAAM,mBAAmB,0BAAoB,CAAA;AA6EpD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwChE;AAyJD,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;AA6sBD,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,CAw8BvB;AAED,eAAO,MAAM,mBAAmB,SACxB,MAAM,YACF,KAAK,GAAG,SAAS,OACtB,iBAAiB,WACd,MAAM,kBAuEf,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,CAaP"}
@@ -1 +1 @@
1
- {"version":3,"file":"createNativeDevEngine.d.ts","sourceRoot":"","sources":["../../src/utils/createNativeDevEngine.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmBH,OAAO,KAAK,EAA+B,MAAM,EAAkB,MAAM,UAAU,CAAA;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAiCtD,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAE3D;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,GAAG,EAAE,OAAO,CAAA;CACb;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAA;CAChD;AAED,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;CACZ,GAGD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAA;AAEzB;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,SAAS,CAAA;IACjB,SAAS,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAA;IACzE,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AA8BD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,KAAK,GAAG,SAAS,EAC3B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM;IAsEV,GAAG;QAGD,OAAO,EAAE,SAAS;;IAEpB,MAAM;IAiCN,MAAM;QACJ,KAAK;;EAGV;AA6FD;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA0CnE;AAoJD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkD5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUhE;AA4ED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAwYhC;AAID,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkFzC;AA2ND;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CA6BlD;AA+ED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAuB5C;AAmRD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,OAAO,EACZ,WAAW,SAAgB,EAC3B,UAAU,UAAQ,GACjB,MAAM,CA6PR;AAuED,KAAK,eAAe,GAAG;IACrB,gBAAgB,EAAE,IAAI,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,wBAAgB,4BAA4B,IAAI;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAA;CACzE,CAuBA;AAyDD,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CA4D1B;AAiED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,OAAO,EACZ,UAAU,UAAQ,EAClB,SAAS,UAAQ,GAChB,MAAM,CA8DR;AAED,eAAO,MAAM,kBAAkB,8BAAwB,CAAA;AAEvD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,UAAQ,GAAG,MAAM,CAuB5D;AAID,wBAAgB,mBAAmB,IAAI,MAAM,CA8O5C"}
1
+ {"version":3,"file":"createNativeDevEngine.d.ts","sourceRoot":"","sources":["../../src/utils/createNativeDevEngine.ts"],"names":[],"mappings":"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"}