vibeview 0.29.0 → 0.31.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.
@@ -11,22 +11,25 @@ import {
11
11
  checkMetro,
12
12
  createRokuPush,
13
13
  decodeScreenshotResult,
14
+ effectiveDevConfig,
14
15
  filterDeviceModels,
15
16
  formatBuildRowsHuman,
16
17
  formatDeviceModelsHuman,
17
18
  isDevPlatform,
18
19
  loadDevConfig,
20
+ loadLocalDevConfig,
19
21
  parseBuildId,
20
22
  platformWithArticle,
21
23
  readDevState,
22
24
  renderEnvelope,
25
+ resolveMetro,
23
26
  startDevSession
24
- } from "./chunk-T6EQQV6E.js";
27
+ } from "./chunk-P6UIJALK.js";
25
28
  import {
26
29
  ApiClient,
27
30
  NotFoundError,
28
31
  resolveAuth
29
- } from "./chunk-PBMB6TG4.js";
32
+ } from "./chunk-ZZK7YQSP.js";
30
33
 
31
34
  // src/mcp/server.ts
32
35
  import { writeFileSync } from "fs";
@@ -539,7 +542,7 @@ async function handleUploadApp(args, deps) {
539
542
  }
540
543
  const name = typeof args.name === "string" && args.name ? args.name : void 0;
541
544
  const upload = deps.uploadApp ?? (async (f, n) => {
542
- const { uploadAppBuild } = await import("./upload-app-FEZG23NU.js");
545
+ const { uploadAppBuild } = await import("./upload-app-2LVG4LMB.js");
543
546
  const { result: result2 } = await uploadAppBuild(f, { ...deps.auth, name: n });
544
547
  return result2;
545
548
  });
@@ -624,6 +627,7 @@ function createDevSessionController(auth, webUrl) {
624
627
  } catch {
625
628
  devConfig = null;
626
629
  }
630
+ devConfig = effectiveDevConfig(devConfig, loadLocalDevConfig(process.cwd()));
627
631
  const entry = devConfig?.platforms?.[cfg.platform];
628
632
  const appId = cfg.app || entry?.appId;
629
633
  if (!appId) {
@@ -649,7 +653,7 @@ function createDevSessionController(auth, webUrl) {
649
653
  }
650
654
  const standalone = cfg.standalone === true;
651
655
  const usesMetro = PLATFORM_NEEDS_METRO[cfg.platform] && !standalone;
652
- const metroPort = cfg.metroPort ?? devConfig?.metroPort ?? 8081;
656
+ const metroPort = resolveMetro(devConfig, cfg.platform, cfg.metroPort).port;
653
657
  if (usesMetro) {
654
658
  const metro = await checkMetro(metroPort);
655
659
  if (metro === "down") {
@@ -3,7 +3,7 @@ import {
3
3
  describeBuild,
4
4
  uploadApp,
5
5
  uploadAppBuild
6
- } from "./chunk-PBMB6TG4.js";
6
+ } from "./chunk-ZZK7YQSP.js";
7
7
  export {
8
8
  describeBuild,
9
9
  uploadApp,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibeview",
3
- "version": "0.29.0",
3
+ "version": "0.31.0",
4
4
  "description": "VibeView CLI -- run your app on cloud iOS simulators, Android emulators, Apple TV, Android TV and Roku (beta) 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",
@@ -64,11 +64,16 @@ https://vibeview.io/docs/preparing-your-build.
64
64
  the page is `https://vibeview.io/sandbox/<session_id>`.)
65
65
 
66
66
  Running `dev` writes two things into the project root: a `.vibeview/`
67
- directory (live session state — local machine state, never commit) and a
68
- `vibeview.json` (your platform/app/build choices, which teammates DO want).
69
- Make sure `.vibeview/` is in the project's `.gitignore`, adding it if
70
- missing. Leave `vibeview.json` tracked, but tell the developer you created
71
- it rather than letting it appear unexplained in their `git status`.
67
+ directory (live session state, plus `local.json` with this developer's own
68
+ flag overrides such as `--metro-port` — local machine state, never commit)
69
+ and a `vibeview.json` (the platform/app/build setup, which teammates DO
70
+ want). Flags never rewrite a value `vibeview.json` already has; they are
71
+ saved to `.vibeview/local.json` instead, and the CLI prints what it saved.
72
+ The CLI keeps `.vibeview/` out of git itself with a `.vibeview/.gitignore`
73
+ (everything except `test-spec.json`); don't add lines to the project's own
74
+ `.gitignore` for it. Leave `vibeview.json`
75
+ tracked, but tell the developer you created it rather than letting it
76
+ appear unexplained in their `git status`.
72
77
 
73
78
  ## 3. Verifying
74
79