vibeview 0.49.0 → 0.50.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.
|
@@ -205,6 +205,22 @@ function validateBuildXcode(xcode, platformKey) {
|
|
|
205
205
|
);
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
|
+
function normalizeNodeVersion(value) {
|
|
209
|
+
if (typeof value === "number") {
|
|
210
|
+
return Number.isInteger(value) && value > 0 && value < 1e3 ? String(value) : null;
|
|
211
|
+
}
|
|
212
|
+
if (typeof value !== "string") return null;
|
|
213
|
+
const m = /^v?(\d{1,3})(?:\.x)?$/.exec(value.trim());
|
|
214
|
+
return m ? String(Number(m[1])) : null;
|
|
215
|
+
}
|
|
216
|
+
function validateBuildNode(node, platformKey) {
|
|
217
|
+
if (node === void 0) return;
|
|
218
|
+
if (normalizeNodeVersion(node) === null) {
|
|
219
|
+
throw new Error(
|
|
220
|
+
`vibeview.json: platforms.${platformKey}.build.node must be a Node.js major version like "24"`
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
208
224
|
function platformUsesXcode(platformKey) {
|
|
209
225
|
return XCODE_PLATFORMS.includes(platformKey);
|
|
210
226
|
}
|
|
@@ -2167,6 +2183,13 @@ async function buildCommand(opts, cloudDeps) {
|
|
|
2167
2183
|
"usage"
|
|
2168
2184
|
);
|
|
2169
2185
|
}
|
|
2186
|
+
if (opts.node !== void 0) {
|
|
2187
|
+
fail(
|
|
2188
|
+
opts,
|
|
2189
|
+
"--node requires --cloud: a local build uses the Node.js on this machine",
|
|
2190
|
+
"usage"
|
|
2191
|
+
);
|
|
2192
|
+
}
|
|
2170
2193
|
const platform = await resolveBarePlatform(cwd, cfgRef.current, opts);
|
|
2171
2194
|
const build = await resolveBuildConfig(cwd, cfgRef, platform, opts);
|
|
2172
2195
|
const result = await runBuildForPlatform(
|
|
@@ -2437,6 +2460,10 @@ async function runCloudBuildCommand(cwd, cfgRef, opts, deps) {
|
|
|
2437
2460
|
if (opts.xcode !== void 0 && !XCODE_VERSION_RE.test(opts.xcode)) {
|
|
2438
2461
|
fail(opts, `--xcode must be a version like 27.1, got "${opts.xcode}"`, "usage");
|
|
2439
2462
|
}
|
|
2463
|
+
const nodeFlag = opts.node === void 0 ? void 0 : normalizeNodeVersion(opts.node);
|
|
2464
|
+
if (nodeFlag === null) {
|
|
2465
|
+
fail(opts, `--node must be a Node.js major version like 24, got "${opts.node}"`, "usage");
|
|
2466
|
+
}
|
|
2440
2467
|
const platforms = await resolveCloudPlatforms(cwd, cfgRef, opts);
|
|
2441
2468
|
if (opts.xcode !== void 0 && !platforms.some(platformUsesXcode)) {
|
|
2442
2469
|
fail(
|
|
@@ -2460,6 +2487,7 @@ async function runCloudBuildCommand(cwd, cfgRef, opts, deps) {
|
|
|
2460
2487
|
try {
|
|
2461
2488
|
validateBuildEnv(cfg?.platforms?.[p]?.build?.env, p);
|
|
2462
2489
|
validateBuildXcode(cfg?.platforms?.[p]?.build?.xcode, p);
|
|
2490
|
+
validateBuildNode(cfg?.platforms?.[p]?.build?.node, p);
|
|
2463
2491
|
if (cfg?.platforms?.[p]?.build?.autoIncrement === true && opts.production && createFromArtifact.has(p)) {
|
|
2464
2492
|
throw new UsageError(
|
|
2465
2493
|
`platforms.${p}.build.autoIncrement needs the build linked to an app \u2014 set appId in vibeview.json (a brand-new app's first build can't auto-increment)`
|
|
@@ -2537,6 +2565,7 @@ ${offenders}`);
|
|
|
2537
2565
|
);
|
|
2538
2566
|
}
|
|
2539
2567
|
const xcode = platformUsesXcode(p) ? opts.xcode ?? build.xcode : void 0;
|
|
2568
|
+
const node = nodeFlag ?? (build.node === void 0 ? void 0 : normalizeNodeVersion(build.node));
|
|
2540
2569
|
return {
|
|
2541
2570
|
platform: p,
|
|
2542
2571
|
// OMITTED, never invented, for a platform whose app the artifact will
|
|
@@ -2550,7 +2579,8 @@ ${offenders}`);
|
|
|
2550
2579
|
distribution: production ? "production" : "simulator",
|
|
2551
2580
|
...build.env ? { env: build.env } : {},
|
|
2552
2581
|
...autoIncrement && production ? { auto_increment: true } : {},
|
|
2553
|
-
...xcode ? { xcode } : {}
|
|
2582
|
+
...xcode ? { xcode } : {},
|
|
2583
|
+
...node ? { node } : {}
|
|
2554
2584
|
};
|
|
2555
2585
|
});
|
|
2556
2586
|
const uploadSpinner = !opts.json ? createSpinner("uploading source...") : null;
|
package/dist/cli.js
CHANGED
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
runAgentVerb,
|
|
35
35
|
runStepsNotChecked,
|
|
36
36
|
stepsNotCheckedLabel
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-BPHIX73G.js";
|
|
38
38
|
import {
|
|
39
39
|
ApiClient,
|
|
40
40
|
ApiStatusError,
|
|
@@ -4376,6 +4376,9 @@ program.command("build").description("Run your configured build command and uplo
|
|
|
4376
4376
|
).option(
|
|
4377
4377
|
"--xcode <version>",
|
|
4378
4378
|
"--cloud only, ios/tvos: the Xcode version to build with (e.g. 27.1), overriding vibeview.json build.xcode for this run"
|
|
4379
|
+
).option(
|
|
4380
|
+
"--node <major>",
|
|
4381
|
+
"--cloud only: the Node.js major to build with (e.g. 24), overriding vibeview.json build.node and the project .nvmrc for this run"
|
|
4379
4382
|
).option("--json", "Print the result as one JSON line (NDJSON events with --cloud)", false).action((opts) => buildCommand(opts));
|
|
4380
4383
|
program.command("submit").description(
|
|
4381
4384
|
"Submit a succeeded production cloud build's artifact to TestFlight (ios/tvos) or a Google Play track (android/androidtv) \u2014 binary upload only; store listing and review stay in the store consoles"
|
|
@@ -4508,7 +4511,7 @@ program.command("dev-reload").description(
|
|
|
4508
4511
|
program.command("mcp").description(
|
|
4509
4512
|
"Run an MCP stdio server exposing the agent verbs (tap, swipe, type, ...) plus dev_start/dev_stop/dev_reload as tools"
|
|
4510
4513
|
).option("--token <token>", "API token (or set VIBEVIEW_API_TOKEN)").action(async (opts) => {
|
|
4511
|
-
const { runMcpServer } = await import("./server-
|
|
4514
|
+
const { runMcpServer } = await import("./server-Q2PYPAKB.js");
|
|
4512
4515
|
await runMcpServer({ ...opts, version: pkg.version });
|
|
4513
4516
|
});
|
|
4514
4517
|
program.command("agent-setup").description(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibeview",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.50.0",
|
|
4
4
|
"description": "VibeView CLI -- run your app on cloud iOS simulators, Android emulators, Apple TV, Android TV and Roku devices: a React Native dev loop, device control for you or your coding agent (CLI or MCP), and tests from CI",
|
|
5
5
|
"mcpName": "io.github.vibeview/vibeview",
|
|
6
6
|
"type": "module",
|