@tamagui/cli 1.59.2 → 1.59.4
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/dev.js +66 -41
- package/dist/dev.js.map +2 -2
- package/package.json +9 -9
- package/src/dev.ts +84 -50
- package/types/dev.d.ts.map +1 -1
package/dist/dev.js
CHANGED
|
@@ -35,6 +35,7 @@ var import_promises = require("fs/promises");
|
|
|
35
35
|
var import_path = require("path");
|
|
36
36
|
var import_vite_native_swc = __toESM(require("@tamagui/vite-native-swc"));
|
|
37
37
|
var import_vite_plugin = require("@tamagui/vite-plugin");
|
|
38
|
+
var import_plugin_react_swc = __toESM(require("@vitejs/plugin-react-swc"));
|
|
38
39
|
var import_chalk = __toESM(require("chalk"));
|
|
39
40
|
var import_es_module_lexer = require("es-module-lexer");
|
|
40
41
|
var import_fs_extra = require("fs-extra");
|
|
@@ -48,23 +49,15 @@ const dev = async (options) => {
|
|
|
48
49
|
console.log((err == null ? void 0 : err.message) || err);
|
|
49
50
|
});
|
|
50
51
|
const packageRootDir = (0, import_path.join)(__dirname, "..");
|
|
51
|
-
await (0, import_vite_plugin.nativePrebuild)();
|
|
52
52
|
const port = options.port || 8081;
|
|
53
|
+
const tamaguiVitePlugin = (0, import_vite_plugin.tamaguiPlugin)({
|
|
54
|
+
...options.tamaguiOptions,
|
|
55
|
+
// useReactNativeWebLite: true,
|
|
56
|
+
target: "web"
|
|
57
|
+
});
|
|
53
58
|
const plugins = [
|
|
54
|
-
//
|
|
55
|
-
|
|
56
|
-
// target: 'native',
|
|
57
|
-
// }),
|
|
58
|
-
{
|
|
59
|
-
name: "tamagui",
|
|
60
|
-
config() {
|
|
61
|
-
return {
|
|
62
|
-
define: {
|
|
63
|
-
"process.env.TAMAGUI_TARGET": JSON.stringify("native")
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
}
|
|
59
|
+
//
|
|
60
|
+
tamaguiVitePlugin
|
|
68
61
|
];
|
|
69
62
|
if (process.env.IS_TAMAGUI_DEV) {
|
|
70
63
|
const inspect = require("vite-plugin-inspect");
|
|
@@ -75,19 +68,28 @@ const dev = async (options) => {
|
|
|
75
68
|
let serverConfig = {
|
|
76
69
|
root,
|
|
77
70
|
mode: "development",
|
|
78
|
-
esbuild: false,
|
|
79
71
|
clearScreen: false,
|
|
80
|
-
|
|
72
|
+
// for expo-router
|
|
73
|
+
// optimizeDeps: {
|
|
74
|
+
// disabled: false,
|
|
75
|
+
// include: [
|
|
76
|
+
// 'escape-string-regexp',
|
|
77
|
+
// 'use-latest-callback',
|
|
78
|
+
// 'react-is',
|
|
79
|
+
// 'color',
|
|
80
|
+
// 'warn-once',
|
|
81
|
+
// '@bacons/react-views',
|
|
82
|
+
// 'invariant',
|
|
83
|
+
// 'compare-versions',
|
|
84
|
+
// 'expo-constants',
|
|
85
|
+
// 'url-parse',
|
|
86
|
+
// 'qs',
|
|
87
|
+
// '@expo/metro-runtime',
|
|
88
|
+
// ],
|
|
89
|
+
// },
|
|
81
90
|
plugins: [
|
|
82
91
|
...plugins,
|
|
83
|
-
(0,
|
|
84
|
-
tsDecorators: true,
|
|
85
|
-
mode: "serve"
|
|
86
|
-
}),
|
|
87
|
-
(0, import_vite_plugin.nativePlugin)({
|
|
88
|
-
port,
|
|
89
|
-
mode: "serve"
|
|
90
|
-
}),
|
|
92
|
+
(0, import_plugin_react_swc.default)(),
|
|
91
93
|
{
|
|
92
94
|
name: "tamagui-client-transform",
|
|
93
95
|
async handleHotUpdate({ read, modules, file }) {
|
|
@@ -108,6 +110,8 @@ const dev = async (options) => {
|
|
|
108
110
|
}
|
|
109
111
|
let source = code;
|
|
110
112
|
source = ((_a = await (0, import_vite_native_swc.transformForBuild)(id, source)) == null ? void 0 : _a.code) || "";
|
|
113
|
+
console.log("FROM-----", code);
|
|
114
|
+
console.log("TO------", source);
|
|
111
115
|
const importsMap = {};
|
|
112
116
|
const [imports] = (0, import_es_module_lexer.parse)(source);
|
|
113
117
|
let accumulatedSliceOffset = 0;
|
|
@@ -115,6 +119,7 @@ const dev = async (options) => {
|
|
|
115
119
|
const { n: importName, s: start } = specifier;
|
|
116
120
|
if (importName) {
|
|
117
121
|
const id2 = await (0, import_vite_plugin.getVitePath)(file, importName);
|
|
122
|
+
console.log("replace", importName, id2);
|
|
118
123
|
if (!id2) {
|
|
119
124
|
console.warn("???");
|
|
120
125
|
continue;
|
|
@@ -136,6 +141,7 @@ const dev = async (options) => {
|
|
|
136
141
|
const require = createRequire(${JSON.stringify(importsMap, null, 2)})
|
|
137
142
|
${source.replace(`import.meta.hot.accept(() => {})`, ``)};
|
|
138
143
|
return exports })({})`;
|
|
144
|
+
console.log("hotUpdateSource", hotUpdateSource);
|
|
139
145
|
hotUpdatedCJSFiles.set(id, hotUpdateSource);
|
|
140
146
|
} catch (err) {
|
|
141
147
|
console.log(`Error processing hmr update:`, err);
|
|
@@ -150,8 +156,7 @@ const dev = async (options) => {
|
|
|
150
156
|
}
|
|
151
157
|
};
|
|
152
158
|
const resolvedConfig = await (0, import_vite.resolveConfig)(serverConfig, "serve");
|
|
153
|
-
const
|
|
154
|
-
plugins.push(viteRNClient);
|
|
159
|
+
const viteRNClientPlugin = (0, import_clientInjectPlugin.clientInjectionsPlugin)(resolvedConfig);
|
|
155
160
|
serverConfig = {
|
|
156
161
|
...serverConfig,
|
|
157
162
|
plugins: [...serverConfig.plugins]
|
|
@@ -178,7 +183,6 @@ const dev = async (options) => {
|
|
|
178
183
|
getIndexBundle: getBundleCode,
|
|
179
184
|
indexJson: getIndexJsonReponse({ port, root })
|
|
180
185
|
});
|
|
181
|
-
getBundleCode();
|
|
182
186
|
console.log(`Listening on:`, import_chalk.default.green(`http://localhost:${port}`));
|
|
183
187
|
server.printUrls();
|
|
184
188
|
(0, import_utils.registerDispose)(() => {
|
|
@@ -190,14 +194,6 @@ const dev = async (options) => {
|
|
|
190
194
|
return (_a = server.httpServer) == null ? void 0 : _a.on("close", res);
|
|
191
195
|
});
|
|
192
196
|
async function getBundleCode() {
|
|
193
|
-
if (isBuilding) {
|
|
194
|
-
const res = await isBuilding;
|
|
195
|
-
return res;
|
|
196
|
-
}
|
|
197
|
-
let done;
|
|
198
|
-
isBuilding = new Promise((res) => {
|
|
199
|
-
done = res;
|
|
200
|
-
});
|
|
201
197
|
const tmpBundle = (0, import_path.join)(process.cwd(), "bundle.tmp.js");
|
|
202
198
|
if (await (0, import_fs_extra.pathExists)(tmpBundle)) {
|
|
203
199
|
console.log(
|
|
@@ -206,9 +202,35 @@ const dev = async (options) => {
|
|
|
206
202
|
);
|
|
207
203
|
return await (0, import_promises.readFile)(tmpBundle, "utf-8");
|
|
208
204
|
}
|
|
209
|
-
|
|
205
|
+
if (isBuilding) {
|
|
206
|
+
const res = await isBuilding;
|
|
207
|
+
return res;
|
|
208
|
+
}
|
|
209
|
+
let done;
|
|
210
|
+
isBuilding = new Promise((res) => {
|
|
211
|
+
done = res;
|
|
212
|
+
});
|
|
213
|
+
const buildConfig = {
|
|
210
214
|
plugins: [
|
|
211
|
-
|
|
215
|
+
{
|
|
216
|
+
name: "tamagui-env-native",
|
|
217
|
+
config() {
|
|
218
|
+
return {
|
|
219
|
+
define: {
|
|
220
|
+
"process.env.TAMAGUI_TARGET": JSON.stringify("native")
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
viteRNClientPlugin,
|
|
226
|
+
// viteReactPlugin({
|
|
227
|
+
// tsDecorators: true,
|
|
228
|
+
// mode: 'serve',
|
|
229
|
+
// }),
|
|
230
|
+
// nativePlugin({
|
|
231
|
+
// port,
|
|
232
|
+
// mode: 'serve',
|
|
233
|
+
// }),
|
|
212
234
|
(0, import_vite_plugin.nativePlugin)({
|
|
213
235
|
port,
|
|
214
236
|
mode: "build"
|
|
@@ -237,7 +259,9 @@ const dev = async (options) => {
|
|
|
237
259
|
__DEV__: "true",
|
|
238
260
|
"process.env.NODE_ENV": `"development"`
|
|
239
261
|
}
|
|
240
|
-
}
|
|
262
|
+
};
|
|
263
|
+
await (0, import_vite.resolveConfig)(buildConfig, "build");
|
|
264
|
+
const buildOutput = await (0, import_vite.build)(buildConfig);
|
|
241
265
|
if (!("output" in buildOutput)) {
|
|
242
266
|
throw `\u274C`;
|
|
243
267
|
}
|
|
@@ -257,8 +281,9 @@ ___modules___["${module2.fileName}"] = ((exports, module2) => {
|
|
|
257
281
|
|
|
258
282
|
${module2.isEntry ? `
|
|
259
283
|
// run entry
|
|
260
|
-
|
|
261
|
-
|
|
284
|
+
const __require = createRequire({})
|
|
285
|
+
__require("react-native")
|
|
286
|
+
__require("${module2.fileName}")
|
|
262
287
|
` : ""}
|
|
263
288
|
`;
|
|
264
289
|
}
|
package/dist/dev.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/dev.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAoC;AACpC,kBAAwC;AAGxC,6BAGO;AACP,
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["react", "module", "id", "chalk", "viteReactPlugin"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/cli",
|
|
3
|
-
"version": "1.59.
|
|
3
|
+
"version": "1.59.4",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"main": "dist",
|
|
@@ -28,14 +28,14 @@
|
|
|
28
28
|
"@callstack/repack-debugger-app": "^1.0.0",
|
|
29
29
|
"@fastify/sensible": "^4.1.0",
|
|
30
30
|
"@fastify/static": "^5.0.2",
|
|
31
|
-
"@tamagui/build": "1.59.
|
|
32
|
-
"@tamagui/create-theme": "1.59.
|
|
33
|
-
"@tamagui/generate-themes": "1.59.
|
|
34
|
-
"@tamagui/static": "1.59.
|
|
35
|
-
"@tamagui/types": "1.59.
|
|
36
|
-
"@tamagui/vite-native-hmr": "1.59.
|
|
37
|
-
"@tamagui/vite-native-swc": "1.59.
|
|
38
|
-
"@tamagui/vite-plugin": "1.59.
|
|
31
|
+
"@tamagui/build": "1.59.4",
|
|
32
|
+
"@tamagui/create-theme": "1.59.4",
|
|
33
|
+
"@tamagui/generate-themes": "1.59.4",
|
|
34
|
+
"@tamagui/static": "1.59.4",
|
|
35
|
+
"@tamagui/types": "1.59.4",
|
|
36
|
+
"@tamagui/vite-native-hmr": "1.59.4",
|
|
37
|
+
"@tamagui/vite-native-swc": "1.59.4",
|
|
38
|
+
"@tamagui/vite-plugin": "1.59.4",
|
|
39
39
|
"@types/compression": "^1.7.2",
|
|
40
40
|
"@types/morgan": "^1.9.3",
|
|
41
41
|
"@vitejs/plugin-react": "^4.0.4",
|
package/src/dev.ts
CHANGED
|
@@ -6,7 +6,8 @@ import viteReactPlugin, {
|
|
|
6
6
|
swcTransform,
|
|
7
7
|
transformForBuild,
|
|
8
8
|
} from '@tamagui/vite-native-swc'
|
|
9
|
-
import { getVitePath, nativePlugin,
|
|
9
|
+
import { getVitePath, nativePlugin, tamaguiPlugin } from '@tamagui/vite-plugin'
|
|
10
|
+
import react from '@vitejs/plugin-react-swc'
|
|
10
11
|
import chalk from 'chalk'
|
|
11
12
|
import { parse } from 'es-module-lexer'
|
|
12
13
|
import { pathExists } from 'fs-extra'
|
|
@@ -21,32 +22,24 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
21
22
|
const { root } = options
|
|
22
23
|
|
|
23
24
|
process.on('uncaughtException', (err) => {
|
|
25
|
+
// rome-ignore lint/suspicious/noConsoleLog: <explanation>
|
|
24
26
|
console.log(err?.message || err)
|
|
25
27
|
})
|
|
26
28
|
|
|
27
29
|
const packageRootDir = join(__dirname, '..')
|
|
28
30
|
|
|
29
|
-
// build react-native
|
|
30
|
-
await nativePrebuild()
|
|
31
|
-
|
|
32
31
|
// react native port (it scans 19000 +5)
|
|
33
32
|
const port = options.port || 8081
|
|
34
33
|
|
|
34
|
+
const tamaguiVitePlugin = tamaguiPlugin({
|
|
35
|
+
...options.tamaguiOptions,
|
|
36
|
+
// useReactNativeWebLite: true,
|
|
37
|
+
target: 'web',
|
|
38
|
+
})
|
|
39
|
+
|
|
35
40
|
const plugins = [
|
|
36
|
-
//
|
|
37
|
-
|
|
38
|
-
// target: 'native',
|
|
39
|
-
// }),
|
|
40
|
-
{
|
|
41
|
-
name: 'tamagui',
|
|
42
|
-
config() {
|
|
43
|
-
return {
|
|
44
|
-
define: {
|
|
45
|
-
'process.env.TAMAGUI_TARGET': JSON.stringify('native'),
|
|
46
|
-
},
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
},
|
|
41
|
+
//
|
|
42
|
+
tamaguiVitePlugin,
|
|
50
43
|
] satisfies InlineConfig['plugins']
|
|
51
44
|
|
|
52
45
|
if (process.env.IS_TAMAGUI_DEV) {
|
|
@@ -61,22 +54,31 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
61
54
|
let serverConfig = {
|
|
62
55
|
root,
|
|
63
56
|
mode: 'development',
|
|
64
|
-
esbuild: false,
|
|
65
57
|
clearScreen: false,
|
|
66
|
-
|
|
58
|
+
|
|
59
|
+
// for expo-router
|
|
60
|
+
// optimizeDeps: {
|
|
61
|
+
// disabled: false,
|
|
62
|
+
// include: [
|
|
63
|
+
// 'escape-string-regexp',
|
|
64
|
+
// 'use-latest-callback',
|
|
65
|
+
// 'react-is',
|
|
66
|
+
// 'color',
|
|
67
|
+
// 'warn-once',
|
|
68
|
+
// '@bacons/react-views',
|
|
69
|
+
// 'invariant',
|
|
70
|
+
// 'compare-versions',
|
|
71
|
+
// 'expo-constants',
|
|
72
|
+
// 'url-parse',
|
|
73
|
+
// 'qs',
|
|
74
|
+
// '@expo/metro-runtime',
|
|
75
|
+
// ],
|
|
76
|
+
// },
|
|
67
77
|
|
|
68
78
|
plugins: [
|
|
69
79
|
...plugins,
|
|
70
80
|
|
|
71
|
-
|
|
72
|
-
tsDecorators: true,
|
|
73
|
-
mode: 'serve',
|
|
74
|
-
}),
|
|
75
|
-
|
|
76
|
-
nativePlugin({
|
|
77
|
-
port,
|
|
78
|
-
mode: 'serve',
|
|
79
|
-
}),
|
|
81
|
+
react(),
|
|
80
82
|
|
|
81
83
|
{
|
|
82
84
|
name: 'tamagui-client-transform',
|
|
@@ -106,6 +108,9 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
106
108
|
// we have to remove jsx before we can parse imports...
|
|
107
109
|
source = (await transformForBuild(id, source))?.code || ''
|
|
108
110
|
|
|
111
|
+
console.log('FROM-----', code)
|
|
112
|
+
console.log('TO------', source)
|
|
113
|
+
|
|
109
114
|
const importsMap = {}
|
|
110
115
|
|
|
111
116
|
// parse imports of modules into ids:
|
|
@@ -119,6 +124,7 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
119
124
|
|
|
120
125
|
if (importName) {
|
|
121
126
|
const id = await getVitePath(file, importName)
|
|
127
|
+
console.log('replace', importName, id)
|
|
122
128
|
if (!id) {
|
|
123
129
|
console.warn('???')
|
|
124
130
|
continue
|
|
@@ -154,8 +160,11 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
154
160
|
${source.replace(`import.meta.hot.accept(() => {})`, ``)};
|
|
155
161
|
return exports })({})`
|
|
156
162
|
|
|
163
|
+
console.log('hotUpdateSource', hotUpdateSource)
|
|
164
|
+
|
|
157
165
|
hotUpdatedCJSFiles.set(id, hotUpdateSource)
|
|
158
166
|
} catch (err) {
|
|
167
|
+
// rome-ignore lint/suspicious/noConsoleLog: <explanation>
|
|
159
168
|
console.log(`Error processing hmr update:`, err)
|
|
160
169
|
}
|
|
161
170
|
},
|
|
@@ -171,10 +180,7 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
171
180
|
// first resolve config so we can pass into client plugin, then add client plugin:
|
|
172
181
|
const resolvedConfig = await resolveConfig(serverConfig, 'serve')
|
|
173
182
|
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
// @ts-ignore
|
|
177
|
-
plugins.push(viteRNClient)
|
|
183
|
+
const viteRNClientPlugin = clientInjectionsPlugin(resolvedConfig)
|
|
178
184
|
|
|
179
185
|
serverConfig = {
|
|
180
186
|
...serverConfig,
|
|
@@ -193,6 +199,7 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
193
199
|
void server.transformRequest(id)
|
|
194
200
|
} catch (err) {
|
|
195
201
|
// ok
|
|
202
|
+
// rome-ignore lint/suspicious/noConsoleLog: <explanation>
|
|
196
203
|
console.log('err', err)
|
|
197
204
|
}
|
|
198
205
|
})
|
|
@@ -210,8 +217,6 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
210
217
|
indexJson: getIndexJsonReponse({ port, root }),
|
|
211
218
|
})
|
|
212
219
|
|
|
213
|
-
getBundleCode()
|
|
214
|
-
|
|
215
220
|
// rome-ignore lint/suspicious/noConsoleLog: ok
|
|
216
221
|
console.log(`Listening on:`, chalk.green(`http://localhost:${port}`))
|
|
217
222
|
server.printUrls()
|
|
@@ -224,16 +229,6 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
224
229
|
await new Promise((res) => server.httpServer?.on('close', res))
|
|
225
230
|
|
|
226
231
|
async function getBundleCode() {
|
|
227
|
-
if (isBuilding) {
|
|
228
|
-
const res = await isBuilding
|
|
229
|
-
return res
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
let done
|
|
233
|
-
isBuilding = new Promise((res) => {
|
|
234
|
-
done = res
|
|
235
|
-
})
|
|
236
|
-
|
|
237
232
|
// for easier quick testing things:
|
|
238
233
|
const tmpBundle = join(process.cwd(), 'bundle.tmp.js')
|
|
239
234
|
if (await pathExists(tmpBundle)) {
|
|
@@ -245,14 +240,47 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
245
240
|
return await readFile(tmpBundle, 'utf-8')
|
|
246
241
|
}
|
|
247
242
|
|
|
243
|
+
if (isBuilding) {
|
|
244
|
+
const res = await isBuilding
|
|
245
|
+
return res
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
let done
|
|
249
|
+
isBuilding = new Promise((res) => {
|
|
250
|
+
done = res
|
|
251
|
+
})
|
|
252
|
+
|
|
248
253
|
// build app
|
|
249
|
-
const
|
|
254
|
+
const buildConfig = {
|
|
250
255
|
plugins: [
|
|
251
|
-
|
|
256
|
+
{
|
|
257
|
+
name: 'tamagui-env-native',
|
|
258
|
+
config() {
|
|
259
|
+
return {
|
|
260
|
+
define: {
|
|
261
|
+
'process.env.TAMAGUI_TARGET': JSON.stringify('native'),
|
|
262
|
+
},
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
|
|
267
|
+
viteRNClientPlugin,
|
|
268
|
+
|
|
269
|
+
// viteReactPlugin({
|
|
270
|
+
// tsDecorators: true,
|
|
271
|
+
// mode: 'serve',
|
|
272
|
+
// }),
|
|
273
|
+
|
|
274
|
+
// nativePlugin({
|
|
275
|
+
// port,
|
|
276
|
+
// mode: 'serve',
|
|
277
|
+
// }),
|
|
278
|
+
|
|
252
279
|
nativePlugin({
|
|
253
280
|
port,
|
|
254
281
|
mode: 'build',
|
|
255
282
|
}),
|
|
283
|
+
|
|
256
284
|
viteReactPlugin({
|
|
257
285
|
tsDecorators: true,
|
|
258
286
|
mode: 'build',
|
|
@@ -277,7 +305,12 @@ export const dev = async (options: CLIResolvedOptions) => {
|
|
|
277
305
|
__DEV__: 'true',
|
|
278
306
|
'process.env.NODE_ENV': `"development"`,
|
|
279
307
|
},
|
|
280
|
-
}
|
|
308
|
+
} satisfies InlineConfig
|
|
309
|
+
|
|
310
|
+
// this fixes my swap-react-native plugin not being called pre 😳
|
|
311
|
+
await resolveConfig(buildConfig, 'build')
|
|
312
|
+
|
|
313
|
+
const buildOutput = await build(buildConfig)
|
|
281
314
|
|
|
282
315
|
if (!('output' in buildOutput)) {
|
|
283
316
|
throw `❌`
|
|
@@ -307,8 +340,9 @@ ${
|
|
|
307
340
|
module.isEntry
|
|
308
341
|
? `
|
|
309
342
|
// run entry
|
|
310
|
-
|
|
311
|
-
|
|
343
|
+
const __require = createRequire({})
|
|
344
|
+
__require("react-native")
|
|
345
|
+
__require("${module.fileName}")
|
|
312
346
|
`
|
|
313
347
|
: ''
|
|
314
348
|
}
|
package/types/dev.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAiBnD,eAAO,MAAM,GAAG,YAAmB,kBAAkB,kBAiXpD,CAAA"}
|