@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.
- package/dist/cli.cjs +37 -10
- package/dist/cli.js +38 -11
- 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
|
-
|
|
348
|
+
const workspaceProjects = findWorkspaceProjects(projectRoot);
|
|
349
|
+
if (workspaceProjects.length > 0) {
|
|
350
|
+
return workspaceProjects;
|
|
351
|
+
}
|
|
349
352
|
}
|
|
350
353
|
const ignorer = loadGitignore(projectRoot);
|
|
351
|
-
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
315
|
+
const workspaceProjects = findWorkspaceProjects(projectRoot);
|
|
316
|
+
if (workspaceProjects.length > 0) {
|
|
317
|
+
return workspaceProjects;
|
|
318
|
+
}
|
|
316
319
|
}
|
|
317
320
|
const ignorer = loadGitignore(projectRoot);
|
|
318
|
-
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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));
|