@react-grab/cli 0.1.26 → 0.1.28

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 +37 -10
  2. package/dist/cli.js +38 -11
  3. package/package.json +1 -1
package/dist/cli.cjs CHANGED
@@ -345,10 +345,29 @@ var scanDirectoryForProjects = (rootDirectory, ignorer, maxDepth, currentDepth =
345
345
  var MAX_SCAN_DEPTH = 2;
346
346
  var findReactProjects = (projectRoot) => {
347
347
  if (detectMonorepo(projectRoot)) {
348
- return findWorkspaceProjects(projectRoot);
348
+ const workspaceProjects = findWorkspaceProjects(projectRoot);
349
+ if (workspaceProjects.length > 0) {
350
+ return workspaceProjects;
351
+ }
349
352
  }
350
353
  const ignorer = loadGitignore(projectRoot);
351
- return scanDirectoryForProjects(projectRoot, ignorer, MAX_SCAN_DEPTH);
354
+ const scannedProjects = scanDirectoryForProjects(
355
+ projectRoot,
356
+ ignorer,
357
+ MAX_SCAN_DEPTH
358
+ );
359
+ if (scannedProjects.length > 0) {
360
+ return scannedProjects;
361
+ }
362
+ let currentDirectory = path.dirname(projectRoot);
363
+ while (currentDirectory !== path.dirname(currentDirectory)) {
364
+ const parentProject = buildReactProject(currentDirectory);
365
+ if (parentProject) {
366
+ return [parentProject];
367
+ }
368
+ currentDirectory = path.dirname(currentDirectory);
369
+ }
370
+ return [];
352
371
  };
353
372
  var hasReactGrabInFile = (filePath) => {
354
373
  if (!fs.existsSync(filePath)) return false;
@@ -414,7 +433,6 @@ var AGENT_PACKAGES = [
414
433
  "@react-grab/codex",
415
434
  "@react-grab/gemini",
416
435
  "@react-grab/amp",
417
- "@react-grab/ami",
418
436
  "@react-grab/droid",
419
437
  "@react-grab/copilot",
420
438
  "@react-grab/mcp"
@@ -617,7 +635,8 @@ var installPackages = (packages, packageManager, projectRoot, isDev = true) => {
617
635
  `);
618
636
  child_process.execSync(fullCommand, {
619
637
  cwd: projectRoot,
620
- stdio: "inherit"
638
+ stdio: "inherit",
639
+ env: { ...process.env, REACT_GRAB_INIT: "1" }
621
640
  });
622
641
  };
623
642
  var getPackagesToInstall = (agent, includeReactGrab = true) => {
@@ -668,6 +687,14 @@ var getZedConfigPath = () => {
668
687
  }
669
688
  return path__default.default.join(os__default.default.homedir(), ".config", "zed", "settings.json");
670
689
  };
690
+ var getOpenCodeConfigPath = () => {
691
+ const configDir = path__default.default.join(getXdgConfigHome(), "opencode");
692
+ const jsoncPath = path__default.default.join(configDir, "opencode.jsonc");
693
+ const jsonPath = path__default.default.join(configDir, "opencode.json");
694
+ if (fs__default.default.existsSync(jsoncPath)) return jsoncPath;
695
+ if (fs__default.default.existsSync(jsonPath)) return jsonPath;
696
+ return jsoncPath;
697
+ };
671
698
  var getClients = () => {
672
699
  const homeDir = os__default.default.homedir();
673
700
  const baseDir = getBaseDir();
@@ -702,7 +729,7 @@ var getClients = () => {
702
729
  },
703
730
  {
704
731
  name: "OpenCode",
705
- configPath: path__default.default.join(getXdgConfigHome(), "opencode", "opencode.json"),
732
+ configPath: getOpenCodeConfigPath(),
706
733
  configKey: "mcp",
707
734
  format: "json",
708
735
  serverConfig: {
@@ -2245,7 +2272,7 @@ var previewCdnTransform = (projectRoot, framework, nextRouterType, targetCdnDoma
2245
2272
  };
2246
2273
 
2247
2274
  // src/commands/add.ts
2248
- var VERSION = "0.1.26";
2275
+ var VERSION = "0.1.28";
2249
2276
  var formatInstalledAgentNames = (agents) => agents.map((agent) => AGENT_NAMES[agent] || agent).join(", ");
2250
2277
  var add = new commander.Command().name("add").alias("install").description("connect React Grab to your agent").argument("[agent]", `agent to connect (${AGENTS.join(", ")}, mcp)`).option("-y, --yes", "skip confirmation prompts", false).option(
2251
2278
  "-c, --cwd <cwd>",
@@ -2606,7 +2633,7 @@ var MAX_KEY_HOLD_DURATION_MS = 2e3;
2606
2633
  var MAX_CONTEXT_LINES = 50;
2607
2634
 
2608
2635
  // src/commands/configure.ts
2609
- var VERSION2 = "0.1.26";
2636
+ var VERSION2 = "0.1.28";
2610
2637
  var isMac = process.platform === "darwin";
2611
2638
  var META_LABEL = isMac ? "Cmd" : "Win";
2612
2639
  var ALT_LABEL = isMac ? "Option" : "Alt";
@@ -3162,7 +3189,7 @@ var uninstallPackagesWithFeedback = (packages, packageManager, projectRoot) => {
3162
3189
  };
3163
3190
 
3164
3191
  // src/commands/init.ts
3165
- var VERSION3 = "0.1.26";
3192
+ var VERSION3 = "0.1.28";
3166
3193
  var REPORT_URL = "https://react-grab.com/api/report-cli";
3167
3194
  var DOCS_URL = "https://github.com/aidenybai/react-grab";
3168
3195
  var reportToCli = (type, config, error) => {
@@ -4021,7 +4048,7 @@ var init = new commander.Command().name("init").description("initialize React Gr
4021
4048
  reportToCli("error", void 0, error);
4022
4049
  }
4023
4050
  });
4024
- var VERSION4 = "0.1.26";
4051
+ var VERSION4 = "0.1.28";
4025
4052
  var remove = new commander.Command().name("remove").description("disconnect React Grab from your agent").argument("[agent]", `agent to disconnect (${AGENTS.join(", ")}, mcp)`).option("-y, --yes", "skip confirmation prompts", false).option(
4026
4053
  "-c, --cwd <cwd>",
4027
4054
  "working directory (defaults to current directory)",
@@ -4197,7 +4224,7 @@ var remove = new commander.Command().name("remove").description("disconnect Reac
4197
4224
  });
4198
4225
 
4199
4226
  // src/cli.ts
4200
- var VERSION5 = "0.1.26";
4227
+ var VERSION5 = "0.1.28";
4201
4228
  var VERSION_API_URL = "https://www.react-grab.com/api/version";
4202
4229
  process.on("SIGINT", () => process.exit(0));
4203
4230
  process.on("SIGTERM", () => process.exit(0));
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@ import pc from 'picocolors';
4
4
  import basePrompts from 'prompts';
5
5
  import { execSync } from 'child_process';
6
6
  import fs, { existsSync, readFileSync, writeFileSync, accessSync, constants, readdirSync } from 'fs';
7
- import path, { resolve, join, relative, basename } from 'path';
7
+ import path, { resolve, join, dirname, relative, basename } from 'path';
8
8
  import { detect } from '@antfu/ni';
9
9
  import ignore from 'ignore';
10
10
  import os from 'os';
@@ -312,10 +312,29 @@ var scanDirectoryForProjects = (rootDirectory, ignorer, maxDepth, currentDepth =
312
312
  var MAX_SCAN_DEPTH = 2;
313
313
  var findReactProjects = (projectRoot) => {
314
314
  if (detectMonorepo(projectRoot)) {
315
- return findWorkspaceProjects(projectRoot);
315
+ const workspaceProjects = findWorkspaceProjects(projectRoot);
316
+ if (workspaceProjects.length > 0) {
317
+ return workspaceProjects;
318
+ }
316
319
  }
317
320
  const ignorer = loadGitignore(projectRoot);
318
- return scanDirectoryForProjects(projectRoot, ignorer, MAX_SCAN_DEPTH);
321
+ const scannedProjects = scanDirectoryForProjects(
322
+ projectRoot,
323
+ ignorer,
324
+ MAX_SCAN_DEPTH
325
+ );
326
+ if (scannedProjects.length > 0) {
327
+ return scannedProjects;
328
+ }
329
+ let currentDirectory = dirname(projectRoot);
330
+ while (currentDirectory !== dirname(currentDirectory)) {
331
+ const parentProject = buildReactProject(currentDirectory);
332
+ if (parentProject) {
333
+ return [parentProject];
334
+ }
335
+ currentDirectory = dirname(currentDirectory);
336
+ }
337
+ return [];
319
338
  };
320
339
  var hasReactGrabInFile = (filePath) => {
321
340
  if (!existsSync(filePath)) return false;
@@ -381,7 +400,6 @@ var AGENT_PACKAGES = [
381
400
  "@react-grab/codex",
382
401
  "@react-grab/gemini",
383
402
  "@react-grab/amp",
384
- "@react-grab/ami",
385
403
  "@react-grab/droid",
386
404
  "@react-grab/copilot",
387
405
  "@react-grab/mcp"
@@ -584,7 +602,8 @@ var installPackages = (packages, packageManager, projectRoot, isDev = true) => {
584
602
  `);
585
603
  execSync(fullCommand, {
586
604
  cwd: projectRoot,
587
- stdio: "inherit"
605
+ stdio: "inherit",
606
+ env: { ...process.env, REACT_GRAB_INIT: "1" }
588
607
  });
589
608
  };
590
609
  var getPackagesToInstall = (agent, includeReactGrab = true) => {
@@ -635,6 +654,14 @@ var getZedConfigPath = () => {
635
654
  }
636
655
  return path.join(os.homedir(), ".config", "zed", "settings.json");
637
656
  };
657
+ var getOpenCodeConfigPath = () => {
658
+ const configDir = path.join(getXdgConfigHome(), "opencode");
659
+ const jsoncPath = path.join(configDir, "opencode.jsonc");
660
+ const jsonPath = path.join(configDir, "opencode.json");
661
+ if (fs.existsSync(jsoncPath)) return jsoncPath;
662
+ if (fs.existsSync(jsonPath)) return jsonPath;
663
+ return jsoncPath;
664
+ };
638
665
  var getClients = () => {
639
666
  const homeDir = os.homedir();
640
667
  const baseDir = getBaseDir();
@@ -669,7 +696,7 @@ var getClients = () => {
669
696
  },
670
697
  {
671
698
  name: "OpenCode",
672
- configPath: path.join(getXdgConfigHome(), "opencode", "opencode.json"),
699
+ configPath: getOpenCodeConfigPath(),
673
700
  configKey: "mcp",
674
701
  format: "json",
675
702
  serverConfig: {
@@ -2212,7 +2239,7 @@ var previewCdnTransform = (projectRoot, framework, nextRouterType, targetCdnDoma
2212
2239
  };
2213
2240
 
2214
2241
  // src/commands/add.ts
2215
- var VERSION = "0.1.26";
2242
+ var VERSION = "0.1.28";
2216
2243
  var formatInstalledAgentNames = (agents) => agents.map((agent) => AGENT_NAMES[agent] || agent).join(", ");
2217
2244
  var add = new Command().name("add").alias("install").description("connect React Grab to your agent").argument("[agent]", `agent to connect (${AGENTS.join(", ")}, mcp)`).option("-y, --yes", "skip confirmation prompts", false).option(
2218
2245
  "-c, --cwd <cwd>",
@@ -2573,7 +2600,7 @@ var MAX_KEY_HOLD_DURATION_MS = 2e3;
2573
2600
  var MAX_CONTEXT_LINES = 50;
2574
2601
 
2575
2602
  // src/commands/configure.ts
2576
- var VERSION2 = "0.1.26";
2603
+ var VERSION2 = "0.1.28";
2577
2604
  var isMac = process.platform === "darwin";
2578
2605
  var META_LABEL = isMac ? "Cmd" : "Win";
2579
2606
  var ALT_LABEL = isMac ? "Option" : "Alt";
@@ -3129,7 +3156,7 @@ var uninstallPackagesWithFeedback = (packages, packageManager, projectRoot) => {
3129
3156
  };
3130
3157
 
3131
3158
  // src/commands/init.ts
3132
- var VERSION3 = "0.1.26";
3159
+ var VERSION3 = "0.1.28";
3133
3160
  var REPORT_URL = "https://react-grab.com/api/report-cli";
3134
3161
  var DOCS_URL = "https://github.com/aidenybai/react-grab";
3135
3162
  var reportToCli = (type, config, error) => {
@@ -3988,7 +4015,7 @@ var init = new Command().name("init").description("initialize React Grab in your
3988
4015
  reportToCli("error", void 0, error);
3989
4016
  }
3990
4017
  });
3991
- var VERSION4 = "0.1.26";
4018
+ var VERSION4 = "0.1.28";
3992
4019
  var remove = new Command().name("remove").description("disconnect React Grab from your agent").argument("[agent]", `agent to disconnect (${AGENTS.join(", ")}, mcp)`).option("-y, --yes", "skip confirmation prompts", false).option(
3993
4020
  "-c, --cwd <cwd>",
3994
4021
  "working directory (defaults to current directory)",
@@ -4164,7 +4191,7 @@ var remove = new Command().name("remove").description("disconnect React Grab fro
4164
4191
  });
4165
4192
 
4166
4193
  // src/cli.ts
4167
- var VERSION5 = "0.1.26";
4194
+ var VERSION5 = "0.1.28";
4168
4195
  var VERSION_API_URL = "https://www.react-grab.com/api/version";
4169
4196
  process.on("SIGINT", () => process.exit(0));
4170
4197
  process.on("SIGTERM", () => process.exit(0));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-grab/cli",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "bin": {
5
5
  "react-grab": "./dist/cli.js"
6
6
  },