@vxrn/react-native-prebuilt 0.0.7 → 0.1.1

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/index.js ADDED
@@ -0,0 +1,322 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ // If the importer is in node compatibility mode or this is not an ESM
17
+ // file that has been converted to a CommonJS file using a Babel-
18
+ // compatible transform (i.e. "__esModule" has not been set), then set
19
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
21
+ mod
22
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
23
+ var src_exports = {};
24
+ __export(src_exports, {
25
+ buildAll: () => buildAll,
26
+ buildReactNative: () => buildReactNative
27
+ });
28
+ module.exports = __toCommonJS(src_exports);
29
+ var import_promises = require("node:fs/promises"), babel = __toESM(require("@babel/core"), 1), import_esbuild = require("esbuild"), import_fs_extra = require("fs-extra");
30
+ async function nativeBabelFlowTransform(input) {
31
+ return await new Promise((res, rej) => {
32
+ babel.transform(
33
+ input,
34
+ {
35
+ presets: ["module:metro-react-native-babel-preset"]
36
+ },
37
+ (err, result) => {
38
+ (!result || err) && rej(err || "no res"), res(result.code);
39
+ }
40
+ );
41
+ });
42
+ }
43
+ const external = ["react", "react/jsx-runtime", "react/jsx-dev-runtime"], outPath = "./dist/react-native.js", reactOutPath = "./dist/react.js", reactJsxOutPath = "./dist/react-jsx-runtime.js";
44
+ async function buildAll() {
45
+ console.info("Prebuilding React Native (one time cost...)"), await Promise.all([
46
+ (0, import_esbuild.build)({
47
+ bundle: !0,
48
+ entryPoints: [require.resolve("react")],
49
+ outfile: reactOutPath,
50
+ format: "cjs",
51
+ target: "node16",
52
+ jsx: "transform",
53
+ jsxFactory: "react",
54
+ allowOverwrite: !0,
55
+ platform: "node",
56
+ define: {
57
+ __DEV__: "true",
58
+ "process.env.NODE_ENV": '"development"'
59
+ },
60
+ logLevel: "warning",
61
+ external
62
+ }).then(async () => {
63
+ const outCode = `
64
+ const run = () => {
65
+ ${(await (0, import_promises.readFile)(reactOutPath, "utf-8")).replace(
66
+ "module.exports = require_react_development();",
67
+ "return require_react_development();"
68
+ )}
69
+ }
70
+ const __mod__ = run()
71
+ ${RExports.map((n) => `export const ${n} = __mod__.${n}`).join(`
72
+ `)}
73
+ export default __mod__
74
+ `;
75
+ await (0, import_fs_extra.writeFile)(reactOutPath, outCode);
76
+ }),
77
+ (0, import_esbuild.build)({
78
+ bundle: !0,
79
+ entryPoints: [require.resolve("react/jsx-dev-runtime")],
80
+ outfile: reactJsxOutPath,
81
+ format: "cjs",
82
+ target: "node16",
83
+ jsx: "transform",
84
+ jsxFactory: "react",
85
+ allowOverwrite: !0,
86
+ platform: "node",
87
+ define: {
88
+ __DEV__: "true",
89
+ "process.env.NODE_ENV": '"development"'
90
+ },
91
+ external,
92
+ logLevel: "warning"
93
+ }).then(async () => {
94
+ const outCode = `
95
+ const run = () => {
96
+ ${(await (0, import_promises.readFile)(reactJsxOutPath, "utf-8")).replace(
97
+ "module.exports = require_react_jsx_dev_runtime_development();",
98
+ "return require_react_jsx_dev_runtime_development();"
99
+ )}
100
+ }
101
+ const __mod__ = run()
102
+ ${["jsx", "jsxs", "jsxDEV", "Fragment"].map((n) => `export const ${n} = __mod__.${n} || __mod__.jsx || __mod__.jsxDEV`).join(`
103
+ `)}
104
+ `;
105
+ await (0, import_fs_extra.writeFile)(reactJsxOutPath, outCode);
106
+ }),
107
+ buildReactNative()
108
+ ]);
109
+ }
110
+ async function buildReactNative(options = {}) {
111
+ return (0, import_esbuild.build)({
112
+ bundle: !0,
113
+ entryPoints: [require.resolve("react-native")],
114
+ outfile: outPath,
115
+ format: "cjs",
116
+ target: "node20",
117
+ jsx: "transform",
118
+ jsxFactory: "react",
119
+ allowOverwrite: !0,
120
+ platform: "node",
121
+ external,
122
+ loader: {
123
+ ".png": "dataurl",
124
+ ".jpg": "dataurl",
125
+ ".jpeg": "dataurl",
126
+ ".gif": "dataurl"
127
+ },
128
+ define: {
129
+ __DEV__: "true",
130
+ "process.env.NODE_ENV": '"development"'
131
+ },
132
+ logLevel: "warning",
133
+ resolveExtensions: [
134
+ ".ios.js",
135
+ ".native.js",
136
+ ".native.ts",
137
+ ".native.tsx",
138
+ ".js",
139
+ ".jsx",
140
+ ".json",
141
+ ".ts",
142
+ ".tsx",
143
+ ".mjs"
144
+ ],
145
+ ...options,
146
+ plugins: [
147
+ {
148
+ name: "remove-flow",
149
+ setup(build2) {
150
+ build2.onResolve(
151
+ {
152
+ filter: /HMRClient/
153
+ },
154
+ async (input) => ({
155
+ path: require.resolve("@vxrn/vite-native-hmr")
156
+ })
157
+ ), build2.onLoad(
158
+ {
159
+ filter: /.*.js/
160
+ },
161
+ async (input) => {
162
+ if (!input.path.includes("react-native") && !input.path.includes("vite-native-hmr"))
163
+ return;
164
+ const code = await (0, import_promises.readFile)(input.path, "utf-8");
165
+ return {
166
+ contents: await nativeBabelFlowTransform(code),
167
+ loader: "jsx"
168
+ };
169
+ }
170
+ );
171
+ }
172
+ }
173
+ ]
174
+ }).then(async () => {
175
+ const outCode = `
176
+ const run = () => {
177
+ ${(await (0, import_promises.readFile)(outPath, "utf-8")).replace(
178
+ esbuildCommonJSFunction,
179
+ `
180
+ // replaced commonjs function to allow importing internals
181
+ var __commonJS = (cb, mod) => function __require() {
182
+ if (mod) return mod
183
+ const path = __getOwnPropNames(cb)[0]
184
+ const moduleFn = cb[path]
185
+ mod = { exports: {} }
186
+ moduleFn(mod.exports, mod)
187
+ mod = mod.exports
188
+
189
+ // this is our patch basically allowing importing the inner contents:
190
+ globalThis['__cachedModules'][path.replace('../../node_modules/', '').replace('.js', '')] = mod
191
+
192
+ return mod
193
+ };
194
+ `
195
+ ).replace("module.exports = require_react_native();", "return require_react_native();")}
196
+ }
197
+ const RN = run()
198
+ ${RNExportNames.map((n) => `export const ${n} = RN.${n}`).join(`
199
+ `)}
200
+ `;
201
+ await (0, import_fs_extra.writeFile)(outPath, outCode);
202
+ });
203
+ }
204
+ const esbuildCommonJSFunction = `var __commonJS = (cb, mod) => function __require() {
205
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
206
+ };`, RNExportNames = [
207
+ "AccessibilityInfo",
208
+ "ActivityIndicator",
209
+ "Button",
210
+ "DrawerLayoutAndroid",
211
+ "FlatList",
212
+ "Image",
213
+ "ImageBackground",
214
+ "InputAccessoryView",
215
+ "KeyboardAvoidingView",
216
+ "Modal",
217
+ "Pressable",
218
+ "RefreshControl",
219
+ "SafeAreaView",
220
+ "ScrollView",
221
+ "SectionList",
222
+ "StatusBar",
223
+ "Switch",
224
+ "Text",
225
+ "TextInput",
226
+ "Touchable",
227
+ "TouchableHighlight",
228
+ "TouchableNativeFeedback",
229
+ "TouchableOpacity",
230
+ "TouchableWithoutFeedback",
231
+ "View",
232
+ "VirtualizedList",
233
+ "VirtualizedSectionList",
234
+ "ActionSheetIOS",
235
+ "Alert",
236
+ "Animated",
237
+ "Appearance",
238
+ "AppRegistry",
239
+ "AppState",
240
+ "BackHandler",
241
+ "DeviceInfo",
242
+ "DevSettings",
243
+ "Dimensions",
244
+ "Easing",
245
+ "findNodeHandle",
246
+ "I18nManager",
247
+ "InteractionManager",
248
+ "Keyboard",
249
+ "LayoutAnimation",
250
+ "Linking",
251
+ "LogBox",
252
+ "NativeDialogManagerAndroid",
253
+ "NativeEventEmitter",
254
+ "Networking",
255
+ "PanResponder",
256
+ "PermissionsAndroid",
257
+ "PixelRatio",
258
+ "Settings",
259
+ "Share",
260
+ "StyleSheet",
261
+ "Systrace",
262
+ "ToastAndroid",
263
+ "TurboModuleRegistry",
264
+ "UIManager",
265
+ "unstable_batchedUpdates",
266
+ "useColorScheme",
267
+ "useWindowDimensions",
268
+ "UTFSequence",
269
+ "Vibration",
270
+ "YellowBox",
271
+ "DeviceEventEmitter",
272
+ "DynamicColorIOS",
273
+ "NativeAppEventEmitter",
274
+ "NativeModules",
275
+ "Platform",
276
+ "PlatformColor",
277
+ "processColor",
278
+ "requireNativeComponent",
279
+ "RootTagContext"
280
+ ], RExports = [
281
+ "Children",
282
+ "Component",
283
+ "Fragment",
284
+ "Profiler",
285
+ "PureComponent",
286
+ "StrictMode",
287
+ "Suspense",
288
+ "__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED",
289
+ "cloneElement",
290
+ "createContext",
291
+ "createElement",
292
+ "createFactory",
293
+ "createRef",
294
+ "forwardRef",
295
+ "isValidElement",
296
+ "lazy",
297
+ "memo",
298
+ "startTransition",
299
+ "unstable_act",
300
+ "useCallback",
301
+ "useContext",
302
+ "useDebugValue",
303
+ "useDeferredValue",
304
+ "useEffect",
305
+ "useId",
306
+ "useImperativeHandle",
307
+ "useInsertionEffect",
308
+ "useLayoutEffect",
309
+ "useMemo",
310
+ "useReducer",
311
+ "useRef",
312
+ "useState",
313
+ "useSyncExternalStore",
314
+ "useTransition",
315
+ "version"
316
+ ];
317
+ // Annotate the CommonJS export names for ESM import in node:
318
+ 0 && (module.exports = {
319
+ buildAll,
320
+ buildReactNative
321
+ });
322
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "mappings": "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",
5
+ "names": ["build"]
6
+ }
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
+ }, __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
12
+ for (let key of __getOwnPropNames(from))
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
22
+ mod
23
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
+ var src_exports = {};
25
+ __export(src_exports, {
26
+ buildAll: () => buildAll,
27
+ buildReactNative: () => buildReactNative
28
+ });
29
+ module.exports = __toCommonJS(src_exports);
30
+ var import_promises = require("node:fs/promises"), babel = __toESM(require("@babel/core"), 1), import_esbuild = require("esbuild"), import_fs_extra = require("fs-extra");
31
+ async function nativeBabelFlowTransform(input) {
32
+ return await new Promise((res, rej) => {
33
+ babel.transform(
34
+ input,
35
+ {
36
+ presets: ["module:metro-react-native-babel-preset"]
37
+ },
38
+ (err, result) => {
39
+ (!result || err) && rej(err || "no res"), res(result.code);
40
+ }
41
+ );
42
+ });
43
+ }
44
+ const external = ["react", "react/jsx-runtime", "react/jsx-dev-runtime"], outPath = "./dist/react-native.js", reactOutPath = "./dist/react.js", reactJsxOutPath = "./dist/react-jsx-runtime.js";
45
+ async function buildAll() {
46
+ console.info("Prebuilding React Native (one time cost...)"), await Promise.all([
47
+ (0, import_esbuild.build)({
48
+ bundle: !0,
49
+ entryPoints: [require.resolve("react")],
50
+ outfile: reactOutPath,
51
+ format: "cjs",
52
+ target: "node16",
53
+ jsx: "transform",
54
+ jsxFactory: "react",
55
+ allowOverwrite: !0,
56
+ platform: "node",
57
+ define: {
58
+ __DEV__: "true",
59
+ "process.env.NODE_ENV": '"development"'
60
+ },
61
+ logLevel: "warning",
62
+ external
63
+ }).then(async () => {
64
+ const outCode = `
65
+ const run = () => {
66
+ ${(await (0, import_promises.readFile)(reactOutPath, "utf-8")).replace(
67
+ "module.exports = require_react_development();",
68
+ "return require_react_development();"
69
+ )}
70
+ }
71
+ const __mod__ = run()
72
+ ${RExports.map((n) => `export const ${n} = __mod__.${n}`).join(`
73
+ `)}
74
+ export default __mod__
75
+ `;
76
+ await (0, import_fs_extra.writeFile)(reactOutPath, outCode);
77
+ }),
78
+ (0, import_esbuild.build)({
79
+ bundle: !0,
80
+ entryPoints: [require.resolve("react/jsx-dev-runtime")],
81
+ outfile: reactJsxOutPath,
82
+ format: "cjs",
83
+ target: "node16",
84
+ jsx: "transform",
85
+ jsxFactory: "react",
86
+ allowOverwrite: !0,
87
+ platform: "node",
88
+ define: {
89
+ __DEV__: "true",
90
+ "process.env.NODE_ENV": '"development"'
91
+ },
92
+ external,
93
+ logLevel: "warning"
94
+ }).then(async () => {
95
+ const outCode = `
96
+ const run = () => {
97
+ ${(await (0, import_promises.readFile)(reactJsxOutPath, "utf-8")).replace(
98
+ "module.exports = require_react_jsx_dev_runtime_development();",
99
+ "return require_react_jsx_dev_runtime_development();"
100
+ )}
101
+ }
102
+ const __mod__ = run()
103
+ ${["jsx", "jsxs", "jsxDEV", "Fragment"].map((n) => `export const ${n} = __mod__.${n} || __mod__.jsx || __mod__.jsxDEV`).join(`
104
+ `)}
105
+ `;
106
+ await (0, import_fs_extra.writeFile)(reactJsxOutPath, outCode);
107
+ }),
108
+ buildReactNative()
109
+ ]);
110
+ }
111
+ async function buildReactNative(options = {}) {
112
+ return (0, import_esbuild.build)({
113
+ bundle: !0,
114
+ entryPoints: [require.resolve("react-native")],
115
+ outfile: outPath,
116
+ format: "cjs",
117
+ target: "node20",
118
+ jsx: "transform",
119
+ jsxFactory: "react",
120
+ allowOverwrite: !0,
121
+ platform: "node",
122
+ external,
123
+ loader: {
124
+ ".png": "dataurl",
125
+ ".jpg": "dataurl",
126
+ ".jpeg": "dataurl",
127
+ ".gif": "dataurl"
128
+ },
129
+ define: {
130
+ __DEV__: "true",
131
+ "process.env.NODE_ENV": '"development"'
132
+ },
133
+ logLevel: "warning",
134
+ resolveExtensions: [
135
+ ".ios.js",
136
+ ".native.js",
137
+ ".native.ts",
138
+ ".native.tsx",
139
+ ".js",
140
+ ".jsx",
141
+ ".json",
142
+ ".ts",
143
+ ".tsx",
144
+ ".mjs"
145
+ ],
146
+ ...options,
147
+ plugins: [
148
+ {
149
+ name: "remove-flow",
150
+ setup(build2) {
151
+ build2.onResolve(
152
+ {
153
+ filter: /HMRClient/
154
+ },
155
+ async (input) => ({
156
+ path: require.resolve("@vxrn/vite-native-hmr")
157
+ })
158
+ ), build2.onLoad(
159
+ {
160
+ filter: /.*.js/
161
+ },
162
+ async (input) => {
163
+ if (!input.path.includes("react-native") && !input.path.includes("vite-native-hmr"))
164
+ return;
165
+ const code = await (0, import_promises.readFile)(input.path, "utf-8");
166
+ return {
167
+ contents: await nativeBabelFlowTransform(code),
168
+ loader: "jsx"
169
+ };
170
+ }
171
+ );
172
+ }
173
+ }
174
+ ]
175
+ }).then(async () => {
176
+ const outCode = `
177
+ const run = () => {
178
+ ${(await (0, import_promises.readFile)(outPath, "utf-8")).replace(
179
+ esbuildCommonJSFunction,
180
+ `
181
+ // replaced commonjs function to allow importing internals
182
+ var __commonJS = (cb, mod) => function __require() {
183
+ if (mod) return mod
184
+ const path = __getOwnPropNames(cb)[0]
185
+ const moduleFn = cb[path]
186
+ mod = { exports: {} }
187
+ moduleFn(mod.exports, mod)
188
+ mod = mod.exports
189
+
190
+ // this is our patch basically allowing importing the inner contents:
191
+ globalThis['__cachedModules'][path.replace('../../node_modules/', '').replace('.js', '')] = mod
192
+
193
+ return mod
194
+ };
195
+ `
196
+ ).replace("module.exports = require_react_native();", "return require_react_native();")}
197
+ }
198
+ const RN = run()
199
+ ${RNExportNames.map((n) => `export const ${n} = RN.${n}`).join(`
200
+ `)}
201
+ `;
202
+ await (0, import_fs_extra.writeFile)(outPath, outCode);
203
+ });
204
+ }
205
+ const esbuildCommonJSFunction = `var __commonJS = (cb, mod) => function __require() {
206
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
207
+ };`, RNExportNames = [
208
+ "AccessibilityInfo",
209
+ "ActivityIndicator",
210
+ "Button",
211
+ "DrawerLayoutAndroid",
212
+ "FlatList",
213
+ "Image",
214
+ "ImageBackground",
215
+ "InputAccessoryView",
216
+ "KeyboardAvoidingView",
217
+ "Modal",
218
+ "Pressable",
219
+ "RefreshControl",
220
+ "SafeAreaView",
221
+ "ScrollView",
222
+ "SectionList",
223
+ "StatusBar",
224
+ "Switch",
225
+ "Text",
226
+ "TextInput",
227
+ "Touchable",
228
+ "TouchableHighlight",
229
+ "TouchableNativeFeedback",
230
+ "TouchableOpacity",
231
+ "TouchableWithoutFeedback",
232
+ "View",
233
+ "VirtualizedList",
234
+ "VirtualizedSectionList",
235
+ "ActionSheetIOS",
236
+ "Alert",
237
+ "Animated",
238
+ "Appearance",
239
+ "AppRegistry",
240
+ "AppState",
241
+ "BackHandler",
242
+ "DeviceInfo",
243
+ "DevSettings",
244
+ "Dimensions",
245
+ "Easing",
246
+ "findNodeHandle",
247
+ "I18nManager",
248
+ "InteractionManager",
249
+ "Keyboard",
250
+ "LayoutAnimation",
251
+ "Linking",
252
+ "LogBox",
253
+ "NativeDialogManagerAndroid",
254
+ "NativeEventEmitter",
255
+ "Networking",
256
+ "PanResponder",
257
+ "PermissionsAndroid",
258
+ "PixelRatio",
259
+ "Settings",
260
+ "Share",
261
+ "StyleSheet",
262
+ "Systrace",
263
+ "ToastAndroid",
264
+ "TurboModuleRegistry",
265
+ "UIManager",
266
+ "unstable_batchedUpdates",
267
+ "useColorScheme",
268
+ "useWindowDimensions",
269
+ "UTFSequence",
270
+ "Vibration",
271
+ "YellowBox",
272
+ "DeviceEventEmitter",
273
+ "DynamicColorIOS",
274
+ "NativeAppEventEmitter",
275
+ "NativeModules",
276
+ "Platform",
277
+ "PlatformColor",
278
+ "processColor",
279
+ "requireNativeComponent",
280
+ "RootTagContext"
281
+ ], RExports = [
282
+ "Children",
283
+ "Component",
284
+ "Fragment",
285
+ "Profiler",
286
+ "PureComponent",
287
+ "StrictMode",
288
+ "Suspense",
289
+ "__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED",
290
+ "cloneElement",
291
+ "createContext",
292
+ "createElement",
293
+ "createFactory",
294
+ "createRef",
295
+ "forwardRef",
296
+ "isValidElement",
297
+ "lazy",
298
+ "memo",
299
+ "startTransition",
300
+ "unstable_act",
301
+ "useCallback",
302
+ "useContext",
303
+ "useDebugValue",
304
+ "useDeferredValue",
305
+ "useEffect",
306
+ "useId",
307
+ "useImperativeHandle",
308
+ "useInsertionEffect",
309
+ "useLayoutEffect",
310
+ "useMemo",
311
+ "useReducer",
312
+ "useRef",
313
+ "useState",
314
+ "useSyncExternalStore",
315
+ "useTransition",
316
+ "version"
317
+ ];
318
+ // Annotate the CommonJS export names for ESM import in node:
319
+ 0 && (module.exports = {
320
+ buildAll,
321
+ buildReactNative
322
+ });
323
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.ts"],
4
+ "mappings": "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",
5
+ "names": ["build"]
6
+ }
@@ -1,5 +1,5 @@
1
1
 
2
- const run = () => {
2
+ const run = () => {
3
3
  "use strict";
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __commonJS = (cb, mod) => function __require() {