@contentrail/cli 0.2.2 → 0.2.4
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/README.md +36 -28
- package/dist/cli.d.ts +5 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +238 -140
- package/dist/cli.js.map +1 -1
- package/dist/cloudflare/pages-client.d.ts +4 -0
- package/dist/cloudflare/pages-client.d.ts.map +1 -1
- package/dist/cloudflare/pages-client.js +15 -1
- package/dist/cloudflare/pages-client.js.map +1 -1
- package/dist/commands/configure.d.ts +17 -0
- package/dist/commands/configure.d.ts.map +1 -0
- package/dist/commands/configure.js +109 -0
- package/dist/commands/configure.js.map +1 -0
- package/dist/commands/connect.d.ts +3 -0
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +37 -8
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/init-next-admin.d.ts.map +1 -1
- package/dist/commands/init-next-admin.js +34 -0
- package/dist/commands/init-next-admin.js.map +1 -1
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +141 -31
- package/dist/commands/init.js.map +1 -1
- package/dist/install/plan.d.ts +8 -0
- package/dist/install/plan.d.ts.map +1 -0
- package/dist/install/plan.js +29 -0
- package/dist/install/plan.js.map +1 -0
- package/dist/install/run.d.ts +5 -0
- package/dist/install/run.d.ts.map +1 -0
- package/dist/install/run.js +80 -0
- package/dist/install/run.js.map +1 -0
- package/dist/interactive/clack-host.d.ts +3 -0
- package/dist/interactive/clack-host.d.ts.map +1 -0
- package/dist/interactive/clack-host.js +47 -0
- package/dist/interactive/clack-host.js.map +1 -0
- package/dist/interactive/connect-wizard.d.ts +17 -0
- package/dist/interactive/connect-wizard.d.ts.map +1 -0
- package/dist/interactive/connect-wizard.js +41 -0
- package/dist/interactive/connect-wizard.js.map +1 -0
- package/dist/interactive/init-wizard.d.ts +12 -0
- package/dist/interactive/init-wizard.d.ts.map +1 -0
- package/dist/interactive/init-wizard.js +73 -0
- package/dist/interactive/init-wizard.js.map +1 -0
- package/dist/interactive/is-interactive.d.ts +9 -0
- package/dist/interactive/is-interactive.d.ts.map +1 -0
- package/dist/interactive/is-interactive.js +19 -0
- package/dist/interactive/is-interactive.js.map +1 -0
- package/dist/interactive/menu.d.ts +4 -0
- package/dist/interactive/menu.d.ts.map +1 -0
- package/dist/interactive/menu.js +55 -0
- package/dist/interactive/menu.js.map +1 -0
- package/dist/interactive/types.d.ts +34 -0
- package/dist/interactive/types.d.ts.map +1 -0
- package/dist/interactive/types.js +2 -0
- package/dist/interactive/types.js.map +1 -0
- package/package.json +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-wizard.d.ts","sourceRoot":"","sources":["../../src/interactive/init-wizard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAwF3B"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export async function promptInitOptions(host, detected) {
|
|
2
|
+
const defaultFramework = detected === "unknown" || detected === "static"
|
|
3
|
+
? "static"
|
|
4
|
+
: detected === "astro" || detected === "vite" || detected === "next"
|
|
5
|
+
? detected
|
|
6
|
+
: "static";
|
|
7
|
+
const frameworkOptions = [
|
|
8
|
+
{
|
|
9
|
+
value: "next",
|
|
10
|
+
label: "Next.js (static export)",
|
|
11
|
+
...(defaultFramework === "next" ? { hint: "detected" } : {}),
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
value: "astro",
|
|
15
|
+
label: "Astro",
|
|
16
|
+
...(defaultFramework === "astro" ? { hint: "detected" } : {}),
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
value: "vite",
|
|
20
|
+
label: "Vite",
|
|
21
|
+
...(defaultFramework === "vite" ? { hint: "detected" } : {}),
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
value: "static",
|
|
25
|
+
label: "Generic static / React SPA",
|
|
26
|
+
...(defaultFramework === "static" ? { hint: "detected" } : {}),
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
const framework = await host.select("Which site stack should ContentRail target?", frameworkOptions);
|
|
30
|
+
if (host.isCancel(framework)) {
|
|
31
|
+
host.cancel("Setup cancelled.");
|
|
32
|
+
return cancelledResult();
|
|
33
|
+
}
|
|
34
|
+
const withEditor = await host.confirm("Generate editor metadata (contentrail.editor.json)?", true);
|
|
35
|
+
if (host.isCancel(withEditor)) {
|
|
36
|
+
host.cancel("Setup cancelled.");
|
|
37
|
+
return cancelledResult();
|
|
38
|
+
}
|
|
39
|
+
const withFunctions = await host.confirm("Add Cloudflare Pages Functions templates (/api)?", true);
|
|
40
|
+
if (host.isCancel(withFunctions)) {
|
|
41
|
+
host.cancel("Setup cancelled.");
|
|
42
|
+
return cancelledResult();
|
|
43
|
+
}
|
|
44
|
+
const force = await host.confirm("Overwrite existing ContentRail files if present?", false);
|
|
45
|
+
if (host.isCancel(force)) {
|
|
46
|
+
host.cancel("Setup cancelled.");
|
|
47
|
+
return cancelledResult();
|
|
48
|
+
}
|
|
49
|
+
const install = await host.confirm("Install ContentRail packages into this project now?", true);
|
|
50
|
+
if (host.isCancel(install)) {
|
|
51
|
+
host.cancel("Setup cancelled.");
|
|
52
|
+
return cancelledResult();
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
framework,
|
|
56
|
+
withEditor,
|
|
57
|
+
withFunctions,
|
|
58
|
+
force,
|
|
59
|
+
install,
|
|
60
|
+
cancelled: false,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function cancelledResult() {
|
|
64
|
+
return {
|
|
65
|
+
framework: "static",
|
|
66
|
+
withEditor: true,
|
|
67
|
+
withFunctions: true,
|
|
68
|
+
force: false,
|
|
69
|
+
install: false,
|
|
70
|
+
cancelled: true,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=init-wizard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-wizard.js","sourceRoot":"","sources":["../../src/interactive/init-wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive prompts require a real TTY and a non-CI environment.
|
|
3
|
+
* `--yes` / `-y` always forces non-interactive command paths.
|
|
4
|
+
*/
|
|
5
|
+
export declare function canUseInteractiveUi(env?: NodeJS.ProcessEnv, streams?: {
|
|
6
|
+
readonly stdin?: NodeJS.ReadStream;
|
|
7
|
+
readonly stdout?: NodeJS.WritableStream;
|
|
8
|
+
}): boolean;
|
|
9
|
+
//# sourceMappingURL=is-interactive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-interactive.d.ts","sourceRoot":"","sources":["../../src/interactive/is-interactive.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,OAAO,GAAE;IACP,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CACpC,GACL,OAAO,CAaT"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive prompts require a real TTY and a non-CI environment.
|
|
3
|
+
* `--yes` / `-y` always forces non-interactive command paths.
|
|
4
|
+
*/
|
|
5
|
+
export function canUseInteractiveUi(env = process.env, streams = {}) {
|
|
6
|
+
if (env.CI === "true" || env.CI === "1") {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
if (env.CONTENTRAIL_FORCE_INTERACTIVE === "1") {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
if (env.CONTENTRAIL_NO_INTERACTIVE === "1") {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
const stdin = streams.stdin ?? process.stdin;
|
|
16
|
+
const stdout = streams.stdout ?? process.stdout;
|
|
17
|
+
return Boolean(stdin.isTTY) && Boolean("isTTY" in stdout && stdout.isTTY);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=is-interactive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-interactive.js","sourceRoot":"","sources":["../../src/interactive/is-interactive.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAyB,OAAO,CAAC,GAAG,EACpC,UAGI,EAAE;IAEN,IAAI,GAAG,CAAC,EAAE,KAAK,MAAM,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,6BAA6B,KAAK,GAAG,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,CAAC,0BAA0B,KAAK,GAAG,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAChD,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/interactive/menu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC,CA2DnC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export async function runMainMenu(host, log) {
|
|
2
|
+
host.intro(`ContentRail — configure your static site`);
|
|
3
|
+
host.note([
|
|
4
|
+
"You keep your pages, routes, and design.",
|
|
5
|
+
"ContentRail adds schemas, /admin, Git publish, and Pages helpers.",
|
|
6
|
+
"Configure Git + Cloudflare here; secrets stay in env / dashboard.",
|
|
7
|
+
].join("\n"), "Developer owns the site");
|
|
8
|
+
const action = await host.select("What do you want to do?", [
|
|
9
|
+
{
|
|
10
|
+
value: "setup",
|
|
11
|
+
label: "Setup ContentRail",
|
|
12
|
+
hint: "init + install packages for this site",
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
value: "connect",
|
|
16
|
+
label: "Connect GitHub + Cloudflare Pages",
|
|
17
|
+
hint: "needs CF_API_TOKEN in your environment",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
value: "configure",
|
|
21
|
+
label: "Configure admin password + secrets",
|
|
22
|
+
hint: "pushes username/password and GitHub token to Pages",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
value: "doctor",
|
|
26
|
+
label: "Doctor",
|
|
27
|
+
hint: "diagnose local setup",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
value: "status",
|
|
31
|
+
label: "Status",
|
|
32
|
+
hint: "summarize project state",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
value: "deploy",
|
|
36
|
+
label: "Deploy",
|
|
37
|
+
hint: "build and deploy to Pages",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
value: "help",
|
|
41
|
+
label: "Show command help",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
value: "exit",
|
|
45
|
+
label: "Exit",
|
|
46
|
+
},
|
|
47
|
+
]);
|
|
48
|
+
if (host.isCancel(action)) {
|
|
49
|
+
host.cancel("Cancelled.");
|
|
50
|
+
return "cancelled";
|
|
51
|
+
}
|
|
52
|
+
log.info(`Selected: ${action}`);
|
|
53
|
+
return action;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/interactive/menu.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAgB,EAChB,GAAW;IAEX,IAAI,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,CACP;QACE,0CAA0C;QAC1C,mEAAmE;QACnE,mEAAmE;KACpE,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,yBAAyB,CAC1B,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAa,yBAAyB,EAAE;QACtE;YACE,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,uCAAuC;SAC9C;QACD;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,mCAAmC;YAC1C,IAAI,EAAE,wCAAwC;SAC/C;QACD;YACE,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,oCAAoC;YAC3C,IAAI,EAAE,oDAAoD;SAC3D;QACD;YACE,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,sBAAsB;SAC7B;QACD;YACE,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,yBAAyB;SAChC;QACD;YACE,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,2BAA2B;SAClC;QACD;YACE,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,mBAAmB;SAC3B;QACD;YACE,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,MAAM;SACd;KACF,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type MenuAction = "setup" | "connect" | "configure" | "doctor" | "status" | "deploy" | "help" | "exit";
|
|
2
|
+
export interface SelectOption<T extends string> {
|
|
3
|
+
readonly value: T;
|
|
4
|
+
readonly label: string;
|
|
5
|
+
readonly hint?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface PromptHost {
|
|
8
|
+
intro(message: string): void;
|
|
9
|
+
outro(message: string): void;
|
|
10
|
+
note(message: string, title?: string): void;
|
|
11
|
+
select<T extends string>(message: string, options: readonly SelectOption<T>[]): Promise<T | symbol>;
|
|
12
|
+
confirm(message: string, initial?: boolean): Promise<boolean | symbol>;
|
|
13
|
+
text(message: string, options?: {
|
|
14
|
+
readonly placeholder?: string;
|
|
15
|
+
readonly initialValue?: string;
|
|
16
|
+
}): Promise<string | symbol>;
|
|
17
|
+
cancel(message?: string): void;
|
|
18
|
+
isCancel(value: unknown): value is symbol;
|
|
19
|
+
}
|
|
20
|
+
export interface InstallPlan {
|
|
21
|
+
readonly dependencies: readonly string[];
|
|
22
|
+
readonly devDependencies: readonly string[];
|
|
23
|
+
}
|
|
24
|
+
export interface InstallResult {
|
|
25
|
+
readonly ok: boolean;
|
|
26
|
+
readonly skipped: boolean;
|
|
27
|
+
readonly detail: string;
|
|
28
|
+
}
|
|
29
|
+
export type InstallDepsFn = (input: {
|
|
30
|
+
readonly projectRoot: string;
|
|
31
|
+
readonly plan: InstallPlan;
|
|
32
|
+
readonly dryRun: boolean;
|
|
33
|
+
}) => Promise<InstallResult>;
|
|
34
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/interactive/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,SAAS,GACT,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,MAAM,CAAC;AAEX,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,MAAM;IAC5C,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,CAAC,SAAS,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,GAClC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IACvB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACvE,IAAI,CACF,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1E,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/interactive/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentrail/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
|
-
"description": "ContentRail developer CLI
|
|
6
|
+
"description": "ContentRail developer CLI — interactive setup, init, validate, build, doctor, connect, deploy.",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"engines": {
|
|
9
9
|
"node": ">=22"
|
|
@@ -26,10 +26,11 @@
|
|
|
26
26
|
"LICENSE"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
+
"@clack/prompts": "^1.8.1",
|
|
29
30
|
"jiti": "^2.6.1",
|
|
30
31
|
"zod": "^4.6.7",
|
|
31
|
-
"@contentrail/core": "0.2.
|
|
32
|
-
"@contentrail/reader": "0.2.
|
|
32
|
+
"@contentrail/core": "0.2.4",
|
|
33
|
+
"@contentrail/reader": "0.2.4"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
36
|
"@types/node": "^22.20.5",
|