@react-grab/cli 0.1.0-beta.7 → 0.1.0-beta.8

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.
Files changed (3) hide show
  1. package/dist/cli.cjs +32 -61
  2. package/dist/cli.js +32 -61
  3. package/package.json +2 -2
package/dist/cli.cjs CHANGED
@@ -1711,7 +1711,7 @@ ${BOLD}File: ${filePath}${RESET}`);
1711
1711
  console.log(formatDiff(diff));
1712
1712
  console.log("\u2500".repeat(60));
1713
1713
  };
1714
- var VERSION = "0.1.0-beta.6";
1714
+ var VERSION = "0.1.0-beta.7";
1715
1715
  var configureMcp = (mcpClient, cwd, customPkg) => {
1716
1716
  const mcpCommand = customPkg ? `npx -y ${customPkg} browser mcp` : `npx -y @react-grab/cli browser mcp`;
1717
1717
  const mcpSpinner = spinner(`Installing MCP server for ${MCP_CLIENT_NAMES[mcpClient]}`).start();
@@ -16700,7 +16700,7 @@ PERFORMANCE: Batch multiple actions in one execute call.`,
16700
16700
  };
16701
16701
 
16702
16702
  // src/commands/browser.ts
16703
- var VERSION2 = "0.1.0-beta.6";
16703
+ var VERSION2 = "0.1.0-beta.7";
16704
16704
  var printHeader = () => {
16705
16705
  console.log(
16706
16706
  `${pc__default.default.magenta("\u273F")} ${pc__default.default.bold("React Grab")} ${pc__default.default.gray(VERSION2)}`
@@ -17170,7 +17170,7 @@ browser.addCommand(status);
17170
17170
  browser.addCommand(execute);
17171
17171
  browser.addCommand(pages);
17172
17172
  browser.addCommand(mcp);
17173
- var VERSION3 = "0.1.0-beta.6";
17173
+ var VERSION3 = "0.1.0-beta.7";
17174
17174
  var isMac = process.platform === "darwin";
17175
17175
  var META_LABEL = isMac ? "Cmd" : "Win";
17176
17176
  var ALT_LABEL = isMac ? "Option" : "Alt";
@@ -17608,7 +17608,7 @@ var configure = new commander.Command().name("configure").alias("config").descri
17608
17608
  handleError(error48);
17609
17609
  }
17610
17610
  });
17611
- var VERSION4 = "0.1.0-beta.6";
17611
+ var VERSION4 = "0.1.0-beta.7";
17612
17612
  var REPORT_URL = "https://react-grab.com/api/report-cli";
17613
17613
  var DOCS_URL = "https://github.com/aidenybai/react-grab";
17614
17614
  var promptSkillInstall = async (cwd) => {
@@ -18289,7 +18289,7 @@ var init = new commander.Command().name("init").description("initialize React Gr
18289
18289
  reportToCli("error", void 0, error48);
18290
18290
  }
18291
18291
  });
18292
- var VERSION5 = "0.1.0-beta.6";
18292
+ var VERSION5 = "0.1.0-beta.7";
18293
18293
  var remove = new commander.Command().name("remove").description("remove an agent integration").argument(
18294
18294
  "[agent]",
18295
18295
  "agent to remove (claude-code, cursor, opencode, codex, gemini, amp, ami, visual-edit)"
@@ -18466,22 +18466,21 @@ var remove = new commander.Command().name("remove").description("remove an agent
18466
18466
  handleError(error48);
18467
18467
  }
18468
18468
  });
18469
- var VERSION6 = "0.1.0-beta.6";
18470
- var UPDATE_COMMANDS = {
18471
- npm: "npm install -g grab@latest",
18472
- yarn: "yarn global add grab@latest",
18473
- pnpm: "pnpm add -g grab@latest",
18474
- bun: "bun add -g grab@latest"
18475
- };
18476
- var MANAGER_NAMES = {
18477
- npm: "npm",
18478
- yarn: "Yarn",
18479
- pnpm: "pnpm",
18480
- bun: "Bun"
18481
- };
18482
- var execSilent = (command) => {
18469
+ var uninstall = new commander.Command().name("uninstall").description("uninstall React Grab CLI globally").action(() => {
18470
+ console.log("Uninstalling React Grab CLI...");
18471
+ try {
18472
+ child_process.execSync("npm uninstall -g @react-grab/cli", { stdio: "inherit" });
18473
+ console.log("React Grab CLI has been uninstalled.");
18474
+ } catch {
18475
+ console.error("Failed to uninstall. Please try: npm uninstall -g @react-grab/cli");
18476
+ process.exit(1);
18477
+ }
18478
+ });
18479
+ var VERSION6 = "0.1.0-beta.7";
18480
+ var UPDATE_COMMAND = "npm install -g @react-grab/cli@latest";
18481
+ var getLatestVersion = () => {
18483
18482
  try {
18484
- return child_process.execSync(command, {
18483
+ return child_process.execSync("npm view @react-grab/cli version", {
18485
18484
  encoding: "utf-8",
18486
18485
  stdio: ["pipe", "pipe", "pipe"]
18487
18486
  }).trim();
@@ -18489,47 +18488,22 @@ var execSilent = (command) => {
18489
18488
  return null;
18490
18489
  }
18491
18490
  };
18492
- var getInstalledVersion = () => {
18493
- const output = execSilent("grab --version");
18494
- if (!output) return null;
18495
- const match = output.match(/(\d+\.\d+\.\d+(?:-[a-zA-Z0-9.]+)?)/);
18496
- return match ? match[1] : null;
18497
- };
18498
- var getLatestVersion = () => execSilent("npm view grab version");
18499
- var isPackageManagerInstalled = (manager) => execSilent(`${manager} --version`) !== null;
18500
- var detectGlobalPackageManager = () => {
18501
- const managers = ["pnpm", "yarn", "bun"];
18502
- for (const manager of managers) {
18503
- if (isPackageManagerInstalled(manager)) {
18504
- return manager;
18505
- }
18506
- }
18507
- return "npm";
18508
- };
18509
- var update = new commander.Command().name("update").alias("upgrade").description("update grab to the latest version").option("-y, --yes", "skip confirmation prompts", false).option("--check", "only check for updates, don't install", false).action(async (opts2) => {
18491
+ var update = new commander.Command().name("update").alias("upgrade").description("update React Grab CLI to the latest version").option("-y, --yes", "skip confirmation prompts", false).option("--check", "only check for updates, don't install", false).action(async (opts2) => {
18510
18492
  console.log(
18511
18493
  `${pc__default.default.magenta("\u273F")} ${pc__default.default.bold("React Grab")} ${pc__default.default.gray(VERSION6)}`
18512
18494
  );
18513
18495
  console.log();
18514
18496
  const checkSpinner = spinner("Checking for updates").start();
18515
- const installedVersion = getInstalledVersion();
18516
18497
  const latestVersion = getLatestVersion();
18517
18498
  if (!latestVersion) {
18518
- checkSpinner.fail("Failed to fetch latest version from npm");
18499
+ checkSpinner.fail("Failed to fetch latest version");
18519
18500
  logger.break();
18520
18501
  logger.error("Could not reach npm registry. Check your network connection.");
18521
18502
  logger.break();
18522
18503
  process.exit(1);
18523
18504
  }
18524
- if (!installedVersion) {
18525
- checkSpinner.fail("grab is not installed globally");
18526
- logger.break();
18527
- logger.log(`Install it with: ${highlighter.info("npm install -g grab")}`);
18528
- logger.break();
18529
- process.exit(1);
18530
- }
18531
- checkSpinner.succeed(`Current version: ${highlighter.info(installedVersion)}`);
18532
- if (installedVersion === latestVersion) {
18505
+ checkSpinner.succeed(`Current version: ${highlighter.info(VERSION6)}`);
18506
+ if (VERSION6 === latestVersion) {
18533
18507
  logger.break();
18534
18508
  logger.success(`You're already on the latest version (${latestVersion})`);
18535
18509
  logger.break();
@@ -18538,17 +18512,16 @@ var update = new commander.Command().name("update").alias("upgrade").description
18538
18512
  logger.log(`Latest version: ${highlighter.success(latestVersion)}`);
18539
18513
  logger.break();
18540
18514
  if (opts2.check) {
18541
- logger.log(`Update available: ${installedVersion} \u2192 ${latestVersion}`);
18515
+ logger.log(`Update available: ${VERSION6} \u2192 ${latestVersion}`);
18542
18516
  logger.log(`Run ${highlighter.info("grab update")} to install the update.`);
18543
18517
  logger.break();
18544
18518
  process.exit(0);
18545
18519
  }
18546
- const packageManager = detectGlobalPackageManager();
18547
18520
  if (!opts2.yes) {
18548
18521
  const { shouldProceed } = await prompts3__default.default({
18549
18522
  type: "confirm",
18550
18523
  name: "shouldProceed",
18551
- message: `Update grab from ${installedVersion} to ${latestVersion} using ${MANAGER_NAMES[packageManager]}?`,
18524
+ message: `Update from ${VERSION6} to ${latestVersion}?`,
18552
18525
  initial: true
18553
18526
  });
18554
18527
  if (!shouldProceed) {
@@ -18559,20 +18532,17 @@ var update = new commander.Command().name("update").alias("upgrade").description
18559
18532
  }
18560
18533
  }
18561
18534
  logger.break();
18562
- const updateSpinner = spinner(`Updating grab to ${latestVersion}`).start();
18535
+ const updateSpinner = spinner(`Updating to ${latestVersion}`).start();
18563
18536
  try {
18564
- const command = UPDATE_COMMANDS[packageManager];
18565
- child_process.execSync(command, {
18566
- stdio: ["pipe", "pipe", "pipe"]
18567
- });
18568
- updateSpinner.succeed(`Updated grab to ${latestVersion}`);
18537
+ child_process.execSync(UPDATE_COMMAND, { stdio: ["pipe", "pipe", "pipe"] });
18538
+ updateSpinner.succeed(`Updated to ${latestVersion}`);
18569
18539
  logger.break();
18570
18540
  logger.success("Update complete!");
18571
18541
  logger.break();
18572
18542
  } catch (error48) {
18573
- updateSpinner.fail("Failed to update grab");
18543
+ updateSpinner.fail("Failed to update");
18574
18544
  logger.break();
18575
- logger.error(`Update failed. Try manually: ${highlighter.info(UPDATE_COMMANDS[packageManager])}`);
18545
+ logger.error(`Update failed. Try manually: ${highlighter.info(UPDATE_COMMAND)}`);
18576
18546
  if (error48 instanceof Error && error48.message) {
18577
18547
  logger.dim(error48.message);
18578
18548
  }
@@ -18582,7 +18552,7 @@ var update = new commander.Command().name("update").alias("upgrade").description
18582
18552
  });
18583
18553
 
18584
18554
  // src/cli.ts
18585
- var VERSION7 = "0.1.0-beta.6";
18555
+ var VERSION7 = "0.1.0-beta.7";
18586
18556
  var VERSION_API_URL = "https://www.react-grab.com/api/version";
18587
18557
  process.on("SIGINT", () => process.exit(0));
18588
18558
  process.on("SIGTERM", () => process.exit(0));
@@ -18598,4 +18568,5 @@ program.addCommand(remove);
18598
18568
  program.addCommand(configure);
18599
18569
  program.addCommand(browser);
18600
18570
  program.addCommand(update);
18571
+ program.addCommand(uninstall);
18601
18572
  program.parse();
package/dist/cli.js CHANGED
@@ -1702,7 +1702,7 @@ ${BOLD}File: ${filePath}${RESET}`);
1702
1702
  console.log(formatDiff(diff));
1703
1703
  console.log("\u2500".repeat(60));
1704
1704
  };
1705
- var VERSION = "0.1.0-beta.6";
1705
+ var VERSION = "0.1.0-beta.7";
1706
1706
  var configureMcp = (mcpClient, cwd, customPkg) => {
1707
1707
  const mcpCommand = customPkg ? `npx -y ${customPkg} browser mcp` : `npx -y @react-grab/cli browser mcp`;
1708
1708
  const mcpSpinner = spinner(`Installing MCP server for ${MCP_CLIENT_NAMES[mcpClient]}`).start();
@@ -16691,7 +16691,7 @@ PERFORMANCE: Batch multiple actions in one execute call.`,
16691
16691
  };
16692
16692
 
16693
16693
  // src/commands/browser.ts
16694
- var VERSION2 = "0.1.0-beta.6";
16694
+ var VERSION2 = "0.1.0-beta.7";
16695
16695
  var printHeader = () => {
16696
16696
  console.log(
16697
16697
  `${pc.magenta("\u273F")} ${pc.bold("React Grab")} ${pc.gray(VERSION2)}`
@@ -17161,7 +17161,7 @@ browser.addCommand(status);
17161
17161
  browser.addCommand(execute);
17162
17162
  browser.addCommand(pages);
17163
17163
  browser.addCommand(mcp);
17164
- var VERSION3 = "0.1.0-beta.6";
17164
+ var VERSION3 = "0.1.0-beta.7";
17165
17165
  var isMac = process.platform === "darwin";
17166
17166
  var META_LABEL = isMac ? "Cmd" : "Win";
17167
17167
  var ALT_LABEL = isMac ? "Option" : "Alt";
@@ -17599,7 +17599,7 @@ var configure = new Command().name("configure").alias("config").description("con
17599
17599
  handleError(error48);
17600
17600
  }
17601
17601
  });
17602
- var VERSION4 = "0.1.0-beta.6";
17602
+ var VERSION4 = "0.1.0-beta.7";
17603
17603
  var REPORT_URL = "https://react-grab.com/api/report-cli";
17604
17604
  var DOCS_URL = "https://github.com/aidenybai/react-grab";
17605
17605
  var promptSkillInstall = async (cwd) => {
@@ -18280,7 +18280,7 @@ var init = new Command().name("init").description("initialize React Grab in your
18280
18280
  reportToCli("error", void 0, error48);
18281
18281
  }
18282
18282
  });
18283
- var VERSION5 = "0.1.0-beta.6";
18283
+ var VERSION5 = "0.1.0-beta.7";
18284
18284
  var remove = new Command().name("remove").description("remove an agent integration").argument(
18285
18285
  "[agent]",
18286
18286
  "agent to remove (claude-code, cursor, opencode, codex, gemini, amp, ami, visual-edit)"
@@ -18457,22 +18457,21 @@ var remove = new Command().name("remove").description("remove an agent integrati
18457
18457
  handleError(error48);
18458
18458
  }
18459
18459
  });
18460
- var VERSION6 = "0.1.0-beta.6";
18461
- var UPDATE_COMMANDS = {
18462
- npm: "npm install -g grab@latest",
18463
- yarn: "yarn global add grab@latest",
18464
- pnpm: "pnpm add -g grab@latest",
18465
- bun: "bun add -g grab@latest"
18466
- };
18467
- var MANAGER_NAMES = {
18468
- npm: "npm",
18469
- yarn: "Yarn",
18470
- pnpm: "pnpm",
18471
- bun: "Bun"
18472
- };
18473
- var execSilent = (command) => {
18460
+ var uninstall = new Command().name("uninstall").description("uninstall React Grab CLI globally").action(() => {
18461
+ console.log("Uninstalling React Grab CLI...");
18462
+ try {
18463
+ execSync("npm uninstall -g @react-grab/cli", { stdio: "inherit" });
18464
+ console.log("React Grab CLI has been uninstalled.");
18465
+ } catch {
18466
+ console.error("Failed to uninstall. Please try: npm uninstall -g @react-grab/cli");
18467
+ process.exit(1);
18468
+ }
18469
+ });
18470
+ var VERSION6 = "0.1.0-beta.7";
18471
+ var UPDATE_COMMAND = "npm install -g @react-grab/cli@latest";
18472
+ var getLatestVersion = () => {
18474
18473
  try {
18475
- return execSync(command, {
18474
+ return execSync("npm view @react-grab/cli version", {
18476
18475
  encoding: "utf-8",
18477
18476
  stdio: ["pipe", "pipe", "pipe"]
18478
18477
  }).trim();
@@ -18480,47 +18479,22 @@ var execSilent = (command) => {
18480
18479
  return null;
18481
18480
  }
18482
18481
  };
18483
- var getInstalledVersion = () => {
18484
- const output = execSilent("grab --version");
18485
- if (!output) return null;
18486
- const match = output.match(/(\d+\.\d+\.\d+(?:-[a-zA-Z0-9.]+)?)/);
18487
- return match ? match[1] : null;
18488
- };
18489
- var getLatestVersion = () => execSilent("npm view grab version");
18490
- var isPackageManagerInstalled = (manager) => execSilent(`${manager} --version`) !== null;
18491
- var detectGlobalPackageManager = () => {
18492
- const managers = ["pnpm", "yarn", "bun"];
18493
- for (const manager of managers) {
18494
- if (isPackageManagerInstalled(manager)) {
18495
- return manager;
18496
- }
18497
- }
18498
- return "npm";
18499
- };
18500
- var update = new Command().name("update").alias("upgrade").description("update grab to the latest version").option("-y, --yes", "skip confirmation prompts", false).option("--check", "only check for updates, don't install", false).action(async (opts2) => {
18482
+ var update = new Command().name("update").alias("upgrade").description("update React Grab CLI to the latest version").option("-y, --yes", "skip confirmation prompts", false).option("--check", "only check for updates, don't install", false).action(async (opts2) => {
18501
18483
  console.log(
18502
18484
  `${pc.magenta("\u273F")} ${pc.bold("React Grab")} ${pc.gray(VERSION6)}`
18503
18485
  );
18504
18486
  console.log();
18505
18487
  const checkSpinner = spinner("Checking for updates").start();
18506
- const installedVersion = getInstalledVersion();
18507
18488
  const latestVersion = getLatestVersion();
18508
18489
  if (!latestVersion) {
18509
- checkSpinner.fail("Failed to fetch latest version from npm");
18490
+ checkSpinner.fail("Failed to fetch latest version");
18510
18491
  logger.break();
18511
18492
  logger.error("Could not reach npm registry. Check your network connection.");
18512
18493
  logger.break();
18513
18494
  process.exit(1);
18514
18495
  }
18515
- if (!installedVersion) {
18516
- checkSpinner.fail("grab is not installed globally");
18517
- logger.break();
18518
- logger.log(`Install it with: ${highlighter.info("npm install -g grab")}`);
18519
- logger.break();
18520
- process.exit(1);
18521
- }
18522
- checkSpinner.succeed(`Current version: ${highlighter.info(installedVersion)}`);
18523
- if (installedVersion === latestVersion) {
18496
+ checkSpinner.succeed(`Current version: ${highlighter.info(VERSION6)}`);
18497
+ if (VERSION6 === latestVersion) {
18524
18498
  logger.break();
18525
18499
  logger.success(`You're already on the latest version (${latestVersion})`);
18526
18500
  logger.break();
@@ -18529,17 +18503,16 @@ var update = new Command().name("update").alias("upgrade").description("update g
18529
18503
  logger.log(`Latest version: ${highlighter.success(latestVersion)}`);
18530
18504
  logger.break();
18531
18505
  if (opts2.check) {
18532
- logger.log(`Update available: ${installedVersion} \u2192 ${latestVersion}`);
18506
+ logger.log(`Update available: ${VERSION6} \u2192 ${latestVersion}`);
18533
18507
  logger.log(`Run ${highlighter.info("grab update")} to install the update.`);
18534
18508
  logger.break();
18535
18509
  process.exit(0);
18536
18510
  }
18537
- const packageManager = detectGlobalPackageManager();
18538
18511
  if (!opts2.yes) {
18539
18512
  const { shouldProceed } = await prompts3({
18540
18513
  type: "confirm",
18541
18514
  name: "shouldProceed",
18542
- message: `Update grab from ${installedVersion} to ${latestVersion} using ${MANAGER_NAMES[packageManager]}?`,
18515
+ message: `Update from ${VERSION6} to ${latestVersion}?`,
18543
18516
  initial: true
18544
18517
  });
18545
18518
  if (!shouldProceed) {
@@ -18550,20 +18523,17 @@ var update = new Command().name("update").alias("upgrade").description("update g
18550
18523
  }
18551
18524
  }
18552
18525
  logger.break();
18553
- const updateSpinner = spinner(`Updating grab to ${latestVersion}`).start();
18526
+ const updateSpinner = spinner(`Updating to ${latestVersion}`).start();
18554
18527
  try {
18555
- const command = UPDATE_COMMANDS[packageManager];
18556
- execSync(command, {
18557
- stdio: ["pipe", "pipe", "pipe"]
18558
- });
18559
- updateSpinner.succeed(`Updated grab to ${latestVersion}`);
18528
+ execSync(UPDATE_COMMAND, { stdio: ["pipe", "pipe", "pipe"] });
18529
+ updateSpinner.succeed(`Updated to ${latestVersion}`);
18560
18530
  logger.break();
18561
18531
  logger.success("Update complete!");
18562
18532
  logger.break();
18563
18533
  } catch (error48) {
18564
- updateSpinner.fail("Failed to update grab");
18534
+ updateSpinner.fail("Failed to update");
18565
18535
  logger.break();
18566
- logger.error(`Update failed. Try manually: ${highlighter.info(UPDATE_COMMANDS[packageManager])}`);
18536
+ logger.error(`Update failed. Try manually: ${highlighter.info(UPDATE_COMMAND)}`);
18567
18537
  if (error48 instanceof Error && error48.message) {
18568
18538
  logger.dim(error48.message);
18569
18539
  }
@@ -18573,7 +18543,7 @@ var update = new Command().name("update").alias("upgrade").description("update g
18573
18543
  });
18574
18544
 
18575
18545
  // src/cli.ts
18576
- var VERSION7 = "0.1.0-beta.6";
18546
+ var VERSION7 = "0.1.0-beta.7";
18577
18547
  var VERSION_API_URL = "https://www.react-grab.com/api/version";
18578
18548
  process.on("SIGINT", () => process.exit(0));
18579
18549
  process.on("SIGTERM", () => process.exit(0));
@@ -18589,4 +18559,5 @@ program.addCommand(remove);
18589
18559
  program.addCommand(configure);
18590
18560
  program.addCommand(browser);
18591
18561
  program.addCommand(update);
18562
+ program.addCommand(uninstall);
18592
18563
  program.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-grab/cli",
3
- "version": "0.1.0-beta.7",
3
+ "version": "0.1.0-beta.8",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "react-grab": "./dist/cli.js"
@@ -30,7 +30,7 @@
30
30
  "playwright-core": "^1.50.0",
31
31
  "prompts": "^2.4.2",
32
32
  "zod": "^4.3.5",
33
- "@react-grab/browser": "0.1.0-beta.7"
33
+ "@react-grab/browser": "0.1.0-beta.8"
34
34
  },
35
35
  "scripts": {
36
36
  "dev": "tsup --watch",