vxrn 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/cli.mjs +263 -248
- package/dist/cli.mjs.map +1 -1
- package/dist/cli.native.js +267 -252
- package/dist/cli.native.js.map +1 -1
- package/dist/config/getAdditionalViteConfig.mjs +8 -8
- package/dist/config/getAdditionalViteConfig.mjs.map +1 -1
- package/dist/config/getAdditionalViteConfig.native.js +8 -8
- package/dist/config/getAdditionalViteConfig.native.js.map +1 -1
- package/dist/config/getBaseViteConfigOnly.mjs +14 -12
- package/dist/config/getBaseViteConfigOnly.mjs.map +1 -1
- package/dist/config/getBaseViteConfigOnly.native.js +16 -14
- package/dist/config/getBaseViteConfigOnly.native.js.map +1 -1
- package/dist/config/getBaseVitePlugins.mjs +34 -19
- package/dist/config/getBaseVitePlugins.mjs.map +1 -1
- package/dist/config/getBaseVitePlugins.native.js +47 -32
- package/dist/config/getBaseVitePlugins.native.js.map +1 -1
- package/dist/config/getOptimizeDeps.mjs +12 -9
- package/dist/config/getOptimizeDeps.mjs.map +1 -1
- package/dist/config/getOptimizeDeps.native.js +12 -9
- package/dist/config/getOptimizeDeps.native.js.map +1 -1
- package/dist/config/getOptionsFilled.mjs +47 -41
- package/dist/config/getOptionsFilled.mjs.map +1 -1
- package/dist/config/getOptionsFilled.native.js +53 -50
- package/dist/config/getOptionsFilled.native.js.map +1 -1
- package/dist/config/getReactNativePlugins.mjs +5 -2
- package/dist/config/getReactNativePlugins.mjs.map +1 -1
- package/dist/config/getReactNativePlugins.native.js +8 -5
- package/dist/config/getReactNativePlugins.native.js.map +1 -1
- package/dist/config/getServerOptionsFilled.mjs +21 -14
- package/dist/config/getServerOptionsFilled.mjs.map +1 -1
- package/dist/config/getServerOptionsFilled.native.js +25 -21
- package/dist/config/getServerOptionsFilled.native.js.map +1 -1
- package/dist/config/getViteServerConfig.mjs +25 -16
- package/dist/config/getViteServerConfig.mjs.map +1 -1
- package/dist/config/getViteServerConfig.native.js +37 -28
- package/dist/config/getViteServerConfig.native.js.map +1 -1
- package/dist/config/mergeUserConfig.mjs +25 -7
- package/dist/config/mergeUserConfig.mjs.map +1 -1
- package/dist/config/mergeUserConfig.native.js +32 -14
- package/dist/config/mergeUserConfig.native.js.map +1 -1
- package/dist/config/mergeUserConfig.test.mjs +53 -26
- package/dist/config/mergeUserConfig.test.mjs.map +1 -1
- package/dist/config/mergeUserConfig.test.native.js +94 -74
- package/dist/config/mergeUserConfig.test.native.js.map +1 -1
- package/dist/constants.mjs +6 -6
- package/dist/constants.mjs.map +1 -1
- package/dist/constants.native.js +6 -6
- package/dist/constants.native.js.map +1 -1
- package/dist/exports/build.mjs +241 -191
- package/dist/exports/build.mjs.map +1 -1
- package/dist/exports/build.native.js +257 -221
- package/dist/exports/build.native.js.map +1 -1
- package/dist/exports/clean.mjs +17 -12
- package/dist/exports/clean.mjs.map +1 -1
- package/dist/exports/clean.native.js +22 -13
- package/dist/exports/clean.native.js.map +1 -1
- package/dist/exports/createServer.mjs +49 -35
- package/dist/exports/createServer.mjs.map +1 -1
- package/dist/exports/createServer.native.js +50 -34
- package/dist/exports/createServer.native.js.map +1 -1
- package/dist/exports/dev.mjs +119 -74
- package/dist/exports/dev.mjs.map +1 -1
- package/dist/exports/dev.native.js +131 -90
- package/dist/exports/dev.native.js.map +1 -1
- package/dist/exports/loadEnv.mjs +28 -19
- package/dist/exports/loadEnv.mjs.map +1 -1
- package/dist/exports/loadEnv.native.js +33 -28
- package/dist/exports/loadEnv.native.js.map +1 -1
- package/dist/exports/patch.mjs +4 -1
- package/dist/exports/patch.mjs.map +1 -1
- package/dist/exports/patch.native.js +4 -1
- package/dist/exports/patch.native.js.map +1 -1
- package/dist/exports/prebuild.mjs +106 -42
- package/dist/exports/prebuild.mjs.map +1 -1
- package/dist/exports/prebuild.native.js +116 -63
- package/dist/exports/prebuild.native.js.map +1 -1
- package/dist/exports/prebuildWithoutExpo.mjs +44 -39
- package/dist/exports/prebuildWithoutExpo.mjs.map +1 -1
- package/dist/exports/prebuildWithoutExpo.native.js +45 -42
- package/dist/exports/prebuildWithoutExpo.native.js.map +1 -1
- package/dist/exports/runAndroid.mjs +8 -5
- package/dist/exports/runAndroid.mjs.map +1 -1
- package/dist/exports/runAndroid.native.js +2 -1
- package/dist/exports/runAndroid.native.js.map +1 -1
- package/dist/exports/runIos.mjs +8 -5
- package/dist/exports/runIos.mjs.map +1 -1
- package/dist/exports/runIos.native.js +2 -1
- package/dist/exports/runIos.native.js.map +1 -1
- package/dist/exports/serve.mjs +14 -6
- package/dist/exports/serve.mjs.map +1 -1
- package/dist/exports/serve.native.js +21 -13
- package/dist/exports/serve.native.js.map +1 -1
- package/dist/exports/serveStaticAssets.mjs +37 -22
- package/dist/exports/serveStaticAssets.mjs.map +1 -1
- package/dist/exports/serveStaticAssets.native.js +65 -41
- package/dist/exports/serveStaticAssets.native.js.map +1 -1
- package/dist/patches/builtInDepPatches.mjs +145 -62
- package/dist/patches/builtInDepPatches.mjs.map +1 -1
- package/dist/patches/builtInDepPatches.native.js +116 -70
- package/dist/patches/builtInDepPatches.native.js.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.mjs +66 -42
- package/dist/plugins/autoDepOptimizePlugin.mjs.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.native.js +83 -63
- package/dist/plugins/autoDepOptimizePlugin.native.js.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.test.mjs +23 -17
- package/dist/plugins/autoDepOptimizePlugin.test.mjs.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.test.native.js +31 -27
- package/dist/plugins/autoDepOptimizePlugin.test.native.js.map +1 -1
- package/dist/plugins/defaultDepOptimizePlugin.mjs +6 -2
- package/dist/plugins/defaultDepOptimizePlugin.mjs.map +1 -1
- package/dist/plugins/defaultDepOptimizePlugin.native.js +6 -2
- package/dist/plugins/defaultDepOptimizePlugin.native.js.map +1 -1
- package/dist/plugins/expoManifestRequestHandlerPlugin.mjs +80 -36
- package/dist/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js +93 -46
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
- package/dist/plugins/getResolvedConfigSubset.mjs +3 -1
- package/dist/plugins/getResolvedConfigSubset.mjs.map +1 -1
- package/dist/plugins/getResolvedConfigSubset.native.js +3 -1
- package/dist/plugins/getResolvedConfigSubset.native.js.map +1 -1
- package/dist/plugins/reactNativeCommonJsPlugin.mjs +70 -46
- package/dist/plugins/reactNativeCommonJsPlugin.mjs.map +1 -1
- package/dist/plugins/reactNativeCommonJsPlugin.native.js +99 -68
- package/dist/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.mjs +41 -27
- package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.native.js +61 -48
- package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevServer.mjs +126 -83
- package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
- package/dist/plugins/reactNativeDevServer.native.js +156 -107
- package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
- package/dist/plugins/resolveIdScan.test.mjs +22 -17
- package/dist/plugins/resolveIdScan.test.mjs.map +1 -1
- package/dist/plugins/resolveIdScan.test.native.js +25 -21
- package/dist/plugins/resolveIdScan.test.native.js.map +1 -1
- package/dist/plugins/serverExtensions.test.mjs +66 -38
- package/dist/plugins/serverExtensions.test.mjs.map +1 -1
- package/dist/plugins/serverExtensions.test.native.js +63 -49
- package/dist/plugins/serverExtensions.test.native.js.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.mjs +48 -31
- package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.native.js +52 -35
- package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/runtime/hmr-client.mjs +59 -39
- package/dist/runtime/hmr-client.mjs.map +1 -1
- package/dist/runtime/hmr-client.native.js +132 -92
- package/dist/runtime/hmr-client.native.js.map +1 -1
- package/dist/runtime/hmr-runtime.mjs +65 -29
- package/dist/runtime/hmr-runtime.mjs.map +1 -1
- package/dist/runtime/hmr-runtime.native.js +361 -268
- package/dist/runtime/hmr-runtime.native.js.map +1 -1
- package/dist/runtime/react-refresh-utils.mjs +19 -9
- package/dist/runtime/react-refresh-utils.mjs.map +1 -1
- package/dist/runtime/react-refresh-utils.native.js +20 -10
- package/dist/runtime/react-refresh-utils.native.js.map +1 -1
- package/dist/serve/node.mjs +33 -19
- package/dist/serve/node.mjs.map +1 -1
- package/dist/serve/node.native.js +57 -39
- package/dist/serve/node.native.js.map +1 -1
- package/dist/user-interface/index.mjs +114 -61
- package/dist/user-interface/index.mjs.map +1 -1
- package/dist/user-interface/index.native.js +158 -111
- package/dist/user-interface/index.native.js.map +1 -1
- package/dist/utils/assert.mjs +6 -2
- package/dist/utils/assert.mjs.map +1 -1
- package/dist/utils/assert.native.js +12 -4
- package/dist/utils/assert.native.js.map +1 -1
- package/dist/utils/bindKeypressInput.mjs +38 -23
- package/dist/utils/bindKeypressInput.mjs.map +1 -1
- package/dist/utils/bindKeypressInput.native.js +38 -23
- package/dist/utils/bindKeypressInput.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.mjs +421 -319
- package/dist/utils/createNativeDevEngine.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.native.js +529 -425
- package/dist/utils/createNativeDevEngine.native.js.map +1 -1
- package/dist/utils/execSync.mjs +6 -4
- package/dist/utils/execSync.mjs.map +1 -1
- package/dist/utils/execSync.native.js.map +1 -1
- package/dist/utils/expoRun.mjs +5 -3
- package/dist/utils/expoRun.mjs.map +1 -1
- package/dist/utils/expoRun.native.js +13 -13
- package/dist/utils/expoRun.native.js.map +1 -1
- package/dist/utils/filterViteServerResolvedUrls.mjs +17 -5
- package/dist/utils/filterViteServerResolvedUrls.mjs.map +1 -1
- package/dist/utils/filterViteServerResolvedUrls.native.js +41 -23
- package/dist/utils/filterViteServerResolvedUrls.native.js.map +1 -1
- package/dist/utils/getServerEntry.mjs +6 -4
- package/dist/utils/getServerEntry.mjs.map +1 -1
- package/dist/utils/getServerEntry.native.js +9 -9
- package/dist/utils/getServerEntry.native.js.map +1 -1
- package/dist/utils/getVitePath.mjs +41 -17
- package/dist/utils/getVitePath.mjs.map +1 -1
- package/dist/utils/getVitePath.native.js +38 -16
- package/dist/utils/getVitePath.native.js.map +1 -1
- package/dist/utils/patches.mjs +143 -73
- package/dist/utils/patches.mjs.map +1 -1
- package/dist/utils/patches.native.js +299 -188
- package/dist/utils/patches.native.js.map +1 -1
- package/dist/utils/patches.test.mjs +106 -69
- package/dist/utils/patches.test.mjs.map +1 -1
- package/dist/utils/patches.test.native.js +100 -75
- package/dist/utils/patches.test.native.js.map +1 -1
- package/dist/utils/printServerUrls.mjs +6 -2
- package/dist/utils/printServerUrls.mjs.map +1 -1
- package/dist/utils/printServerUrls.native.js +28 -18
- package/dist/utils/printServerUrls.native.js.map +1 -1
- package/dist/utils/removeUndefined.mjs +5 -1
- package/dist/utils/removeUndefined.mjs.map +1 -1
- package/dist/utils/removeUndefined.native.js +5 -1
- package/dist/utils/removeUndefined.native.js.map +1 -1
- package/dist/utils/scanDepsToOptimize.mjs +131 -87
- package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
- package/dist/utils/scanDepsToOptimize.native.js +163 -117
- package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
- package/dist/utils/state.mjs +4 -2
- package/dist/utils/state.mjs.map +1 -1
- package/dist/utils/state.native.js +3 -2
- package/dist/utils/state.native.js.map +1 -1
- package/dist/utils/utils.mjs +4 -3
- package/dist/utils/utils.mjs.map +1 -1
- package/dist/utils/utils.native.js +22 -16
- package/dist/utils/utils.native.js.map +1 -1
- package/dist/vendor/debugger-app/src/index.css +1 -1
- package/dist/vendor/debugger-app/src/index.css.map +1 -1
- package/dist/vxrn-vite-plugin.mjs +10 -6
- package/dist/vxrn-vite-plugin.mjs.map +1 -1
- package/dist/vxrn-vite-plugin.native.js +25 -21
- package/dist/vxrn-vite-plugin.native.js.map +1 -1
- package/package.json +12 -12
- package/src/plugins/reactNativeDevServer.ts +0 -6
- package/src/utils/createNativeDevEngine.ts +55 -1
- package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts.map +1 -1
|
@@ -43,7 +43,10 @@ const COMMANDS = [{
|
|
|
43
43
|
terminalLabel: "show Expo Go \x1B[1mQR\x1B[0m code",
|
|
44
44
|
action: ctx => {
|
|
45
45
|
const url = getExpoGoUrl(ctx);
|
|
46
|
-
|
|
46
|
+
if (!url) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
printNativeQrCodeAndInstructions(url);
|
|
47
50
|
}
|
|
48
51
|
},
|
|
49
52
|
// TODO this would need to be per-platform
|
|
@@ -53,25 +56,27 @@ const COMMANDS = [{
|
|
|
53
56
|
terminalLabel: "open React Native \x1B[1mD\x1B[0mev\x1B[1mT\x1B[0mools",
|
|
54
57
|
action: ctx => {
|
|
55
58
|
const {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
host,
|
|
60
|
+
port
|
|
61
|
+
} = ctx.server.config.server;
|
|
62
|
+
const serverUrl = `http://${typeof host === "string" && !!host ? host : "localhost"}:${port}`;
|
|
63
|
+
const url = new URL("/open-debugger", serverUrl);
|
|
61
64
|
(async () => {
|
|
62
65
|
const response = await fetch(url, {
|
|
63
66
|
method: "POST",
|
|
64
67
|
signal: AbortSignal.timeout(3e3)
|
|
65
68
|
}).catch(error => {
|
|
66
|
-
if (error.name === "TimeoutError")
|
|
69
|
+
if (error.name === "TimeoutError") {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
67
72
|
throw error;
|
|
68
73
|
});
|
|
69
|
-
if (response) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
console.warn(`Failed to open React Native DevTools, ${url} returns ${response.status}: ${responseText}.`);
|
|
74
|
+
if (!response) {} else if (response.ok === false) {
|
|
75
|
+
const responseText = await response.text();
|
|
76
|
+
if (responseText.includes("Unable to find debugger target")) {
|
|
77
|
+
return;
|
|
74
78
|
}
|
|
79
|
+
console.warn(`Failed to open React Native DevTools, ${url} returns ${response.status}: ${responseText}.`);
|
|
75
80
|
}
|
|
76
81
|
})();
|
|
77
82
|
}
|
|
@@ -82,14 +87,14 @@ const COMMANDS = [{
|
|
|
82
87
|
action: async ctx => {}
|
|
83
88
|
}];
|
|
84
89
|
async function startUserInterface(context) {
|
|
85
|
-
printCommandsTable(context)
|
|
90
|
+
printCommandsTable(context);
|
|
91
|
+
startInterceptingKeyStrokes(context);
|
|
86
92
|
}
|
|
87
93
|
function printCommandsTable(context) {
|
|
88
|
-
const longestKeyLength = COMMANDS.reduce((max, command) => Math.max(max, command.keys.length), 0)
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
`);
|
|
94
|
+
const longestKeyLength = COMMANDS.reduce((max, command) => Math.max(max, command.keys.length), 0);
|
|
95
|
+
const commandsInfo = COMMANDS.map(cmd => getCommandInfoInTerminal(cmd, {
|
|
96
|
+
longestKeyLength
|
|
97
|
+
})).join("\n");
|
|
93
98
|
console.info(`
|
|
94
99
|
${commandsInfo}
|
|
95
100
|
`);
|
|
@@ -103,9 +108,11 @@ function restoreTerminal() {
|
|
|
103
108
|
const {
|
|
104
109
|
stdin
|
|
105
110
|
} = process;
|
|
106
|
-
if (stdin.isTTY && stdin.setRawMode)
|
|
107
|
-
|
|
108
|
-
|
|
111
|
+
if (stdin.isTTY && stdin.setRawMode) {
|
|
112
|
+
try {
|
|
113
|
+
stdin.setRawMode(false);
|
|
114
|
+
} catch {}
|
|
115
|
+
}
|
|
109
116
|
process.stdout.write("\x1B[0m");
|
|
110
117
|
}
|
|
111
118
|
function startInterceptingKeyStrokes(context) {
|
|
@@ -116,67 +123,105 @@ function startInterceptingKeyStrokes(context) {
|
|
|
116
123
|
console.warn("Using a non-interactive terminal, keyboard commands are disabled.");
|
|
117
124
|
return;
|
|
118
125
|
}
|
|
119
|
-
stdin.setRawMode(
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
126
|
+
stdin.setRawMode(true);
|
|
127
|
+
stdin.resume();
|
|
128
|
+
stdin.setEncoding("utf8");
|
|
129
|
+
stdin.on("data", handleKeypress.bind(null, context));
|
|
130
|
+
stdin.unref();
|
|
131
|
+
process.on("exit", restoreTerminal);
|
|
132
|
+
process.on("SIGINT", () => {
|
|
133
|
+
restoreTerminal();
|
|
134
|
+
process.exit(0);
|
|
135
|
+
});
|
|
136
|
+
process.on("SIGTERM", () => {
|
|
137
|
+
restoreTerminal();
|
|
138
|
+
process.exit(0);
|
|
123
139
|
});
|
|
124
140
|
}
|
|
125
|
-
let pressedKeys = ""
|
|
126
|
-
|
|
141
|
+
let pressedKeys = "";
|
|
142
|
+
let clearPressedKeysTimer = null;
|
|
127
143
|
function clearPressedKeys() {
|
|
128
|
-
pressedKeys = ""
|
|
144
|
+
pressedKeys = "";
|
|
145
|
+
clearPrintedInfo();
|
|
129
146
|
}
|
|
130
147
|
function resetClearPressedKeysTimer() {
|
|
131
|
-
|
|
148
|
+
if (clearPressedKeysTimer) {
|
|
149
|
+
clearTimeout(clearPressedKeysTimer);
|
|
150
|
+
}
|
|
151
|
+
clearPressedKeysTimer = setTimeout(clearPressedKeys, 3e3);
|
|
152
|
+
clearPressedKeysTimer.unref();
|
|
132
153
|
}
|
|
133
154
|
function handleKeypress(context, key) {
|
|
134
155
|
if (key === "\x1B") {
|
|
135
|
-
clearPrintedInfo()
|
|
156
|
+
clearPrintedInfo();
|
|
157
|
+
pressedKeys = "";
|
|
136
158
|
return;
|
|
137
159
|
}
|
|
138
160
|
if (key === "?" || key === "/") {
|
|
139
|
-
clearPrintedInfo()
|
|
140
|
-
\u21D2 Available commands
|
|
161
|
+
clearPrintedInfo();
|
|
162
|
+
console.info("> ?\n\u21D2 Available commands:");
|
|
163
|
+
printCommandsTable(context);
|
|
141
164
|
return;
|
|
142
165
|
}
|
|
143
|
-
|
|
166
|
+
resetClearPressedKeysTimer();
|
|
167
|
+
if (key === "\x7F") {
|
|
168
|
+
pressedKeys = pressedKeys.slice(0, -1);
|
|
169
|
+
} else {
|
|
170
|
+
key = key.toLowerCase();
|
|
171
|
+
if (/^[a-z]$/.test(key)) {
|
|
172
|
+
pressedKeys += key;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (pressedKeys.length === 0) {
|
|
144
176
|
clearPrintedInfo();
|
|
145
177
|
return;
|
|
146
178
|
}
|
|
147
179
|
const matchedCommand = COMMANDS.find(command => command.keys === pressedKeys);
|
|
148
180
|
if (matchedCommand) {
|
|
149
|
-
clearPrintedInfo()
|
|
150
|
-
|
|
181
|
+
clearPrintedInfo();
|
|
182
|
+
console.info(`> ${matchedCommand.keys}
|
|
183
|
+
\u21D2 ${matchedCommand.label}...`);
|
|
184
|
+
pressedKeys = "";
|
|
185
|
+
setTimeout(() => matchedCommand.action?.(context), 500);
|
|
151
186
|
return;
|
|
152
187
|
}
|
|
153
188
|
if (pressedKeys.length >= 3) {
|
|
154
|
-
clearPrintedInfo()
|
|
155
|
-
|
|
189
|
+
clearPrintedInfo();
|
|
190
|
+
console.info(`> ${pressedKeys}
|
|
191
|
+
No matching command for "${pressedKeys}"! Press "?" for help.`);
|
|
192
|
+
pressedKeys = "";
|
|
156
193
|
return;
|
|
157
194
|
}
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
const matchedPart = command.keys.slice(0, pressedKeys.length)
|
|
161
|
-
|
|
195
|
+
const possibleCommands = COMMANDS.filter(command => command.keys.startsWith(pressedKeys));
|
|
196
|
+
const commandsInfo = possibleCommands.map(command => {
|
|
197
|
+
const matchedPart = command.keys.slice(0, pressedKeys.length);
|
|
198
|
+
const remainingPart = command.keys.slice(pressedKeys.length);
|
|
162
199
|
return ` \x1B[4m${matchedPart}\x1B[0m\x1B[1m${remainingPart}\x1B[0m\x1B[90m - \x1B[0m${command.terminalLabel}`;
|
|
163
|
-
}).join(
|
|
164
|
-
`
|
|
200
|
+
}).join("\n");
|
|
201
|
+
const infoToPrint = `
|
|
202
|
+
${commandsInfo}
|
|
165
203
|
> ${pressedKeys}`;
|
|
166
204
|
printInfo(infoToPrint);
|
|
167
205
|
}
|
|
168
206
|
let lastPrintedInfo = "";
|
|
169
207
|
function printInfo(info) {
|
|
170
|
-
clearPrintedInfo()
|
|
208
|
+
clearPrintedInfo();
|
|
209
|
+
lastPrintedInfo = info;
|
|
210
|
+
process.stdout.write(info);
|
|
171
211
|
}
|
|
172
212
|
function clearPrintedInfo() {
|
|
173
|
-
|
|
174
|
-
|
|
213
|
+
if (lastPrintedInfo) {
|
|
214
|
+
process.stdout.write("\x1B[2K");
|
|
215
|
+
process.stdout.write("\x1B[1A\x1B[2K".repeat(lastPrintedInfo.split("\n").length - 1));
|
|
216
|
+
process.stdout.write("\x1B[2K");
|
|
217
|
+
process.stdout.write("\x1B[G");
|
|
218
|
+
}
|
|
219
|
+
lastPrintedInfo = "";
|
|
175
220
|
}
|
|
176
221
|
async function printNativeQrCodeAndInstructions(url) {
|
|
177
222
|
const qrcode = await import("qrcode-terminal");
|
|
178
223
|
(qrcode.default || qrcode).generate(url, {
|
|
179
|
-
small:
|
|
224
|
+
small: true
|
|
180
225
|
}, code => {
|
|
181
226
|
console.info(`To open the app on your iPhone, install the Expo Go app and scan the QR code below with your iPhone camera:
|
|
182
227
|
${code}`);
|
|
@@ -187,13 +232,16 @@ function nativeOpen(url) {
|
|
|
187
232
|
exec(`${start} ${url}`);
|
|
188
233
|
}
|
|
189
234
|
async function openIos(ctx) {
|
|
190
|
-
const projectRoot = ctx.server.config.root
|
|
191
|
-
|
|
235
|
+
const projectRoot = ctx.server.config.root;
|
|
236
|
+
const port = ctx.server.config.server.port || 8081;
|
|
192
237
|
try {
|
|
193
|
-
const
|
|
238
|
+
const require2 = module.createRequire(projectRoot);
|
|
239
|
+
const applePlatformManagerModuleImportPath = require2.resolve("@expo/cli/build/src/start/platforms/ios/ApplePlatformManager.js", {
|
|
194
240
|
paths: [projectRoot]
|
|
195
|
-
})
|
|
196
|
-
|
|
241
|
+
});
|
|
242
|
+
const applePlatformManagerModule = await import(applePlatformManagerModuleImportPath);
|
|
243
|
+
const PlatformManager = applePlatformManagerModule.default.ApplePlatformManager;
|
|
244
|
+
const platformManager = new PlatformManager(projectRoot, port, {
|
|
197
245
|
/** Expo Go URL. */
|
|
198
246
|
getExpoGoUrl: () => getExpoGoUrl(ctx),
|
|
199
247
|
/** Get the base URL for the dev server hosting this platform manager. */
|
|
@@ -202,7 +250,8 @@ async function openIos(ctx) {
|
|
|
202
250
|
getRedirectUrl: () => null,
|
|
203
251
|
/** Dev Client */
|
|
204
252
|
getCustomRuntimeUrl: props => null
|
|
205
|
-
})
|
|
253
|
+
});
|
|
254
|
+
await platformManager.openAsync({
|
|
206
255
|
runtime: "expo"
|
|
207
256
|
});
|
|
208
257
|
} catch (e) {
|
|
@@ -212,13 +261,16 @@ ${stack}` : ""}`);
|
|
|
212
261
|
}
|
|
213
262
|
}
|
|
214
263
|
async function openAndroid(ctx) {
|
|
215
|
-
const projectRoot = ctx.server.config.root
|
|
216
|
-
|
|
264
|
+
const projectRoot = ctx.server.config.root;
|
|
265
|
+
const port = ctx.server.config.server.port || 8081;
|
|
217
266
|
try {
|
|
218
|
-
const
|
|
267
|
+
const require2 = module.createRequire(projectRoot);
|
|
268
|
+
const androidPlatformManagerModuleImportPath = require2.resolve("@expo/cli/build/src/start/platforms/android/AndroidPlatformManager.js", {
|
|
219
269
|
paths: [projectRoot]
|
|
220
|
-
})
|
|
221
|
-
|
|
270
|
+
});
|
|
271
|
+
const androidPlatformManagerModule = await import(androidPlatformManagerModuleImportPath);
|
|
272
|
+
const PlatformManager = androidPlatformManagerModule.default.AndroidPlatformManager;
|
|
273
|
+
const platformManager = new PlatformManager(projectRoot, port, {
|
|
222
274
|
/** Expo Go URL. */
|
|
223
275
|
getExpoGoUrl: () => getExpoGoUrl(ctx),
|
|
224
276
|
/** Get the base URL for the dev server hosting this platform manager. */
|
|
@@ -227,7 +279,8 @@ async function openAndroid(ctx) {
|
|
|
227
279
|
getRedirectUrl: () => null,
|
|
228
280
|
/** Dev Client */
|
|
229
281
|
getCustomRuntimeUrl: props => null
|
|
230
|
-
})
|
|
282
|
+
});
|
|
283
|
+
await platformManager.openAsync({
|
|
231
284
|
runtime: "expo"
|
|
232
285
|
});
|
|
233
286
|
} catch (e) {
|
|
@@ -237,8 +290,8 @@ ${stack}` : ""}`);
|
|
|
237
290
|
}
|
|
238
291
|
}
|
|
239
292
|
function getExpoGoUrl(ctx) {
|
|
240
|
-
const urls = filterViteServerResolvedUrls(ctx.server.resolvedUrls)?.network
|
|
241
|
-
|
|
293
|
+
const urls = filterViteServerResolvedUrls(ctx.server.resolvedUrls)?.network;
|
|
294
|
+
const url = urls?.[urls.length - 1];
|
|
242
295
|
if (!url) {
|
|
243
296
|
console.warn("Cannot get the local server URL.");
|
|
244
297
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["exec","module","filterViteServerResolvedUrls","COMMANDS","keys","label","terminalLabel","action","ctx","url","server","resolvedUrls","local","console","warn","nativeOpen","openIos","openAndroid","defaultEditor","binary","getExpoGoUrl","printNativeQrCodeAndInstructions","host","port","config","serverUrl","URL","response","fetch","method","signal","AbortSignal","timeout","catch","error","name","ok","responseText","text","includes","status","startUserInterface","context","printCommandsTable","startInterceptingKeyStrokes","longestKeyLength","reduce","max","command","Math","length","commandsInfo","map","cmd","getCommandInfoInTerminal","join","info","padEnd","restoreTerminal","stdin","process","isTTY","setRawMode","stdout","write","resume","setEncoding","on","handleKeypress","bind","unref","exit","pressedKeys","clearPressedKeysTimer","clearPressedKeys","clearPrintedInfo","resetClearPressedKeysTimer","clearTimeout","setTimeout","key","slice","toLowerCase","test","matchedCommand","find","
|
|
1
|
+
{"version":3,"names":["exec","module","filterViteServerResolvedUrls","COMMANDS","keys","label","terminalLabel","action","ctx","url","server","resolvedUrls","local","console","warn","nativeOpen","openIos","openAndroid","defaultEditor","binary","getExpoGoUrl","printNativeQrCodeAndInstructions","host","port","config","serverUrl","URL","response","fetch","method","signal","AbortSignal","timeout","catch","error","name","ok","responseText","text","includes","status","startUserInterface","context","printCommandsTable","startInterceptingKeyStrokes","longestKeyLength","reduce","max","command","Math","length","commandsInfo","map","cmd","getCommandInfoInTerminal","join","info","padEnd","restoreTerminal","stdin","process","isTTY","setRawMode","stdout","write","resume","setEncoding","on","handleKeypress","bind","unref","exit","pressedKeys","clearPressedKeysTimer","clearPressedKeys","clearPrintedInfo","resetClearPressedKeysTimer","clearTimeout","setTimeout","key","slice","toLowerCase","test","matchedCommand","find","possibleCommands","filter","startsWith","matchedPart","remainingPart","infoToPrint","printInfo","lastPrintedInfo","repeat","split","qrcode","default","generate","small","code","start","platform","projectRoot","root","require2","createRequire","applePlatformManagerModuleImportPath","resolve","paths","applePlatformManagerModule","PlatformManager","ApplePlatformManager","platformManager","getDevServerUrl","getRedirectUrl","getCustomRuntimeUrl","props","openAsync","runtime","e","stack","Error","androidPlatformManagerModuleImportPath","androidPlatformManagerModule","AndroidPlatformManager","urls","network","replace"],"sources":["../../src/user-interface/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|