jorgex-stack 1.0.5 → 1.0.6
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.js +38 -12
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
// src/cli.ts
|
|
4
4
|
import * as p6 from "@clack/prompts";
|
|
5
|
+
import { pathToFileURL as pathToFileURL2 } from "url";
|
|
5
6
|
|
|
6
7
|
// src/install.ts
|
|
7
8
|
import fs11 from "fs";
|
|
@@ -2752,6 +2753,8 @@ function parseFlags(args) {
|
|
|
2752
2753
|
agents: [],
|
|
2753
2754
|
dryRun: false,
|
|
2754
2755
|
yes: false,
|
|
2756
|
+
help: false,
|
|
2757
|
+
version: false,
|
|
2755
2758
|
list: false,
|
|
2756
2759
|
check: false,
|
|
2757
2760
|
removeEngram: false,
|
|
@@ -2765,6 +2768,8 @@ function parseFlags(args) {
|
|
|
2765
2768
|
else if (arg.startsWith("--target-dir=")) flags.targetDir = arg.slice(13);
|
|
2766
2769
|
else if (arg === "--dry-run") flags.dryRun = true;
|
|
2767
2770
|
else if (arg === "--yes" || arg === "-y") flags.yes = true;
|
|
2771
|
+
else if (arg === "--help" || arg === "-h") flags.help = true;
|
|
2772
|
+
else if (arg === "--version" || arg === "-v") flags.version = true;
|
|
2768
2773
|
else if (arg === "--list") flags.list = true;
|
|
2769
2774
|
else if (arg === "--check") flags.check = true;
|
|
2770
2775
|
else if (arg === "--remove-engram") flags.removeEngram = true;
|
|
@@ -2772,6 +2777,23 @@ function parseFlags(args) {
|
|
|
2772
2777
|
}
|
|
2773
2778
|
return flags;
|
|
2774
2779
|
}
|
|
2780
|
+
function parseCliArgs(argv) {
|
|
2781
|
+
const [first, ...rest] = argv;
|
|
2782
|
+
const isCommand = COMMANDS.includes(first ?? "install");
|
|
2783
|
+
if (first !== void 0 && !isCommand && !first.startsWith("-")) {
|
|
2784
|
+
return {
|
|
2785
|
+
action: "unknown",
|
|
2786
|
+
command: "install",
|
|
2787
|
+
flags: parseFlags(rest),
|
|
2788
|
+
unknownCommand: first
|
|
2789
|
+
};
|
|
2790
|
+
}
|
|
2791
|
+
const command = isCommand ? first ?? "install" : "install";
|
|
2792
|
+
const flags = parseFlags(isCommand ? rest : argv);
|
|
2793
|
+
if (first === "--help" || first === "-h" || flags.help) return { action: "help", command, flags };
|
|
2794
|
+
if (first === "--version" || first === "-v" || flags.version) return { action: "version", command, flags };
|
|
2795
|
+
return { action: "run", command, flags };
|
|
2796
|
+
}
|
|
2775
2797
|
async function resolveRuntimes(flags) {
|
|
2776
2798
|
if (flags.agents.length > 0) return flags.agents;
|
|
2777
2799
|
const detected = Object.values(ADAPTERS).filter((a) => a.detect().installed);
|
|
@@ -2812,18 +2834,16 @@ Opciones:
|
|
|
2812
2834
|
Ver PRD.md para el dise\xF1o completo.`);
|
|
2813
2835
|
}
|
|
2814
2836
|
async function main() {
|
|
2815
|
-
const
|
|
2816
|
-
if (
|
|
2817
|
-
if (
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
console.error(`Comando desconocido: ${first}`);
|
|
2837
|
+
const parsed = parseCliArgs(process.argv.slice(2));
|
|
2838
|
+
if (parsed.action === "help") return printHelp();
|
|
2839
|
+
if (parsed.action === "version") return console.log(VERSION);
|
|
2840
|
+
if (parsed.action === "unknown") {
|
|
2841
|
+
console.error(`Comando desconocido: ${parsed.unknownCommand}`);
|
|
2821
2842
|
printHelp();
|
|
2822
2843
|
process.exitCode = 1;
|
|
2823
2844
|
return;
|
|
2824
2845
|
}
|
|
2825
|
-
const command
|
|
2826
|
-
const flags = parseFlags(isCommand ? rest : process.argv.slice(2));
|
|
2846
|
+
const { command, flags } = parsed;
|
|
2827
2847
|
if (flags.targetDir !== void 0 && flags.agents.length !== 1) {
|
|
2828
2848
|
console.error("--target-dir requiere exactamente un runtime en --agents.");
|
|
2829
2849
|
process.exitCode = 1;
|
|
@@ -2929,7 +2949,13 @@ async function main() {
|
|
|
2929
2949
|
}
|
|
2930
2950
|
}
|
|
2931
2951
|
}
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2952
|
+
if (process.argv[1] !== void 0 && import.meta.url === pathToFileURL2(process.argv[1]).href) {
|
|
2953
|
+
main().catch((err) => {
|
|
2954
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
2955
|
+
process.exitCode = 1;
|
|
2956
|
+
});
|
|
2957
|
+
}
|
|
2958
|
+
export {
|
|
2959
|
+
parseCliArgs,
|
|
2960
|
+
parseFlags
|
|
2961
|
+
};
|
package/package.json
CHANGED