vxrn 1.12.8 → 1.13.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/dist/config/getAdditionalViteConfig.mjs +1 -4
- package/dist/config/getAdditionalViteConfig.mjs.map +1 -1
- package/dist/config/getAdditionalViteConfig.native.js +1 -4
- package/dist/config/getAdditionalViteConfig.native.js.map +1 -1
- package/dist/config/getReactNativePlugins.mjs +1 -5
- package/dist/config/getReactNativePlugins.mjs.map +1 -1
- package/dist/config/getReactNativePlugins.native.js +1 -5
- package/dist/config/getReactNativePlugins.native.js.map +1 -1
- package/dist/exports/build.mjs +5 -0
- package/dist/exports/build.mjs.map +1 -1
- package/dist/exports/build.native.js +5 -0
- package/dist/exports/build.native.js.map +1 -1
- package/dist/exports/createServer.mjs +30 -25
- package/dist/exports/createServer.mjs.map +1 -1
- package/dist/exports/createServer.native.js +6 -3
- package/dist/exports/createServer.native.js.map +1 -1
- package/dist/exports/prebuild.mjs +25 -1
- package/dist/exports/prebuild.mjs.map +1 -1
- package/dist/exports/prebuild.native.js +30 -1
- package/dist/exports/prebuild.native.js.map +1 -1
- package/dist/exports/serve.mjs +2 -2
- package/dist/exports/serve.mjs.map +1 -1
- package/dist/exports/serve.native.js +2 -2
- package/dist/exports/serve.native.js.map +1 -1
- package/dist/exports/serveStaticAssets.mjs +43 -11
- package/dist/exports/serveStaticAssets.mjs.map +1 -1
- package/dist/exports/serveStaticAssets.native.js +69 -6
- package/dist/exports/serveStaticAssets.native.js.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/index.mjs.map +1 -1
- package/dist/index.native.js +1 -2
- package/dist/index.native.js.map +1 -1
- package/dist/patches/builtInDepPatches.mjs +14 -0
- package/dist/patches/builtInDepPatches.mjs.map +1 -1
- package/dist/patches/builtInDepPatches.native.js +14 -0
- package/dist/patches/builtInDepPatches.native.js.map +1 -1
- package/dist/plugins/clientInjectPlugin.mjs +2 -62
- package/dist/plugins/clientInjectPlugin.mjs.map +1 -1
- package/dist/plugins/clientInjectPlugin.native.js +2 -75
- package/dist/plugins/clientInjectPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.mjs +1 -3
- package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.native.js +1 -3
- package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevServer.mjs +55 -77
- package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
- package/dist/plugins/reactNativeDevServer.native.js +73 -84
- package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
- package/dist/plugins/serverExtensions.test.mjs +12 -6
- package/dist/plugins/serverExtensions.test.mjs.map +1 -1
- package/dist/plugins/serverExtensions.test.native.js +12 -6
- package/dist/plugins/serverExtensions.test.native.js.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.mjs +11 -35
- package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.native.js +9 -36
- package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/runtime/hmr-client.mjs +125 -0
- package/dist/runtime/hmr-client.mjs.map +1 -0
- package/dist/runtime/hmr-client.native.js +197 -0
- package/dist/runtime/hmr-client.native.js.map +1 -0
- package/dist/runtime/hmr-runtime.mjs +162 -0
- package/dist/runtime/hmr-runtime.mjs.map +1 -0
- package/dist/runtime/hmr-runtime.native.js +348 -0
- package/dist/runtime/hmr-runtime.native.js.map +1 -0
- package/dist/runtime/hmr-types.mjs +2 -0
- package/dist/runtime/hmr-types.mjs.map +1 -0
- package/dist/runtime/hmr-types.native.js +2 -0
- package/dist/runtime/hmr-types.native.js.map +1 -0
- package/dist/runtime/native-prelude.mjs +97 -0
- package/dist/runtime/native-prelude.mjs.map +1 -0
- package/dist/runtime/native-prelude.native.js +97 -0
- package/dist/runtime/native-prelude.native.js.map +1 -0
- package/dist/runtime/react-refresh-utils.mjs +19 -0
- package/dist/runtime/react-refresh-utils.mjs.map +1 -0
- package/dist/runtime/react-refresh-utils.native.js +24 -0
- package/dist/runtime/react-refresh-utils.native.js.map +1 -0
- package/dist/utils/createNativeDevEngine.mjs +661 -0
- package/dist/utils/createNativeDevEngine.mjs.map +1 -0
- package/dist/utils/createNativeDevEngine.native.js +702 -0
- package/dist/utils/createNativeDevEngine.native.js.map +1 -0
- package/dist/utils/patches.mjs +6 -2
- package/dist/utils/patches.mjs.map +1 -1
- package/dist/utils/patches.native.js +6 -2
- package/dist/utils/patches.native.js.map +1 -1
- package/dist/utils/scanDepsToOptimize.mjs +4 -3
- package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
- package/dist/utils/scanDepsToOptimize.native.js +4 -3
- package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
- package/expo-plugin.cjs +122 -0
- package/package.json +15 -19
- package/src/config/getAdditionalViteConfig.ts +1 -3
- package/src/config/getReactNativePlugins.ts +0 -6
- package/src/exports/build.ts +5 -0
- package/src/exports/createServer.ts +7 -2
- package/src/exports/prebuild.ts +45 -0
- package/src/exports/serve.ts +2 -1
- package/src/exports/serveStaticAssets.ts +67 -4
- package/src/index.ts +0 -2
- package/src/patches/builtInDepPatches.ts +29 -0
- package/src/plugins/clientInjectPlugin.ts +2 -109
- package/src/plugins/reactNativeDevAssetPlugin.ts +0 -21
- package/src/plugins/reactNativeDevServer.ts +57 -84
- package/src/plugins/serverExtensions.test.ts +6 -8
- package/src/rn-commands/bundle/buildBundle.ts +9 -62
- package/src/runtime/hmr-client.ts +215 -0
- package/src/runtime/hmr-runtime.ts +276 -0
- package/src/runtime/hmr-types.ts +84 -0
- package/src/runtime/native-prelude.ts +110 -0
- package/src/runtime/react-refresh-utils.ts +36 -0
- package/src/types.ts +22 -4
- package/src/utils/createNativeDevEngine.ts +942 -0
- package/src/utils/patches.ts +36 -18
- package/src/utils/scanDepsToOptimize.ts +2 -3
- package/types/config/getAdditionalViteConfig.d.ts.map +1 -1
- package/types/config/getOptionsFilled.d.ts +2 -18
- package/types/config/getOptionsFilled.d.ts.map +1 -1
- package/types/config/getReactNativePlugins.d.ts.map +1 -1
- package/types/exports/build.d.ts +1 -9
- package/types/exports/build.d.ts.map +1 -1
- package/types/exports/createServer.d.ts.map +1 -1
- package/types/exports/prebuild.d.ts.map +1 -1
- package/types/exports/serve.d.ts +2 -1
- package/types/exports/serve.d.ts.map +1 -1
- package/types/exports/serveStaticAssets.d.ts +12 -1
- package/types/exports/serveStaticAssets.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/patches/builtInDepPatches.d.ts.map +1 -1
- package/types/plugins/clientInjectPlugin.d.ts +1 -7
- package/types/plugins/clientInjectPlugin.d.ts.map +1 -1
- package/types/plugins/reactNativeDevAssetPlugin.d.ts.map +1 -1
- package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
- package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -1
- package/types/runtime/hmr-client.d.ts +40 -0
- package/types/runtime/hmr-client.d.ts.map +1 -0
- package/types/runtime/hmr-runtime.d.ts +69 -0
- package/types/runtime/hmr-runtime.d.ts.map +1 -0
- package/types/runtime/hmr-types.d.ts +76 -0
- package/types/runtime/hmr-types.d.ts.map +1 -0
- package/types/runtime/native-prelude.d.ts +11 -0
- package/types/runtime/native-prelude.d.ts.map +1 -0
- package/types/runtime/react-refresh-utils.d.ts +3 -0
- package/types/runtime/react-refresh-utils.d.ts.map +1 -0
- package/types/types.d.ts +15 -1
- package/types/types.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts +42 -0
- package/types/utils/createNativeDevEngine.d.ts.map +1 -0
- package/types/utils/patches.d.ts.map +1 -1
- package/types/utils/scanDepsToOptimize.d.ts.map +1 -1
- package/dist/config/getReactNativeBuildConfig.mjs +0 -200
- package/dist/config/getReactNativeBuildConfig.mjs.map +0 -1
- package/dist/config/getReactNativeBuildConfig.native.js +0 -204
- package/dist/config/getReactNativeBuildConfig.native.js.map +0 -1
- package/dist/plugins/reactNativeHMRPlugin.mjs +0 -120
- package/dist/plugins/reactNativeHMRPlugin.mjs.map +0 -1
- package/dist/plugins/reactNativeHMRPlugin.native.js +0 -151
- package/dist/plugins/reactNativeHMRPlugin.native.js.map +0 -1
- package/dist/utils/filterPluginsForNative.mjs +0 -27
- package/dist/utils/filterPluginsForNative.mjs.map +0 -1
- package/dist/utils/filterPluginsForNative.native.js +0 -33
- package/dist/utils/filterPluginsForNative.native.js.map +0 -1
- package/dist/utils/getReactNativeBundle.mjs +0 -104
- package/dist/utils/getReactNativeBundle.mjs.map +0 -1
- package/dist/utils/getReactNativeBundle.native.js +0 -135
- package/dist/utils/getReactNativeBundle.native.js.map +0 -1
- package/dist/utils/hotUpdateCache.mjs +0 -3
- package/dist/utils/hotUpdateCache.mjs.map +0 -1
- package/dist/utils/hotUpdateCache.native.js +0 -3
- package/dist/utils/hotUpdateCache.native.js.map +0 -1
- package/dist/utils/isBuildingNativeBundle.mjs +0 -6
- package/dist/utils/isBuildingNativeBundle.mjs.map +0 -1
- package/dist/utils/isBuildingNativeBundle.native.js +0 -7
- package/dist/utils/isBuildingNativeBundle.native.js.map +0 -1
- package/dist/utils/swapPrebuiltReactModules.mjs +0 -168
- package/dist/utils/swapPrebuiltReactModules.mjs.map +0 -1
- package/dist/utils/swapPrebuiltReactModules.native.js +0 -181
- package/dist/utils/swapPrebuiltReactModules.native.js.map +0 -1
- package/dist/worker.mjs +0 -55
- package/dist/worker.mjs.map +0 -1
- package/dist/worker.native.js +0 -55
- package/dist/worker.native.js.map +0 -1
- package/react-native-template.js +0 -375
- package/src/config/getReactNativeBuildConfig.ts +0 -349
- package/src/plugins/reactNativeHMRPlugin.ts +0 -237
- package/src/utils/filterPluginsForNative.ts +0 -55
- package/src/utils/getReactNativeBundle.ts +0 -243
- package/src/utils/hotUpdateCache.ts +0 -1
- package/src/utils/isBuildingNativeBundle.ts +0 -7
- package/src/utils/swapPrebuiltReactModules.ts +0 -341
- package/src/worker.ts +0 -90
- package/types/config/getReactNativeBuildConfig.d.ts +0 -72
- package/types/config/getReactNativeBuildConfig.d.ts.map +0 -1
- package/types/plugins/reactNativeHMRPlugin.d.ts +0 -10
- package/types/plugins/reactNativeHMRPlugin.d.ts.map +0 -1
- package/types/utils/filterPluginsForNative.d.ts +0 -8
- package/types/utils/filterPluginsForNative.d.ts.map +0 -1
- package/types/utils/getReactNativeBundle.d.ts +0 -12
- package/types/utils/getReactNativeBundle.d.ts.map +0 -1
- package/types/utils/hotUpdateCache.d.ts +0 -2
- package/types/utils/hotUpdateCache.d.ts.map +0 -1
- package/types/utils/isBuildingNativeBundle.d.ts +0 -3
- package/types/utils/isBuildingNativeBundle.d.ts.map +0 -1
- package/types/utils/swapPrebuiltReactModules.d.ts +0 -9
- package/types/utils/swapPrebuiltReactModules.d.ts.map +0 -1
- package/types/worker.d.ts +0 -13
- package/types/worker.d.ts.map +0 -1
|
@@ -0,0 +1,661 @@
|
|
|
1
|
+
import { writeFileSync } from "node:fs";
|
|
2
|
+
import { basename, dirname, extname, join, relative } from "node:path";
|
|
3
|
+
import { DEFAULT_ASSET_EXTS } from "../constants/defaults.mjs";
|
|
4
|
+
import { getNativePrelude } from "../runtime/native-prelude.mjs";
|
|
5
|
+
const FLOW_FILE_PATTERN = /node_modules[\\/](?:react-native|@react-native)[\\/].*\.js$/;
|
|
6
|
+
function getResolveExtensions(platform) {
|
|
7
|
+
const platformExts = platform === "ios" ? [".ios.tsx", ".ios.ts", ".ios.jsx", ".ios.js"] : [".android.tsx", ".android.ts", ".android.jsx", ".android.js"],
|
|
8
|
+
nativeExts = [".native.tsx", ".native.ts", ".native.jsx", ".native.js"],
|
|
9
|
+
defaultExts = [".tsx", ".ts", ".jsx", ".js", ".mjs", ".cjs", ".json"];
|
|
10
|
+
return [...platformExts, ...nativeExts, ...defaultExts];
|
|
11
|
+
}
|
|
12
|
+
function getNativeResolveConfig(platform) {
|
|
13
|
+
return {
|
|
14
|
+
extensions: getResolveExtensions(platform),
|
|
15
|
+
conditionNames: ["react-native", "import", "require", "default"],
|
|
16
|
+
mainFields: ["react-native", "module", "main"]
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function getNativeTransformConfig(dev) {
|
|
20
|
+
return {
|
|
21
|
+
jsx: {
|
|
22
|
+
// use 'classic' mode (babel plugin-transform-react-jsx)
|
|
23
|
+
// 'automatic' has files where jsxDEV import fails to resolve
|
|
24
|
+
runtime: "classic"
|
|
25
|
+
},
|
|
26
|
+
define: {
|
|
27
|
+
"process.env.NODE_ENV": dev ? '"development"' : '"production"',
|
|
28
|
+
"process.env.VXRN_REACT_19": "false",
|
|
29
|
+
__DEV__: dev ? "true" : "false"
|
|
30
|
+
},
|
|
31
|
+
// auto-inject React import for classic JSX (React.createElement)
|
|
32
|
+
inject: {
|
|
33
|
+
React: "react"
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function getNativePlugins(root, platform, viteImportGlobPlugin, dev) {
|
|
38
|
+
return [
|
|
39
|
+
// stub CSS imports — native doesn't support CSS and rolldown removed CSS bundling
|
|
40
|
+
cssStubPlugin(),
|
|
41
|
+
// handle import.meta.glob (used by One's route system)
|
|
42
|
+
viteImportGlobPlugin({
|
|
43
|
+
root
|
|
44
|
+
}),
|
|
45
|
+
// strip Flow types from react-native and @react-native packages
|
|
46
|
+
flowStripPlugin(),
|
|
47
|
+
// handle asset imports (.png, .jpg, .ttf, etc.)
|
|
48
|
+
assetPlugin({
|
|
49
|
+
root,
|
|
50
|
+
platform
|
|
51
|
+
}),
|
|
52
|
+
// @vxrn/compiler babel transforms: reanimated worklets, async generators,
|
|
53
|
+
// react-native codegen, react compiler — same pipeline as metro
|
|
54
|
+
vxrnCompilerPlugin(platform, dev),
|
|
55
|
+
// hermes compat: transform class properties and private fields
|
|
56
|
+
hermesCompatSWCPlugin(dev),
|
|
57
|
+
// downgrade polyfill "not configurable" errors to warnings (hermes v1)
|
|
58
|
+
polyfillErrorDowngradePlugin(),
|
|
59
|
+
// strip DevSettings in prod (dev-only native module)
|
|
60
|
+
stripDevSettingsPlugin(dev)];
|
|
61
|
+
}
|
|
62
|
+
function getNativeOutputOptions(prelude) {
|
|
63
|
+
return {
|
|
64
|
+
format: "esm",
|
|
65
|
+
sourcemap: !0,
|
|
66
|
+
intro: prelude,
|
|
67
|
+
codeSplitting: !1,
|
|
68
|
+
strictExecutionOrder: !0
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function postProcessNativeBundle(code) {
|
|
72
|
+
return code = code.replace(/^\s*export\s*\{[^}]*\}\s*;?\s*$/gm, ""), code = code.replace(/^if \(import\.meta\.hot\).*$/gm, ""), code;
|
|
73
|
+
}
|
|
74
|
+
async function downlevelClassFieldsInBundle(code) {
|
|
75
|
+
const startMarker = "//#region \\0rolldown/runtime.js",
|
|
76
|
+
endMarker = "//#endregion",
|
|
77
|
+
startIdx = code.indexOf(startMarker);
|
|
78
|
+
if (startIdx === -1) return code;
|
|
79
|
+
const endIdx = code.indexOf(endMarker, startIdx);
|
|
80
|
+
if (endIdx === -1) return code;
|
|
81
|
+
const runtimeEnd = endIdx + endMarker.length,
|
|
82
|
+
runtimeSection = code.slice(startIdx, runtimeEnd);
|
|
83
|
+
try {
|
|
84
|
+
const result = await (await import("@swc/core")).transform(runtimeSection, {
|
|
85
|
+
filename: "rolldown-runtime.js",
|
|
86
|
+
configFile: !1,
|
|
87
|
+
swcrc: !1,
|
|
88
|
+
sourceMaps: !1,
|
|
89
|
+
inputSourceMap: !1,
|
|
90
|
+
isModule: !1,
|
|
91
|
+
env: {
|
|
92
|
+
targets: {
|
|
93
|
+
node: 9999
|
|
94
|
+
},
|
|
95
|
+
include: ["transform-class-properties", "transform-class-static-block", "transform-private-methods", "transform-private-property-in-object"]
|
|
96
|
+
},
|
|
97
|
+
jsc: {
|
|
98
|
+
parser: {
|
|
99
|
+
syntax: "ecmascript"
|
|
100
|
+
},
|
|
101
|
+
transform: {
|
|
102
|
+
react: {
|
|
103
|
+
runtime: "preserve"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
externalHelpers: !1,
|
|
107
|
+
assumptions: {
|
|
108
|
+
setPublicClassFields: !0,
|
|
109
|
+
privateFieldsAsProperties: !0
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return code.slice(0, startIdx) + result.code + code.slice(runtimeEnd);
|
|
114
|
+
} catch (err) {
|
|
115
|
+
return console.warn("[vxrn] downlevelClassFieldsInBundle failed, returning original:", err), code;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async function createNativeDevEngine(options) {
|
|
119
|
+
const {
|
|
120
|
+
root,
|
|
121
|
+
port,
|
|
122
|
+
host = "localhost",
|
|
123
|
+
platform,
|
|
124
|
+
serverUrl,
|
|
125
|
+
plugins: userPlugins = [],
|
|
126
|
+
onHmrUpdate
|
|
127
|
+
} = options,
|
|
128
|
+
{
|
|
129
|
+
dev,
|
|
130
|
+
viteImportGlobPlugin
|
|
131
|
+
} = await import("rolldown/experimental"),
|
|
132
|
+
hmrRuntimeSource = getHmrRuntimeSource(),
|
|
133
|
+
prelude = getNativePrelude({
|
|
134
|
+
dev: !0,
|
|
135
|
+
platform,
|
|
136
|
+
serverUrl: serverUrl || `http://${host}:${port}`
|
|
137
|
+
}),
|
|
138
|
+
entryFile = generateNativeEntry(root);
|
|
139
|
+
let currentBundle = null,
|
|
140
|
+
bundleResolve = null,
|
|
141
|
+
bundlePromise = null;
|
|
142
|
+
const resolvedHost = host === "0.0.0.0" ? "localhost" : host,
|
|
143
|
+
inputOptions = {
|
|
144
|
+
input: entryFile,
|
|
145
|
+
cwd: root,
|
|
146
|
+
platform: "neutral",
|
|
147
|
+
resolve: getNativeResolveConfig(platform),
|
|
148
|
+
transform: getNativeTransformConfig(!0),
|
|
149
|
+
experimental: {
|
|
150
|
+
devMode: {
|
|
151
|
+
implement: hmrRuntimeSource,
|
|
152
|
+
host,
|
|
153
|
+
port
|
|
154
|
+
},
|
|
155
|
+
incrementalBuild: !0
|
|
156
|
+
},
|
|
157
|
+
treeshake: !1,
|
|
158
|
+
// some react-native ecosystem packages import symbols that don't exist in
|
|
159
|
+
// the declared entry (e.g. @react-navigation/elements imports NavigationProvider
|
|
160
|
+
// from @react-navigation/native which doesn't export it). metro silently shims
|
|
161
|
+
// these — rolldown needs an explicit opt-in.
|
|
162
|
+
shimMissingExports: !0,
|
|
163
|
+
moduleTypes: {
|
|
164
|
+
".js": "jsx"
|
|
165
|
+
},
|
|
166
|
+
plugins: [...getNativePlugins(root, platform, viteImportGlobPlugin, !0),
|
|
167
|
+
// add import.meta.hot.accept() to user files for HMR boundaries
|
|
168
|
+
// rolldown compiles import.meta.hot -> createModuleHotContext at build time
|
|
169
|
+
nativeReactRefreshPlugin(), ...userPlugins]
|
|
170
|
+
},
|
|
171
|
+
outputOptions = {
|
|
172
|
+
...getNativeOutputOptions(prelude),
|
|
173
|
+
// connect HMR WebSocket using RN's WebSocket module (not the global)
|
|
174
|
+
outro: `
|
|
175
|
+
try {
|
|
176
|
+
var __WS = (init_WebSocket(), __toCommonJS(WebSocket_exports)).default;
|
|
177
|
+
var __hmrUrl = 'ws://${resolvedHost}:${port}/hot';
|
|
178
|
+
var __hmrWS = new __WS(__hmrUrl);
|
|
179
|
+
__hmrWS.onmessage = function(event) {
|
|
180
|
+
try {
|
|
181
|
+
var msg = JSON.parse(event.data);
|
|
182
|
+
var g = typeof global !== 'undefined' ? global : globalThis;
|
|
183
|
+
if (msg.type === 'hmr:update' && msg.code) {
|
|
184
|
+
if (g.globalEvalWithSourceUrl) g.globalEvalWithSourceUrl(msg.code);
|
|
185
|
+
else (0, eval)(msg.code);
|
|
186
|
+
setTimeout(function() {
|
|
187
|
+
try { if (g.__ReactRefresh) g.__ReactRefresh.performReactRefresh(); } catch(e) {}
|
|
188
|
+
}, 50);
|
|
189
|
+
} else if (msg.type === 'hmr:reload') {
|
|
190
|
+
var ds = g.__turboModuleProxy ? g.__turboModuleProxy('DevSettings') : null;
|
|
191
|
+
if (ds && ds.reload) ds.reload();
|
|
192
|
+
}
|
|
193
|
+
} catch(e) { console.error('[vxrn] HMR eval error:', e); }
|
|
194
|
+
};
|
|
195
|
+
__hmrWS.onopen = function() {
|
|
196
|
+
if (typeof __rolldown_runtime__ !== 'undefined' && __rolldown_runtime__.setup) {
|
|
197
|
+
__rolldown_runtime__.setup(__hmrWS, __hmrUrl.replace('ws://', 'http://'));
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
__hmrWS.onerror = function(e) { console.warn('[vxrn] HMR connection error:', e.message || e); };
|
|
201
|
+
} catch(e) {}
|
|
202
|
+
`
|
|
203
|
+
},
|
|
204
|
+
engine = await dev(inputOptions, outputOptions, {
|
|
205
|
+
onOutput: async result => {
|
|
206
|
+
if (result instanceof Error) {
|
|
207
|
+
console.error("[vxrn] native bundle error:", result.message);
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const chunk = result.output.find(o => o.type === "chunk" && o.isEntry);
|
|
211
|
+
if (chunk && "code" in chunk) {
|
|
212
|
+
let code = postProcessNativeBundle(chunk.code);
|
|
213
|
+
code = await downlevelClassFieldsInBundle(code);
|
|
214
|
+
const hmrClientStub = 'registerCallableModule("HMRClient",{setup:function(){},enable:function(){},disable:function(){},registerBundle:function(){},log:function(){}})';
|
|
215
|
+
code = code.replace(/registerCallableModule\s*\(\s*["']AppRegistry["']/, match => hmrClientStub + "," + match), currentBundle = {
|
|
216
|
+
code,
|
|
217
|
+
map: chunk.map?.toString()
|
|
218
|
+
}, console.info(`[vxrn] native bundle ready (${Math.round(chunk.code.length / 1024)}KB)`), bundleResolve && (bundleResolve(currentBundle), bundleResolve = null, bundlePromise = null);
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
onHmrUpdates: async result => {
|
|
222
|
+
if (result instanceof Error) {
|
|
223
|
+
console.error("[vxrn] HMR error:", result.message), onHmrUpdate?.({
|
|
224
|
+
type: "hmr:error"
|
|
225
|
+
});
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
const updates = result.updates || [];
|
|
229
|
+
for (const item of updates) {
|
|
230
|
+
const update = item.update || item;
|
|
231
|
+
update.type === "Patch" && update.code ? onHmrUpdate?.({
|
|
232
|
+
type: "hmr:update",
|
|
233
|
+
code: update.code
|
|
234
|
+
}) : update.type === "FullReload" && onHmrUpdate?.({
|
|
235
|
+
type: "hmr:reload"
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
updates.length === 0 && onHmrUpdate?.({
|
|
239
|
+
type: "hmr:reload"
|
|
240
|
+
});
|
|
241
|
+
},
|
|
242
|
+
rebuildStrategy: "auto",
|
|
243
|
+
watch: {}
|
|
244
|
+
});
|
|
245
|
+
return await engine.run(), {
|
|
246
|
+
engine,
|
|
247
|
+
async getBundle() {
|
|
248
|
+
if (currentBundle) return currentBundle;
|
|
249
|
+
if (!bundlePromise) {
|
|
250
|
+
let timeoutId;
|
|
251
|
+
bundlePromise = new Promise((resolve, reject) => {
|
|
252
|
+
bundleResolve = value => {
|
|
253
|
+
clearTimeout(timeoutId), resolve(value);
|
|
254
|
+
}, timeoutId = setTimeout(() => reject(new Error("[vxrn] bundle build timed out after 120s")), 12e4);
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
return await engine.ensureLatestBuildOutput(), currentBundle || bundlePromise;
|
|
258
|
+
},
|
|
259
|
+
async close() {
|
|
260
|
+
await engine.close();
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
async function buildNativeBundle(options) {
|
|
265
|
+
const {
|
|
266
|
+
root,
|
|
267
|
+
platform,
|
|
268
|
+
dev = !1,
|
|
269
|
+
serverUrl,
|
|
270
|
+
plugins: userPlugins = []
|
|
271
|
+
} = options,
|
|
272
|
+
{
|
|
273
|
+
build
|
|
274
|
+
} = await import("rolldown"),
|
|
275
|
+
{
|
|
276
|
+
viteImportGlobPlugin
|
|
277
|
+
} = await import("rolldown/experimental"),
|
|
278
|
+
prelude = getNativePrelude({
|
|
279
|
+
dev,
|
|
280
|
+
platform,
|
|
281
|
+
serverUrl
|
|
282
|
+
}),
|
|
283
|
+
entryFile = generateNativeEntry(root, {
|
|
284
|
+
dev
|
|
285
|
+
}),
|
|
286
|
+
chunk = (await build({
|
|
287
|
+
input: entryFile,
|
|
288
|
+
cwd: root,
|
|
289
|
+
platform: "neutral",
|
|
290
|
+
resolve: getNativeResolveConfig(platform),
|
|
291
|
+
transform: getNativeTransformConfig(dev),
|
|
292
|
+
treeshake: !dev,
|
|
293
|
+
shimMissingExports: !0,
|
|
294
|
+
moduleTypes: {
|
|
295
|
+
".js": "jsx"
|
|
296
|
+
},
|
|
297
|
+
plugins: [...getNativePlugins(root, platform, viteImportGlobPlugin, dev), ...userPlugins],
|
|
298
|
+
output: getNativeOutputOptions(prelude)
|
|
299
|
+
})).output.find(o => o.type === "chunk" && o.isEntry);
|
|
300
|
+
if (!chunk || !("code" in chunk)) throw new Error("[vxrn] production build produced no output");
|
|
301
|
+
let code = postProcessNativeBundle(chunk.code);
|
|
302
|
+
return code = await downlevelClassFieldsInBundle(code), {
|
|
303
|
+
code,
|
|
304
|
+
map: chunk.map?.toString()
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
function generateNativeEntry(root, opts) {
|
|
308
|
+
const isDev = opts?.dev !== !1,
|
|
309
|
+
entryPath = join(root, ".vxrn-entry-native.tsx");
|
|
310
|
+
return writeFileSync(entryPath, `
|
|
311
|
+
// auto-generated native entry for rolldown
|
|
312
|
+
${isDev ? `
|
|
313
|
+
// react-refresh/runtime MUST initialize before React loads
|
|
314
|
+
import RefreshRuntime from 'react-refresh/runtime';
|
|
315
|
+
RefreshRuntime.injectIntoGlobalHook(globalThis);
|
|
316
|
+
globalThis.__ReactRefresh = RefreshRuntime;
|
|
317
|
+
globalThis.$RefreshReg$ = function(type, id) {
|
|
318
|
+
RefreshRuntime.register(type, id);
|
|
319
|
+
};
|
|
320
|
+
globalThis.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
|
|
321
|
+
` : ""}
|
|
322
|
+
import { createApp } from 'one';
|
|
323
|
+
|
|
324
|
+
var _routes = import.meta.glob(['./app/**/*.tsx', './app/**/*.ts', '!./app/**/*+api.*', '!./app/**/*.test.*', '!./app/**/*.d.ts'], { exhaustive: true });
|
|
325
|
+
// fix route keys: One expects '/app/...' prefix but import.meta.glob returns './app/...'
|
|
326
|
+
var routes = {};
|
|
327
|
+
Object.keys(_routes).forEach(function(key) {
|
|
328
|
+
routes[key.replace(/^\\./, '')] = _routes[key];
|
|
329
|
+
});
|
|
330
|
+
|
|
331
|
+
createApp({
|
|
332
|
+
routes: routes,
|
|
333
|
+
routerRoot: 'app',
|
|
334
|
+
flags: {},
|
|
335
|
+
});
|
|
336
|
+
`), entryPath;
|
|
337
|
+
}
|
|
338
|
+
function cssStubPlugin() {
|
|
339
|
+
return {
|
|
340
|
+
name: "vxrn:css-stub",
|
|
341
|
+
load: {
|
|
342
|
+
handler(id) {
|
|
343
|
+
if (/\.css$/.test(id)) return {
|
|
344
|
+
code: "",
|
|
345
|
+
moduleType: "js"
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
function vxrnCompilerPlugin(platform, dev) {
|
|
352
|
+
let compiler = null;
|
|
353
|
+
return {
|
|
354
|
+
name: "vxrn:compiler",
|
|
355
|
+
async transform(code, id) {
|
|
356
|
+
if (/\.[cm]?[jt]sx?$/.test(id) && !(id.includes("\0") || id.includes("virtual:"))) try {
|
|
357
|
+
compiler || (compiler = await import("@vxrn/compiler"));
|
|
358
|
+
const props = {
|
|
359
|
+
id,
|
|
360
|
+
code,
|
|
361
|
+
development: dev,
|
|
362
|
+
environment: platform,
|
|
363
|
+
reactForRNVersion: "19"
|
|
364
|
+
},
|
|
365
|
+
babelOptions = compiler.getBabelOptions(props);
|
|
366
|
+
if (!babelOptions) return;
|
|
367
|
+
const result = await compiler.transformBabel(id, code, babelOptions);
|
|
368
|
+
if (result?.code) return {
|
|
369
|
+
code: result.code
|
|
370
|
+
};
|
|
371
|
+
} catch (err) {
|
|
372
|
+
dev && console.warn(`[vxrn:compiler] ${id}: ${err.message || err}`);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
function flowStripPlugin() {
|
|
378
|
+
return {
|
|
379
|
+
name: "vxrn:flow-strip",
|
|
380
|
+
transform: {
|
|
381
|
+
async handler(code, id) {
|
|
382
|
+
if (FLOW_FILE_PATTERN.test(id)) try {
|
|
383
|
+
const result = await (await import("fast-flow-transform")).default({
|
|
384
|
+
filename: id,
|
|
385
|
+
source: code,
|
|
386
|
+
sourcemap: !0,
|
|
387
|
+
dialect: "flow",
|
|
388
|
+
format: "pretty"
|
|
389
|
+
});
|
|
390
|
+
return {
|
|
391
|
+
code: result.code,
|
|
392
|
+
map: result.map
|
|
393
|
+
};
|
|
394
|
+
} catch (err) {
|
|
395
|
+
console.warn(`[vxrn:flow-strip] ${id}: ${err.message}`);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
function assetPlugin(opts) {
|
|
402
|
+
const assetRegex = new RegExp(`\\.(?:${DEFAULT_ASSET_EXTS.join("|")})$`);
|
|
403
|
+
return {
|
|
404
|
+
name: "vxrn:asset",
|
|
405
|
+
load: {
|
|
406
|
+
async handler(id) {
|
|
407
|
+
if (!assetRegex.test(id)) return;
|
|
408
|
+
const ext = extname(id).slice(1),
|
|
409
|
+
name = basename(id, `.${ext}`),
|
|
410
|
+
dir = dirname(id),
|
|
411
|
+
relativePath = relative(opts.root, id),
|
|
412
|
+
httpLocation = "/assets/" + dirname(relativePath),
|
|
413
|
+
assetData = {
|
|
414
|
+
__packager_asset: !0,
|
|
415
|
+
name,
|
|
416
|
+
type: ext,
|
|
417
|
+
scales: [1],
|
|
418
|
+
httpServerLocation: httpLocation,
|
|
419
|
+
fileSystemLocation: dir,
|
|
420
|
+
hash: "",
|
|
421
|
+
width: void 0,
|
|
422
|
+
height: void 0
|
|
423
|
+
};
|
|
424
|
+
if (["png", "jpg", "jpeg", "gif", "webp", "bmp"].includes(ext)) try {
|
|
425
|
+
const {
|
|
426
|
+
imageSize
|
|
427
|
+
} = await import("image-size"),
|
|
428
|
+
dims = imageSize(id);
|
|
429
|
+
assetData.width = dims.width, assetData.height = dims.height;
|
|
430
|
+
} catch {}
|
|
431
|
+
return {
|
|
432
|
+
code: `module.exports = require('react-native/Libraries/Image/AssetRegistry').registerAsset(${JSON.stringify(assetData)});`,
|
|
433
|
+
moduleType: "js"
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
function hermesCompatSWCPlugin(dev) {
|
|
440
|
+
let swc = null;
|
|
441
|
+
return {
|
|
442
|
+
name: "vxrn:hermes-compat",
|
|
443
|
+
async transform(code, id) {
|
|
444
|
+
if (!/\.[cm]?[jt]sx?$/.test(id) || id.includes("\0") || id.includes("virtual:")) return;
|
|
445
|
+
const hasClass = code.includes("class ") || code.includes("class{"),
|
|
446
|
+
hasAsync = !dev && code.includes("async ");
|
|
447
|
+
if (!(!hasClass && !hasAsync) && !(code.length > 5e5)) try {
|
|
448
|
+
swc || (swc = await import("@swc/core"));
|
|
449
|
+
const envIncludes = ["transform-class-properties", "transform-class-static-block", "transform-private-methods", "transform-private-property-in-object", ...(dev ? [] : ["transform-classes", "transform-async-to-generator"])];
|
|
450
|
+
return {
|
|
451
|
+
code: (await swc.transform(code, {
|
|
452
|
+
filename: id,
|
|
453
|
+
configFile: !1,
|
|
454
|
+
swcrc: !1,
|
|
455
|
+
sourceMaps: !1,
|
|
456
|
+
inputSourceMap: !1,
|
|
457
|
+
env: {
|
|
458
|
+
targets: {
|
|
459
|
+
node: 9999
|
|
460
|
+
},
|
|
461
|
+
include: envIncludes
|
|
462
|
+
},
|
|
463
|
+
jsc: {
|
|
464
|
+
parser: {
|
|
465
|
+
syntax: "typescript",
|
|
466
|
+
tsx: !0
|
|
467
|
+
},
|
|
468
|
+
transform: {
|
|
469
|
+
react: {
|
|
470
|
+
runtime: "preserve"
|
|
471
|
+
}
|
|
472
|
+
},
|
|
473
|
+
externalHelpers: !1,
|
|
474
|
+
assumptions: {
|
|
475
|
+
setPublicClassFields: !0,
|
|
476
|
+
privateFieldsAsProperties: !0
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
isModule: !id.endsWith(".cjs")
|
|
480
|
+
})).code
|
|
481
|
+
};
|
|
482
|
+
} catch {}
|
|
483
|
+
}
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
function polyfillErrorDowngradePlugin() {
|
|
487
|
+
return {
|
|
488
|
+
name: "vxrn:polyfill-error-downgrade",
|
|
489
|
+
transform(code, id) {
|
|
490
|
+
if (id.includes("node_modules") && code.includes('console.error("Failed to set polyfill.')) return {
|
|
491
|
+
code: code.replace(/console\.error\(\s*"Failed to set polyfill\.\s*"\s*\+/g, 'console.warn("Failed to set polyfill. " +')
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
};
|
|
495
|
+
}
|
|
496
|
+
function stripDevSettingsPlugin(dev) {
|
|
497
|
+
return {
|
|
498
|
+
name: "vxrn:strip-dev-settings",
|
|
499
|
+
transform(code, id) {
|
|
500
|
+
if (!dev && code.includes("DevSettings")) return {
|
|
501
|
+
code: code.replace(/getEnforcing\s*\(\s*["']DevSettings["']\s*\)/g, "patched_getEnforcing_DevSettings_will_not_work_in_production()")
|
|
502
|
+
};
|
|
503
|
+
}
|
|
504
|
+
};
|
|
505
|
+
}
|
|
506
|
+
function nativeReactRefreshPlugin() {
|
|
507
|
+
return {
|
|
508
|
+
name: "vxrn:react-refresh",
|
|
509
|
+
async transform(code, id) {
|
|
510
|
+
if (!id.includes("node_modules") && !id.includes(".vxrn-entry-native") && !id.startsWith("\0") && /\.[tj]sx?$/.test(id) && /[<]|function\s|=>\s*[{(]/.test(code)) try {
|
|
511
|
+
const babel = await import("@babel/core"),
|
|
512
|
+
parserPlugins = [];
|
|
513
|
+
id.endsWith(".tsx") ? parserPlugins.push(["@babel/plugin-syntax-typescript", {
|
|
514
|
+
isTSX: !0
|
|
515
|
+
}]) : id.endsWith(".ts") ? parserPlugins.push("@babel/plugin-syntax-typescript") : id.endsWith(".jsx") && parserPlugins.push("@babel/plugin-syntax-jsx");
|
|
516
|
+
const result = await babel.transformAsync(code, {
|
|
517
|
+
filename: id,
|
|
518
|
+
babelrc: !1,
|
|
519
|
+
configFile: !1,
|
|
520
|
+
compact: !1,
|
|
521
|
+
plugins: [...parserPlugins, "react-refresh/babel"],
|
|
522
|
+
sourceType: "unambiguous"
|
|
523
|
+
});
|
|
524
|
+
if (result?.code) return {
|
|
525
|
+
code: `
|
|
526
|
+
var __prevRefreshReg = globalThis.$RefreshReg$;
|
|
527
|
+
var __prevRefreshSig = globalThis.$RefreshSig$;
|
|
528
|
+
if (globalThis.__ReactRefresh) {
|
|
529
|
+
globalThis.$RefreshReg$ = function(type, id) {
|
|
530
|
+
globalThis.__ReactRefresh.register(type, "${id.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}" + " " + id);
|
|
531
|
+
};
|
|
532
|
+
globalThis.$RefreshSig$ = globalThis.__ReactRefresh.createSignatureFunctionForTransform;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
${result.code}
|
|
536
|
+
|
|
537
|
+
globalThis.$RefreshReg$ = __prevRefreshReg;
|
|
538
|
+
globalThis.$RefreshSig$ = __prevRefreshSig;
|
|
539
|
+
if (import.meta.hot) {
|
|
540
|
+
import.meta.hot.accept(function() {
|
|
541
|
+
if (globalThis.__ReactRefresh) {
|
|
542
|
+
setTimeout(function() { globalThis.__ReactRefresh.performReactRefresh(); }, 30);
|
|
543
|
+
}
|
|
544
|
+
});
|
|
545
|
+
}
|
|
546
|
+
`
|
|
547
|
+
};
|
|
548
|
+
} catch {
|
|
549
|
+
return {
|
|
550
|
+
code: code + `
|
|
551
|
+
if (import.meta.hot) { import.meta.hot.accept(); }
|
|
552
|
+
`
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
};
|
|
557
|
+
}
|
|
558
|
+
function getHmrRuntimeSource() {
|
|
559
|
+
return `
|
|
560
|
+
// vxrn HMR runtime for rolldown devMode
|
|
561
|
+
var BaseDevRuntime = DevRuntime;
|
|
562
|
+
|
|
563
|
+
class ReactNativeDevRuntime extends BaseDevRuntime {
|
|
564
|
+
constructor() {
|
|
565
|
+
var _shared = { _socket: null, _queue: [] };
|
|
566
|
+
var clientId = 'rn-' + Date.now() + '-' + Math.random().toString(36).slice(2);
|
|
567
|
+
super({ send: function(msg) {
|
|
568
|
+
var s = JSON.stringify(msg);
|
|
569
|
+
if (_shared._socket && _shared._socket.readyState === 1) { _shared._socket.send(s); }
|
|
570
|
+
else { _shared._queue.push(s); }
|
|
571
|
+
}}, clientId);
|
|
572
|
+
this._shared = _shared;
|
|
573
|
+
this._socket = null;
|
|
574
|
+
this._queue = [];
|
|
575
|
+
this.moduleHotContexts = {};
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
createModuleHotContext(moduleId) {
|
|
579
|
+
var ctx = {
|
|
580
|
+
acceptCallbacks: [],
|
|
581
|
+
accept: function(cb) {
|
|
582
|
+
if (cb) ctx.acceptCallbacks.push({ deps: [moduleId], fn: cb });
|
|
583
|
+
},
|
|
584
|
+
invalidate: function() {},
|
|
585
|
+
on: function() {},
|
|
586
|
+
off: function() {},
|
|
587
|
+
send: function() {},
|
|
588
|
+
get refresh() { return globalThis.__ReactRefresh; },
|
|
589
|
+
get refreshUtils() {
|
|
590
|
+
return {
|
|
591
|
+
isReactRefreshBoundary: function(exports) {
|
|
592
|
+
if (!globalThis.__ReactRefresh) return false;
|
|
593
|
+
if (globalThis.__ReactRefresh.isLikelyComponentType(exports)) return true;
|
|
594
|
+
if (!exports || typeof exports !== 'object') return false;
|
|
595
|
+
var hasExports = false, allComponents = true;
|
|
596
|
+
for (var key in exports) {
|
|
597
|
+
hasExports = true;
|
|
598
|
+
if (key === '__esModule') continue;
|
|
599
|
+
if (!globalThis.__ReactRefresh.isLikelyComponentType(exports[key])) allComponents = false;
|
|
600
|
+
}
|
|
601
|
+
return hasExports && allComponents;
|
|
602
|
+
},
|
|
603
|
+
enqueueUpdate: function() {
|
|
604
|
+
if (globalThis.__ReactRefresh) {
|
|
605
|
+
setTimeout(function() { globalThis.__ReactRefresh.performReactRefresh(); }, 50);
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
};
|
|
609
|
+
}
|
|
610
|
+
};
|
|
611
|
+
this.moduleHotContexts[moduleId] = ctx;
|
|
612
|
+
return ctx;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
applyUpdates(boundaries) {
|
|
616
|
+
for (var i = 0; i < boundaries.length; i++) {
|
|
617
|
+
var moduleId = boundaries[i][0];
|
|
618
|
+
var ctx = this.moduleHotContexts[moduleId];
|
|
619
|
+
if (ctx && ctx.acceptCallbacks) {
|
|
620
|
+
for (var j = 0; j < ctx.acceptCallbacks.length; j++) {
|
|
621
|
+
ctx.acceptCallbacks[j].fn(this.modules[moduleId].exports);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
setup(socket, origin) {
|
|
628
|
+
if (this._socket) return;
|
|
629
|
+
this._socket = socket;
|
|
630
|
+
// also set the shared messenger socket so queued messages can flush
|
|
631
|
+
if (this._shared) this._shared._socket = socket;
|
|
632
|
+
|
|
633
|
+
var flushQueues = function() {
|
|
634
|
+
// flush messenger queue
|
|
635
|
+
if (this._shared && this._shared._queue.length) {
|
|
636
|
+
for (var i = 0; i < this._shared._queue.length; i++) socket.send(this._shared._queue[i]);
|
|
637
|
+
this._shared._queue = [];
|
|
638
|
+
}
|
|
639
|
+
// flush instance queue
|
|
640
|
+
for (var i = 0; i < this._queue.length; i++) socket.send(this._queue[i]);
|
|
641
|
+
this._queue = [];
|
|
642
|
+
}.bind(this);
|
|
643
|
+
|
|
644
|
+
if (socket.readyState === 1) {
|
|
645
|
+
flushQueues();
|
|
646
|
+
} else {
|
|
647
|
+
socket.addEventListener('open', function() {
|
|
648
|
+
flushQueues();
|
|
649
|
+
}, { once: true });
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
// HMR message handling is done by the outro WebSocket handler
|
|
653
|
+
// the runtime's setup() only needs to flush queued messages
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
globalThis.__rolldown_runtime__ = new ReactNativeDevRuntime();
|
|
658
|
+
`;
|
|
659
|
+
}
|
|
660
|
+
export { buildNativeBundle, createNativeDevEngine };
|
|
661
|
+
//# sourceMappingURL=createNativeDevEngine.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["writeFileSync","basename","dirname","extname","join","relative","DEFAULT_ASSET_EXTS","getNativePrelude","FLOW_FILE_PATTERN","getResolveExtensions","platform","platformExts","nativeExts","defaultExts","getNativeResolveConfig","extensions","conditionNames","mainFields","getNativeTransformConfig","dev","jsx","runtime","define","__DEV__","inject","React","getNativePlugins","root","viteImportGlobPlugin","cssStubPlugin","flowStripPlugin","assetPlugin","vxrnCompilerPlugin","hermesCompatSWCPlugin","polyfillErrorDowngradePlugin","stripDevSettingsPlugin","getNativeOutputOptions","prelude","format","sourcemap","intro","codeSplitting","strictExecutionOrder","postProcessNativeBundle","code","replace","downlevelClassFieldsInBundle","startMarker","endMarker","startIdx","indexOf","endIdx","runtimeEnd","length","runtimeSection","slice","result","transform","filename","configFile","swcrc","sourceMaps","inputSourceMap","isModule","env","targets","node","include","jsc","parser","syntax","react","externalHelpers","assumptions","setPublicClassFields","privateFieldsAsProperties","err","console","warn","createNativeDevEngine","options","port","host","serverUrl","plugins","userPlugins","onHmrUpdate","hmrRuntimeSource","getHmrRuntimeSource","entryFile","generateNativeEntry","currentBundle","bundleResolve","bundlePromise","resolvedHost","inputOptions","input","cwd","resolve","experimental","devMode","implement","incrementalBuild","treeshake","shimMissingExports","moduleTypes","nativeReactRefreshPlugin","outputOptions","outro","engine","onOutput","Error","error","message","chunk","output","find","o","type","isEntry","hmrClientStub","match","map","toString","info","Math","round","onHmrUpdates","updates","item","update","rebuildStrategy","watch","run","getBundle","timeoutId","Promise","reject","value","clearTimeout","setTimeout","ensureLatestBuildOutput","close","buildNativeBundle","build","opts","isDev","entryPath","name","load","handler","id","test","moduleType","compiler","includes","props","development","environment","reactForRNVersion","babelOptions","getBabelOptions","transformBabel","default","source","dialect","assetRegex","RegExp","ext","dir","relativePath","httpLocation","assetData","__packager_asset","scales","httpServerLocation","fileSystemLocation","hash","width","height","imageSize","dims","JSON","stringify","swc","hasClass","hasAsync","envIncludes","tsx","endsWith","startsWith","babel","parserPlugins","push","isTSX","transformAsync","babelrc","compact","sourceType"],"sources":["../../src/utils/createNativeDevEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|