@vxrn/react-native-prebuilt 1.14.4 → 1.15.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/cjs/index.cjs +135 -122
- package/dist/cjs/index.native.js +160 -150
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/index.test.cjs +14 -10
- package/dist/cjs/index.test.native.js +14 -10
- package/dist/cjs/index.test.native.js.map +1 -1
- package/dist/esm/index.js +104 -93
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +104 -93
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +130 -122
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/index.test.mjs +3 -1
- package/dist/esm/index.test.mjs.map +1 -1
- package/dist/esm/index.test.native.js +3 -1
- package/dist/esm/index.test.native.js.map +1 -1
- package/package.json +5 -5
package/dist/esm/index.mjs
CHANGED
|
@@ -4,95 +4,98 @@ import { build } from "esbuild";
|
|
|
4
4
|
import FSExtra from "fs-extra";
|
|
5
5
|
import { readFile } from "node:fs/promises";
|
|
6
6
|
import { createRequire } from "node:module";
|
|
7
|
-
const requireResolve = "url" in import.meta ? createRequire(import.meta.url).resolve : require.resolve
|
|
8
|
-
|
|
7
|
+
const requireResolve = "url" in import.meta ? createRequire(import.meta.url).resolve : require.resolve;
|
|
8
|
+
const external = ["react", "react/jsx-runtime", "react/jsx-dev-runtime"];
|
|
9
9
|
async function buildReactJSX(options = {}) {
|
|
10
|
-
const isProd = options.define?.__DEV__ === "false";
|
|
10
|
+
const isProd = options.define?.["__DEV__"] === "false";
|
|
11
11
|
return build({
|
|
12
|
-
bundle:
|
|
12
|
+
bundle: true,
|
|
13
13
|
entryPoints: [requireResolve("react/jsx-dev-runtime")],
|
|
14
14
|
format: "cjs",
|
|
15
15
|
target: "node16",
|
|
16
16
|
jsx: "transform",
|
|
17
17
|
jsxFactory: "react",
|
|
18
|
-
allowOverwrite:
|
|
18
|
+
allowOverwrite: true,
|
|
19
19
|
platform: "node",
|
|
20
20
|
define: {
|
|
21
21
|
__DEV__: "true",
|
|
22
|
-
"process.env.NODE_ENV":
|
|
22
|
+
"process.env.NODE_ENV": `"development"`
|
|
23
23
|
},
|
|
24
24
|
external,
|
|
25
25
|
logLevel: "warning",
|
|
26
26
|
...options
|
|
27
27
|
}).then(async () => {
|
|
28
|
-
const bundled = await readFile(options.outfile, "utf-8")
|
|
29
|
-
|
|
28
|
+
const bundled = await readFile(options.outfile, "utf-8");
|
|
29
|
+
const outCode = `
|
|
30
30
|
const run = () => {
|
|
31
31
|
${mustReplace(bundled, [...(isProd ? [{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
32
|
+
// react 18 and 19 (18 has _min)
|
|
33
|
+
find: /module\.exports = require_react_jsx_runtime_production([a-z_]*)\(\);/,
|
|
34
|
+
replace: `return require_react_jsx_runtime_production$1();`
|
|
35
|
+
}] : [{
|
|
36
|
+
find: `module.exports = require_react_jsx_dev_runtime_development();`,
|
|
37
|
+
replace: `return require_react_jsx_dev_runtime_development();`
|
|
38
|
+
}]), {
|
|
39
|
+
find: `process.env.VXRN_REACT_19`,
|
|
40
|
+
replace: "false",
|
|
41
|
+
optional: true
|
|
42
|
+
}, {
|
|
43
|
+
find: `Object.assign(exports, eval("require('@vxrn/vendor/react-jsx-19')"));`,
|
|
44
|
+
optional: true,
|
|
45
|
+
replace: ``
|
|
46
|
+
}])}
|
|
47
47
|
}
|
|
48
48
|
const __mod__ = run()
|
|
49
|
-
${["jsx", "jsxs", "jsxDEV", "Fragment"].map(n => `export const ${n} = __mod__.${n} || __mod__.jsx || ${
|
|
50
|
-
|
|
49
|
+
${["jsx", "jsxs", "jsxDEV", "Fragment"].map(n => `export const ${n} = __mod__.${n} || __mod__.jsx || ${(() => {
|
|
50
|
+
if (n === "jsxs") {
|
|
51
|
+
return "function (type, props, key) { return __mod__.jsxDEV(type, props, key, true) }";
|
|
52
|
+
}
|
|
53
|
+
return "__mod__.jsxDEV";
|
|
54
|
+
})()}`).join("\n")}
|
|
51
55
|
`;
|
|
52
56
|
await FSExtra.writeFile(options.outfile, outCode);
|
|
53
57
|
});
|
|
54
58
|
}
|
|
55
59
|
async function buildReact(options = {}) {
|
|
56
|
-
const isProd = options.define?.__DEV__ === "false";
|
|
60
|
+
const isProd = options.define?.["__DEV__"] === "false";
|
|
57
61
|
return build({
|
|
58
|
-
bundle:
|
|
62
|
+
bundle: true,
|
|
59
63
|
entryPoints: [requireResolve("react")],
|
|
60
64
|
format: "cjs",
|
|
61
65
|
target: "node16",
|
|
62
66
|
jsx: "transform",
|
|
63
67
|
jsxFactory: "react",
|
|
64
|
-
allowOverwrite:
|
|
68
|
+
allowOverwrite: true,
|
|
65
69
|
platform: "node",
|
|
66
70
|
define: {
|
|
67
71
|
__DEV__: "true",
|
|
68
|
-
"process.env.NODE_ENV":
|
|
72
|
+
"process.env.NODE_ENV": `"development"`
|
|
69
73
|
},
|
|
70
74
|
logLevel: "warning",
|
|
71
75
|
external,
|
|
72
76
|
...options
|
|
73
77
|
}).then(async () => {
|
|
74
|
-
const bundled = await readFile(options.outfile, "utf-8")
|
|
75
|
-
|
|
78
|
+
const bundled = await readFile(options.outfile, "utf-8");
|
|
79
|
+
const outCode = `
|
|
76
80
|
const run = () => {
|
|
77
81
|
${mustReplace(bundled, [isProd ? {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
82
|
+
find: /module\.exports = require_react_production([a-z_]*)\(\);/,
|
|
83
|
+
replace: "return require_react_production$1();"
|
|
84
|
+
} : {
|
|
85
|
+
find: /module\.exports = require_react_development([a-z_]*)\(\);/,
|
|
86
|
+
replace: "return require_react_development$1();"
|
|
87
|
+
}, {
|
|
88
|
+
find: `process.env.VXRN_REACT_19`,
|
|
89
|
+
optional: true,
|
|
90
|
+
replace: "false"
|
|
91
|
+
}, {
|
|
92
|
+
find: `Object.assign(exports, eval("require('@vxrn/vendor/react-19')"));`,
|
|
93
|
+
optional: true,
|
|
94
|
+
replace: ``
|
|
95
|
+
}])}
|
|
92
96
|
}
|
|
93
97
|
const __mod__ = run()
|
|
94
|
-
${RExports.map(n => `export const ${n} = __mod__.${n}`).join(
|
|
95
|
-
`)}
|
|
98
|
+
${RExports.map(n => `export const ${n} = __mod__.${n}`).join("\n")}
|
|
96
99
|
export default __mod__
|
|
97
100
|
`;
|
|
98
101
|
await FSExtra.writeFile(options.outfile, outCode);
|
|
@@ -100,14 +103,14 @@ async function buildReact(options = {}) {
|
|
|
100
103
|
}
|
|
101
104
|
async function buildReactNative(options = {}, {
|
|
102
105
|
platform,
|
|
103
|
-
enableExperimentalReactNativeWithReact19Support =
|
|
106
|
+
enableExperimentalReactNativeWithReact19Support = false
|
|
104
107
|
}) {
|
|
105
108
|
return build({
|
|
106
|
-
bundle:
|
|
109
|
+
bundle: true,
|
|
107
110
|
entryPoints: [requireResolve("react-native")],
|
|
108
111
|
format: "cjs",
|
|
109
112
|
target: "node20",
|
|
110
|
-
allowOverwrite:
|
|
113
|
+
allowOverwrite: true,
|
|
111
114
|
platform: "node",
|
|
112
115
|
external,
|
|
113
116
|
loader: {
|
|
@@ -118,7 +121,7 @@ async function buildReactNative(options = {}, {
|
|
|
118
121
|
},
|
|
119
122
|
define: {
|
|
120
123
|
__DEV__: "true",
|
|
121
|
-
"process.env.NODE_ENV":
|
|
124
|
+
"process.env.NODE_ENV": `"development"`
|
|
122
125
|
},
|
|
123
126
|
logLevel: "warning",
|
|
124
127
|
resolveExtensions: [`.${platform}.js`, ".native.js", ".js", ".jsx", ".json", ".mjs"],
|
|
@@ -129,17 +132,23 @@ async function buildReactNative(options = {}, {
|
|
|
129
132
|
build2.onResolve({
|
|
130
133
|
filter: /HMRClient/
|
|
131
134
|
}, async input => {
|
|
132
|
-
const path = requireResolve("@vxrn/vite-native-hmr")
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
const path = requireResolve("@vxrn/vite-native-hmr");
|
|
136
|
+
const possibleEsmPath = path.replace("/cjs/index.cjs", "/esm/index.native.js");
|
|
137
|
+
if (FSExtra.pathExistsSync(possibleEsmPath)) {
|
|
138
|
+
return {
|
|
139
|
+
path: possibleEsmPath
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
137
143
|
path
|
|
138
144
|
};
|
|
139
|
-
})
|
|
145
|
+
});
|
|
146
|
+
build2.onLoad({
|
|
140
147
|
filter: /.*\.js$/
|
|
141
148
|
}, async input => {
|
|
142
|
-
if (!input.path.includes("react-native") && !input.path.includes(
|
|
149
|
+
if (!input.path.includes("react-native") && !input.path.includes(`vite-native-hmr`)) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
143
152
|
if (enableExperimentalReactNativeWithReact19Support) {
|
|
144
153
|
if (input.path.includes("Libraries/Renderer/implementations/ReactFabric")) {
|
|
145
154
|
const reactFabricRendererPath = requireResolve(`@vxrn/react-native-prebuilt/vendor/rn-react-19-support/ReactFabric-${input.path.endsWith("-dev.js") ? "dev" : "prod"}.js`);
|
|
@@ -158,15 +167,18 @@ async function buildReactNative(options = {}, {
|
|
|
158
167
|
}
|
|
159
168
|
const code = await readFile(input.path, "utf-8");
|
|
160
169
|
let outagain = await transformFlowBabel(code, {
|
|
161
|
-
development:
|
|
170
|
+
development: true,
|
|
162
171
|
path: input.path
|
|
163
172
|
});
|
|
164
|
-
|
|
173
|
+
if (input.path.endsWith("react-native/index.js")) {
|
|
174
|
+
outagain = outagain.replace(/module\.exports *= *{/, `
|
|
165
175
|
module.exports = {
|
|
166
176
|
get _vxrnInternalReactNativeVersionDoNotUse() {
|
|
167
177
|
return require("./Libraries/Core/ReactNativeVersion").default;
|
|
168
178
|
},
|
|
169
|
-
`.trim())
|
|
179
|
+
`.trim());
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
170
182
|
contents: outagain,
|
|
171
183
|
loader: "jsx"
|
|
172
184
|
};
|
|
@@ -174,12 +186,12 @@ module.exports = {
|
|
|
174
186
|
}
|
|
175
187
|
}]
|
|
176
188
|
}).then(async () => {
|
|
177
|
-
const bundled = await readFile(options.outfile, "utf-8")
|
|
178
|
-
|
|
189
|
+
const bundled = await readFile(options.outfile, "utf-8");
|
|
190
|
+
const outCode = `
|
|
179
191
|
const run = () => {
|
|
180
192
|
${mustReplace(bundled, [{
|
|
181
|
-
|
|
182
|
-
|
|
193
|
+
find: esbuildCommonJSFunction,
|
|
194
|
+
replace: `
|
|
183
195
|
// replaced commonjs function to allow importing internals
|
|
184
196
|
var __commonJS = function __commonJS(cb, mod) {
|
|
185
197
|
var path = __getOwnPropNames(cb)[0];
|
|
@@ -210,26 +222,25 @@ var __commonJS = function __commonJS(cb, mod) {
|
|
|
210
222
|
return __require;
|
|
211
223
|
};
|
|
212
224
|
`
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
}])}
|
|
225
|
+
}, {
|
|
226
|
+
find: /module\.exports = require_(react_native|index)\(\);/,
|
|
227
|
+
replace: [`const rn = require_$1();`, `rn.AssetRegistry = require_registry();`, `require_ReactNative();`,
|
|
228
|
+
// This is react-native/Libraries/Renderer/shims/ReactNative.js, we call it here to ensure shims are initialized since we won't lazy load React Native components. See the NOTE below.
|
|
229
|
+
`if (typeof require_InitializeCore === 'function') { require_InitializeCore(); }`,
|
|
230
|
+
// Since we're accessing the RefreshRuntime directly via `__cachedModules` directly in the RN bundle, we need to ensure it's loaded in time. Note that calling `require_react_refresh_runtime_development()`, `require_setUpReactRefresh()` or `require_setUpDeveloperTools()` directly won't work.
|
|
231
|
+
`return rn;`].join("\n")
|
|
232
|
+
},
|
|
233
|
+
// improve error logs a lot including stack of original error
|
|
234
|
+
{
|
|
235
|
+
find: `originalMessage = e.message || "";`,
|
|
236
|
+
replace: `originalMessage = "" + (e.stack || "");`
|
|
237
|
+
}])}
|
|
227
238
|
}
|
|
228
239
|
const RN = run()
|
|
229
240
|
|
|
230
|
-
export const REACT_NATIVE_ESM_MANUAL_EXPORTS_START = 'REACT_NATIVE_ESM_MANUAL_EXPORTS_START'
|
|
231
|
-
|
|
232
|
-
`)}
|
|
241
|
+
export const REACT_NATIVE_ESM_MANUAL_EXPORTS_START = 'REACT_NATIVE_ESM_MANUAL_EXPORTS_START';${/* NOTE: The `REACT_NATIVE_ESM_MANUAL_EXPORTS_*` vars here are used by other tools to replace exports in this section with a CJS `module.export` which supports dynamic loaded lazy exports, if CJS can be used - such as in a React Native bundle. */
|
|
242
|
+
""}
|
|
243
|
+
${RNExportNames.map(n => `export const ${n} = RN.${n}`).join("\n")}
|
|
233
244
|
export const REACT_NATIVE_ESM_MANUAL_EXPORTS_END = 'REACT_NATIVE_ESM_MANUAL_EXPORTS_END';
|
|
234
245
|
`;
|
|
235
246
|
await FSExtra.writeFile(options.outfile, outCode);
|
|
@@ -237,16 +248,16 @@ var __commonJS = function __commonJS(cb, mod) {
|
|
|
237
248
|
}
|
|
238
249
|
const esbuildCommonJSFunction = `var __commonJS = (cb, mod) => function __require() {
|
|
239
250
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
};`;
|
|
252
|
+
const RNExportNames = ["registerCallableModule", "AccessibilityInfo", "ActivityIndicator", "Button", "DrawerLayoutAndroid", "FlatList", "Image", "ImageBackground", "InputAccessoryView", "KeyboardAvoidingView", "Modal", "Pressable", "RefreshControl", "SafeAreaView", "ScrollView", "SectionList", "StatusBar", "Switch", "Text", "TextInput", "Touchable", "TouchableHighlight", "TouchableNativeFeedback", "TouchableOpacity", "TouchableWithoutFeedback", "View", "VirtualizedList", "VirtualizedSectionList", "ActionSheetIOS", "Alert", "Animated", "Appearance", "AppRegistry", "AppState", "BackHandler", "DeviceInfo", "DevSettings", "Dimensions", "Easing", "findNodeHandle", "I18nManager", "InteractionManager", "Keyboard", "LayoutAnimation", "Linking", "LogBox", "NativeDialogManagerAndroid", "NativeEventEmitter", "Networking", "PanResponder", "PermissionsAndroid", "PixelRatio", "Settings", "Share", "StyleSheet", "Systrace", "ToastAndroid", "TurboModuleRegistry", "UIManager", "unstable_batchedUpdates", "useAnimatedValue", "useColorScheme", "useWindowDimensions", "UTFSequence", "Vibration", "DeviceEventEmitter", "DynamicColorIOS", "NativeAppEventEmitter", "NativeModules", "Platform", "PlatformColor", "processColor", "requireNativeComponent", "RootTagContext", "AssetRegistry"
|
|
253
|
+
// Normally not exported by React Native, but with a hack we make @react-native/assets-registry/registry available here.
|
|
254
|
+
];
|
|
255
|
+
const RExports = ["Children", "Component", "Fragment", "Profiler", "PureComponent", "StrictMode", "Suspense", "__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED",
|
|
256
|
+
// For React 18
|
|
257
|
+
"__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE",
|
|
258
|
+
// For React 19
|
|
259
|
+
"cloneElement", "createContext", "createElement", "createFactory", "createRef", "forwardRef", "isValidElement", "lazy", "memo", "startTransition", "unstable_act", "useCallback", "useContext", "useDebugValue", "useDeferredValue", "useEffect", "useId", "useImperativeHandle", "useInsertionEffect", "useLayoutEffect", "useMemo", "useReducer", "useRef", "useState", "useSyncExternalStore", "useTransition", "version",
|
|
260
|
+
// Added in React 19
|
|
261
|
+
"act", "cache", "unstable_useCacheRefresh", "use", "useActionState", "useOptimistic"];
|
|
251
262
|
export { RExports, RNExportNames, buildReact, buildReactJSX, buildReactNative };
|
|
252
263
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["mustReplace","transformFlowBabel","build","FSExtra","readFile","createRequire","requireResolve","import","meta","url","resolve","require","external","buildReactJSX","options","isProd","define","
|
|
1
|
+
{"version":3,"names":["mustReplace","transformFlowBabel","build","FSExtra","readFile","createRequire","requireResolve","import","meta","url","resolve","require","external","buildReactJSX","options","isProd","define","bundle","entryPoints","format","target","jsx","jsxFactory","allowOverwrite","platform","__DEV__","logLevel","then","bundled","outfile","outCode","find","replace","optional","map","n","join","writeFile","buildReact","RExports","buildReactNative","enableExperimentalReactNativeWithReact19Support","loader","resolveExtensions","plugins","name","setup","build2","onResolve","filter","input","path","possibleEsmPath","pathExistsSync","onLoad","includes","reactFabricRendererPath","endsWith","contents","reactNativeRendererPath","code","outagain","development","trim","esbuildCommonJSFunction","RNExportNames"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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aAAA,CAAc/B,GAAA,CAAKC,CAAA,IAAM,gBAAgBA,CAAC,SAASA,CAAC,EAAE,EAAEC,IAAA,CAAK,IAAI,CAAC;AAAA;AAAA;IAGpE,MAAMjC,OAAA,CAAQkC,SAAA,CAAUvB,OAAA,CAAQe,OAAA,EAAUC,OAAO;EACnD,CAAC;AACH;AAEA,MAAMkC,uBAAA,GAA0B;AAAA;AAAA;AAIzB,MAAMC,aAAA,GAAgB,CAC3B,0BACA,qBACA,qBACA,UACA,uBACA,YACA,SACA,mBACA,sBACA,wBACA,SACA,aACA,kBACA,gBACA,cACA,eACA,aACA,UACA,QACA,aACA,aACA,sBACA,2BACA,oBACA,4BACA,QACA,mBACA,0BACA,kBACA,SACA,YACA,cACA,eACA,YACA,eACA,cACA,eACA,cACA,UACA,kBACA,eACA,sBACA,YACA,mBACA,WACA,UACA,8BACA,sBACA,cACA,gBACA,sBACA,cACA,YACA,SACA,cACA,YACA,gBACA,uBACA,aACA,2BACA,oBACA,kBACA,uBACA,eACA,aACA,sBACA,mBACA,yBACA,iBACA,YACA,iBACA,gBACA,0BACA,kBACA;AAAA;AAAA,CACF;AAEO,MAAM1B,QAAA,GAAW,CACtB,YACA,aACA,YACA,YACA,iBACA,cACA,YACA;AAAA;AACA;AAAA;AACA,gBACA,iBACA,iBACA,iBACA,aACA,cACA,kBACA,QACA,QACA,mBACA,gBACA,eACA,cACA,iBACA,oBACA,aACA,SACA,uBACA,sBACA,mBACA,WACA,cACA,UACA,YACA,wBACA,iBACA;AAAA;AAEA,OACA,SACA,4BACA,OACA,kBACA,gBACF","ignoreList":[]}
|