@contentrail/cli 0.2.0 → 0.2.2
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 +27 -21
- package/dist/cli.d.ts +9 -5
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +253 -31
- package/dist/cli.js.map +1 -1
- package/dist/cloudflare/pages-client.d.ts +52 -0
- package/dist/cloudflare/pages-client.d.ts.map +1 -0
- package/dist/cloudflare/pages-client.js +118 -0
- package/dist/cloudflare/pages-client.js.map +1 -0
- package/dist/commands/connect.d.ts +15 -0
- package/dist/commands/connect.d.ts.map +1 -0
- package/dist/commands/connect.js +132 -0
- package/dist/commands/connect.js.map +1 -0
- package/dist/commands/deploy.d.ts +19 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +136 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/dev.d.ts +4 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/commands/dev.js +31 -0
- package/dist/commands/dev.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +47 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/import.d.ts +10 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +87 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/init-next-admin.d.ts +7 -0
- package/dist/commands/init-next-admin.d.ts.map +1 -0
- package/dist/commands/init-next-admin.js +170 -0
- package/dist/commands/init-next-admin.js.map +1 -0
- package/dist/commands/init.d.ts +3 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +212 -15
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pages.d.ts +2 -0
- package/dist/commands/pages.d.ts.map +1 -0
- package/dist/commands/pages.js +2 -0
- package/dist/commands/pages.js.map +1 -0
- package/dist/commands/publish.d.ts +15 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +105 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/config/save.d.ts +4 -0
- package/dist/config/save.d.ts.map +1 -0
- package/dist/config/save.js +22 -0
- package/dist/config/save.js.map +1 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +62 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/types.d.ts +24 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/detect/framework.d.ts +1 -1
- package/dist/detect/framework.d.ts.map +1 -1
- package/dist/detect/framework.js +9 -2
- package/dist/detect/framework.js.map +1 -1
- package/dist/editor/validate-config.d.ts.map +1 -1
- package/dist/editor/validate-config.js +16 -2
- package/dist/editor/validate-config.js.map +1 -1
- package/dist/git/remote.d.ts +8 -0
- package/dist/git/remote.d.ts.map +1 -0
- package/dist/git/remote.js +32 -0
- package/dist/git/remote.js.map +1 -0
- package/dist/import/csv.d.ts +6 -0
- package/dist/import/csv.d.ts.map +1 -0
- package/dist/import/csv.js +78 -0
- package/dist/import/csv.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Node.js CLI for ContentRail local development (ADR 020).
|
|
4
4
|
|
|
5
|
-
Requires **Node.js ≥ 22**.
|
|
6
|
-
|
|
7
|
-
Node ≥ **22.12**).
|
|
5
|
+
Requires **Node.js ≥ 22**. Init works on any static site (`framework: "static"`).
|
|
6
|
+
Astro and Vite have extra helpers (Astro **7.3.8**, Vite **8.3.5**;
|
|
7
|
+
`@contentrail/astro` needs Node ≥ **22.12**).
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
@@ -16,10 +16,10 @@ pnpm --filter @contentrail/cli build
|
|
|
16
16
|
pnpm exec contentrail --help
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
### From npm (
|
|
19
|
+
### From npm (`0.2.2`)
|
|
20
20
|
|
|
21
21
|
```sh
|
|
22
|
-
pnpm add -D @contentrail/cli@0.2.
|
|
22
|
+
pnpm add -D @contentrail/cli@0.2.2
|
|
23
23
|
pnpm exec contentrail --help
|
|
24
24
|
```
|
|
25
25
|
|
|
@@ -28,15 +28,20 @@ schemas use Zod **`^4.6.7`** via `@contentrail/core`.
|
|
|
28
28
|
|
|
29
29
|
## Commands
|
|
30
30
|
|
|
31
|
-
| Command
|
|
32
|
-
|
|
|
33
|
-
| `contentrail init`
|
|
34
|
-
| `contentrail validate`
|
|
35
|
-
| `contentrail build`
|
|
36
|
-
| `contentrail doctor`
|
|
37
|
-
| `contentrail status`
|
|
38
|
-
|
|
39
|
-
`
|
|
31
|
+
| Command | Purpose |
|
|
32
|
+
| --------------------------- | --------------------------------------------------------------------------------- |
|
|
33
|
+
| `contentrail init` | Scaffold config, sample collection, sample JSON (`--with-functions`, `--dry-run`) |
|
|
34
|
+
| `contentrail validate` | Validate config + local JSON content |
|
|
35
|
+
| `contentrail build` | Validate, then run `package.json` build script |
|
|
36
|
+
| `contentrail doctor` | Diagnose setup (no secret values printed) |
|
|
37
|
+
| `contentrail status` | Summarize local readiness |
|
|
38
|
+
| `contentrail dev` | Run `package.json` `dev` |
|
|
39
|
+
| `contentrail import` | CSV → validated JSON for a registered collection |
|
|
40
|
+
| `contentrail publish` | POST local JSON to `publishApiUrl` (env token) |
|
|
41
|
+
| `contentrail deploy status` | Pages deployment status (`CF_API_TOKEN`) |
|
|
42
|
+
| `contentrail pages setup` | Print Cloudflare automation capabilities |
|
|
43
|
+
|
|
44
|
+
`rollback` is API-only. `publish` never sends GitHub tokens (ADR 020). See `docs/CONFIGURATION.md`.
|
|
40
45
|
|
|
41
46
|
### Exit codes
|
|
42
47
|
|
|
@@ -66,17 +71,18 @@ schemas use Zod **`^4.6.7`** via `@contentrail/core`.
|
|
|
66
71
|
|
|
67
72
|
## Typical workflow
|
|
68
73
|
|
|
69
|
-
1. Create an Astro or
|
|
70
|
-
2. Add `@contentrail/core` + `zod`, plus `@contentrail/astro` or `@contentrail/vite`
|
|
71
|
-
|
|
72
|
-
3. `pnpm exec contentrail init --framework vite` (or `astro`)
|
|
74
|
+
1. Create an Astro, Vite, or Next.js app (or use a monorepo `examples/*` app).
|
|
75
|
+
2. Add `@contentrail/core` + `zod@^4.6.7`, plus `@contentrail/astro` or `@contentrail/vite`
|
|
76
|
+
when using those frameworks. Next.js uses `vite@^8.3.5` only to bundle `/admin`.
|
|
77
|
+
3. `pnpm exec contentrail init --framework vite` (or `astro` / `next`)
|
|
73
78
|
4. Edit collections / JSON under `content/`
|
|
74
79
|
5. `pnpm exec contentrail validate`
|
|
75
80
|
6. Framework `dev` / `contentrail build`
|
|
76
|
-
7.
|
|
81
|
+
7. For `/admin`, add `@contentrail/editor` + `preact@^10.26.0` (`docs/ADMIN.md`)
|
|
82
|
+
8. `contentrail doctor` when something fails
|
|
77
83
|
|
|
78
84
|
## Limitations
|
|
79
85
|
|
|
80
|
-
-
|
|
86
|
+
- CLI publish talks only to `publishApiUrl` with `CONTENTRAIL_PUBLISH_TOKEN`. GitHub write tokens stay on the Worker/Pages Functions (ADR 020/027).
|
|
87
|
+
- `pages setup` does not create Cloudflare resources.
|
|
81
88
|
- Collection TypeScript modules are loaded via **jiti**.
|
|
82
|
-
- Lint/format tooling remains a separate monorepo gap.
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { ExitCode } from "./exit-codes.js";
|
|
2
|
-
export
|
|
3
|
-
cwd?: string;
|
|
4
|
-
stdout?: NodeJS.WritableStream;
|
|
5
|
-
stderr?: NodeJS.WritableStream;
|
|
6
|
-
|
|
2
|
+
export interface RunCliOptions {
|
|
3
|
+
readonly cwd?: string;
|
|
4
|
+
readonly stdout?: NodeJS.WritableStream;
|
|
5
|
+
readonly stderr?: NodeJS.WritableStream;
|
|
6
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
7
|
+
readonly fetchImpl?: typeof fetch;
|
|
8
|
+
readonly gitRemoteUrl?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function runCli(argv: readonly string[], options?: RunCliOptions): Promise<ExitCode>;
|
|
7
11
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAoI3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,QAAQ,CAAC,CA+MnB"}
|
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { runBuild } from "./commands/build.js";
|
|
4
|
+
import { runConnect } from "./commands/connect.js";
|
|
5
|
+
import { runDeploy, runDeployStatus } from "./commands/deploy.js";
|
|
6
|
+
import { runDev } from "./commands/dev.js";
|
|
4
7
|
import { runDoctor } from "./commands/doctor.js";
|
|
8
|
+
import { runImport } from "./commands/import.js";
|
|
5
9
|
import { runInit } from "./commands/init.js";
|
|
10
|
+
import { runPublish } from "./commands/publish.js";
|
|
6
11
|
import { runStatus } from "./commands/status.js";
|
|
7
12
|
import { runValidate } from "./commands/validate.js";
|
|
8
13
|
import { loadProject } from "./config/load.js";
|
|
@@ -16,23 +21,54 @@ Usage:
|
|
|
16
21
|
contentrail <command> [options]
|
|
17
22
|
|
|
18
23
|
Commands:
|
|
19
|
-
init
|
|
20
|
-
validate
|
|
21
|
-
build
|
|
22
|
-
doctor
|
|
23
|
-
status
|
|
24
|
+
init Add ContentRail to an existing static site (any framework)
|
|
25
|
+
validate Validate configuration and local JSON content
|
|
26
|
+
build Validate then run the project build script
|
|
27
|
+
doctor Diagnose common setup problems
|
|
28
|
+
status Summarize local project state
|
|
29
|
+
dev Run the project's package.json "dev" script
|
|
30
|
+
import Import a local CSV file into a registered collection
|
|
31
|
+
publish POST local JSON to the configured publish API (needs token)
|
|
32
|
+
connect Record GitHub origin + create/patch their Cloudflare Pages project
|
|
33
|
+
deploy Build and deploy to their Cloudflare Pages project
|
|
34
|
+
deploy status Fetch Cloudflare Pages deployment status
|
|
35
|
+
pages setup Alias for connect
|
|
24
36
|
|
|
25
37
|
Global options:
|
|
26
38
|
-h, --help Show help
|
|
27
39
|
-V, --version Show version
|
|
28
40
|
-C, --cwd <dir> Project directory (default: current working directory)
|
|
41
|
+
--dry-run Print planned actions without writing or calling APIs
|
|
29
42
|
|
|
30
43
|
init options:
|
|
31
|
-
--framework <astro|vite> Force framework (default: auto-detect)
|
|
44
|
+
--framework <astro|vite|next|static> Force framework (default: auto-detect)
|
|
32
45
|
--force Overwrite existing generated files
|
|
33
|
-
--
|
|
46
|
+
--no-editor Skip contentrail.editor.json
|
|
47
|
+
--no-functions Skip Pages Functions templates
|
|
34
48
|
-y, --yes Non-interactive; accept defaults
|
|
35
49
|
|
|
50
|
+
connect / deploy:
|
|
51
|
+
--confirm --yes Required to create or change Pages projects
|
|
52
|
+
--account-id --project Cloudflare account and Pages project name
|
|
53
|
+
--skip-build Deploy without running the site build
|
|
54
|
+
|
|
55
|
+
import options:
|
|
56
|
+
--collection <name> Registered collection name
|
|
57
|
+
--file <path> Local CSV path
|
|
58
|
+
--force Overwrite existing JSON entry files
|
|
59
|
+
|
|
60
|
+
publish options:
|
|
61
|
+
--collection <name>
|
|
62
|
+
--expected-version <sha-or-version|null>
|
|
63
|
+
|
|
64
|
+
deploy status options:
|
|
65
|
+
--account-id <id>
|
|
66
|
+
--project <pages-project-name>
|
|
67
|
+
|
|
68
|
+
pages setup options:
|
|
69
|
+
--confirm Required before any Cloudflare mutation (still blocked in CLI)
|
|
70
|
+
-y, --yes Non-interactive confirmation
|
|
71
|
+
|
|
36
72
|
Exit codes:
|
|
37
73
|
0 success
|
|
38
74
|
1 failure (validation/build/doctor)
|
|
@@ -40,17 +76,17 @@ Exit codes:
|
|
|
40
76
|
3 configuration error
|
|
41
77
|
|
|
42
78
|
Notes:
|
|
43
|
-
|
|
44
|
-
|
|
79
|
+
rollback is not a CLI command. Use the authenticated Worker/Pages API.
|
|
80
|
+
CLI publish never sends GitHub tokens; it uses CONTENTRAIL_PUBLISH_TOKEN.
|
|
45
81
|
`;
|
|
46
82
|
function printCommandHelp(command) {
|
|
47
83
|
switch (command) {
|
|
48
84
|
case "init":
|
|
49
|
-
return `Usage: contentrail init [--framework astro|vite] [--force] [--with-editor] [-y]
|
|
85
|
+
return `Usage: contentrail init [--framework astro|vite|static] [--force] [--with-editor] [--with-functions] [--dry-run] [-y]
|
|
50
86
|
|
|
51
87
|
Creates contentrail.config.json, a sample collection module, and sample JSON.
|
|
52
|
-
|
|
53
|
-
|
|
88
|
+
Works on Next.js, React, vanilla, Astro, and Vite sites. Does not generate the public site.
|
|
89
|
+
Never overwrites existing files unless --force is set.`;
|
|
54
90
|
case "validate":
|
|
55
91
|
return `Usage: contentrail validate
|
|
56
92
|
|
|
@@ -63,13 +99,38 @@ Runs validate, then the package.json script named by buildScript (default: build
|
|
|
63
99
|
case "doctor":
|
|
64
100
|
return `Usage: contentrail doctor
|
|
65
101
|
|
|
66
|
-
Checks Node version, framework deps, config, content, validation,
|
|
67
|
-
remote env var *names* are set (values never printed).`;
|
|
102
|
+
Checks Node version, framework deps, config, content, validation, git, Pages
|
|
103
|
+
Functions files, and whether remote env var *names* are set (values never printed).`;
|
|
68
104
|
case "status":
|
|
69
105
|
return `Usage: contentrail status
|
|
70
106
|
|
|
71
107
|
Reports framework, collections, validation, build readiness, and whether a
|
|
72
108
|
publishApiUrl is configured (does not probe live deployment health).`;
|
|
109
|
+
case "dev":
|
|
110
|
+
return `Usage: contentrail dev
|
|
111
|
+
|
|
112
|
+
Runs the package.json "dev" script via the detected package manager.`;
|
|
113
|
+
case "import":
|
|
114
|
+
return `Usage: contentrail import --collection <name> --file <file.csv> [--dry-run] [--force]
|
|
115
|
+
|
|
116
|
+
Parses CSV locally, validates rows against the registered collection, writes JSON.`;
|
|
117
|
+
case "publish":
|
|
118
|
+
return `Usage: contentrail publish --collection <name> [--expected-version <value>] [--dry-run]
|
|
119
|
+
|
|
120
|
+
POSTs local JSON to publishApiUrl. Requires CONTENTRAIL_PUBLISH_TOKEN and CONTENTRAIL_SITE_ID.`;
|
|
121
|
+
case "connect":
|
|
122
|
+
return `Usage: contentrail connect [--confirm --yes] [--account-id <id>] [--project <name>] [--dry-run]
|
|
123
|
+
|
|
124
|
+
Reads git origin, lists Cloudflare accounts, creates or patches the Pages project.`;
|
|
125
|
+
case "deploy":
|
|
126
|
+
return `Usage: contentrail deploy [--skip-build] [--dry-run]
|
|
127
|
+
contentrail deploy status [--account-id <id>] [--project <name>]
|
|
128
|
+
|
|
129
|
+
Reads Cloudflare Pages deployment status. Requires CF_API_TOKEN.`;
|
|
130
|
+
case "pages":
|
|
131
|
+
return `Usage: contentrail pages setup [--dry-run] [--confirm] [-y]
|
|
132
|
+
|
|
133
|
+
Prints the Cloudflare automation capability map. Does not mutate production.`;
|
|
73
134
|
default:
|
|
74
135
|
return HELP;
|
|
75
136
|
}
|
|
@@ -78,7 +139,7 @@ export async function runCli(argv, options) {
|
|
|
78
139
|
const log = createLogger(options?.stdout, options?.stderr);
|
|
79
140
|
const baseCwd = options?.cwd ?? process.cwd();
|
|
80
141
|
try {
|
|
81
|
-
const { command, flags, cwd } = parseArgv(argv, baseCwd);
|
|
142
|
+
const { command, subcommand, flags, cwd } = parseArgv(argv, baseCwd);
|
|
82
143
|
if (flags.version) {
|
|
83
144
|
log.info(VERSION);
|
|
84
145
|
return ExitCode.Success;
|
|
@@ -90,13 +151,16 @@ export async function runCli(argv, options) {
|
|
|
90
151
|
return ExitCode.Success;
|
|
91
152
|
}
|
|
92
153
|
const projectRoot = findProjectRoot(cwd);
|
|
154
|
+
const env = options?.env ?? process.env;
|
|
93
155
|
switch (command) {
|
|
94
156
|
case "init": {
|
|
95
157
|
const framework = flags.framework;
|
|
96
158
|
if (framework !== undefined &&
|
|
97
159
|
framework !== "astro" &&
|
|
98
|
-
framework !== "vite"
|
|
99
|
-
|
|
160
|
+
framework !== "vite" &&
|
|
161
|
+
framework !== "static" &&
|
|
162
|
+
framework !== "next") {
|
|
163
|
+
log.error('--framework must be "astro", "vite", "next", or "static".');
|
|
100
164
|
return ExitCode.Usage;
|
|
101
165
|
}
|
|
102
166
|
return runInit({
|
|
@@ -104,6 +168,8 @@ export async function runCli(argv, options) {
|
|
|
104
168
|
...(framework !== undefined ? { framework } : {}),
|
|
105
169
|
force: flags.force,
|
|
106
170
|
withEditor: flags.withEditor,
|
|
171
|
+
withFunctions: flags.withFunctions,
|
|
172
|
+
dryRun: flags.dryRun,
|
|
107
173
|
yes: flags.yes,
|
|
108
174
|
}, log);
|
|
109
175
|
}
|
|
@@ -119,9 +185,107 @@ export async function runCli(argv, options) {
|
|
|
119
185
|
return runDoctor(projectRoot, log);
|
|
120
186
|
case "status":
|
|
121
187
|
return runStatus(projectRoot, log);
|
|
122
|
-
case "
|
|
188
|
+
case "dev":
|
|
189
|
+
return runDev(projectRoot, log);
|
|
190
|
+
case "import": {
|
|
191
|
+
if (flags.collection === undefined || flags.file === undefined) {
|
|
192
|
+
log.error("import requires --collection and --file.");
|
|
193
|
+
return ExitCode.Usage;
|
|
194
|
+
}
|
|
195
|
+
return runImport({
|
|
196
|
+
projectRoot,
|
|
197
|
+
collection: flags.collection,
|
|
198
|
+
file: flags.file,
|
|
199
|
+
dryRun: flags.dryRun,
|
|
200
|
+
force: flags.force,
|
|
201
|
+
}, log);
|
|
202
|
+
}
|
|
203
|
+
case "publish": {
|
|
204
|
+
if (flags.collection === undefined) {
|
|
205
|
+
log.error("publish requires --collection.");
|
|
206
|
+
return ExitCode.Usage;
|
|
207
|
+
}
|
|
208
|
+
return runPublish({
|
|
209
|
+
projectRoot,
|
|
210
|
+
collection: flags.collection,
|
|
211
|
+
dryRun: flags.dryRun,
|
|
212
|
+
env,
|
|
213
|
+
...(flags.expectedVersion !== undefined
|
|
214
|
+
? {
|
|
215
|
+
expectedVersion: flags.expectedVersion === "null"
|
|
216
|
+
? null
|
|
217
|
+
: flags.expectedVersion,
|
|
218
|
+
}
|
|
219
|
+
: {}),
|
|
220
|
+
...(options?.fetchImpl !== undefined
|
|
221
|
+
? { fetchImpl: options.fetchImpl }
|
|
222
|
+
: {}),
|
|
223
|
+
}, log);
|
|
224
|
+
}
|
|
225
|
+
case "connect":
|
|
226
|
+
case "pages": {
|
|
227
|
+
if (command === "pages" && subcommand !== "setup") {
|
|
228
|
+
log.error("Use `contentrail pages setup` or `contentrail connect`.");
|
|
229
|
+
return ExitCode.Usage;
|
|
230
|
+
}
|
|
231
|
+
return runConnect({
|
|
232
|
+
projectRoot,
|
|
233
|
+
dryRun: flags.dryRun,
|
|
234
|
+
confirm: flags.confirm,
|
|
235
|
+
yes: flags.yes,
|
|
236
|
+
env,
|
|
237
|
+
...(flags.accountId !== undefined
|
|
238
|
+
? { accountId: flags.accountId }
|
|
239
|
+
: {}),
|
|
240
|
+
...(flags.project !== undefined
|
|
241
|
+
? { projectName: flags.project }
|
|
242
|
+
: {}),
|
|
243
|
+
...(options?.fetchImpl !== undefined
|
|
244
|
+
? { fetchImpl: options.fetchImpl }
|
|
245
|
+
: {}),
|
|
246
|
+
...(options?.gitRemoteUrl !== undefined
|
|
247
|
+
? { gitRemoteUrl: options.gitRemoteUrl }
|
|
248
|
+
: {}),
|
|
249
|
+
}, log);
|
|
250
|
+
}
|
|
251
|
+
case "deploy": {
|
|
252
|
+
if (subcommand === "status") {
|
|
253
|
+
return runDeployStatus({
|
|
254
|
+
projectRoot,
|
|
255
|
+
env,
|
|
256
|
+
...(flags.accountId !== undefined
|
|
257
|
+
? { accountId: flags.accountId }
|
|
258
|
+
: {}),
|
|
259
|
+
...(flags.project !== undefined
|
|
260
|
+
? { projectName: flags.project }
|
|
261
|
+
: {}),
|
|
262
|
+
...(options?.fetchImpl !== undefined
|
|
263
|
+
? { fetchImpl: options.fetchImpl }
|
|
264
|
+
: {}),
|
|
265
|
+
}, log);
|
|
266
|
+
}
|
|
267
|
+
if (subcommand !== undefined) {
|
|
268
|
+
log.error("Use `contentrail deploy` or `contentrail deploy status`.");
|
|
269
|
+
return ExitCode.Usage;
|
|
270
|
+
}
|
|
271
|
+
return runDeploy({
|
|
272
|
+
projectRoot,
|
|
273
|
+
env,
|
|
274
|
+
skipBuild: flags.skipBuild,
|
|
275
|
+
dryRun: flags.dryRun,
|
|
276
|
+
...(flags.accountId !== undefined
|
|
277
|
+
? { accountId: flags.accountId }
|
|
278
|
+
: {}),
|
|
279
|
+
...(flags.project !== undefined
|
|
280
|
+
? { projectName: flags.project }
|
|
281
|
+
: {}),
|
|
282
|
+
...(options?.fetchImpl !== undefined
|
|
283
|
+
? { fetchImpl: options.fetchImpl }
|
|
284
|
+
: {}),
|
|
285
|
+
}, log);
|
|
286
|
+
}
|
|
123
287
|
case "rollback":
|
|
124
|
-
log.error(
|
|
288
|
+
log.error('Command "rollback" is not implemented in the CLI. Use the authenticated Worker or Pages API.');
|
|
125
289
|
return ExitCode.Usage;
|
|
126
290
|
default:
|
|
127
291
|
log.error(`Unknown command "${command}". Run contentrail --help.`);
|
|
@@ -142,13 +306,25 @@ export async function runCli(argv, options) {
|
|
|
142
306
|
}
|
|
143
307
|
function parseArgv(argv, baseCwd) {
|
|
144
308
|
let command;
|
|
309
|
+
let subcommand;
|
|
145
310
|
let cwd = baseCwd;
|
|
146
311
|
const flags = {
|
|
147
312
|
help: false,
|
|
148
313
|
version: false,
|
|
149
314
|
force: false,
|
|
150
|
-
withEditor:
|
|
315
|
+
withEditor: true,
|
|
316
|
+
withFunctions: true,
|
|
151
317
|
yes: false,
|
|
318
|
+
dryRun: false,
|
|
319
|
+
confirm: false,
|
|
320
|
+
skipBuild: false,
|
|
321
|
+
};
|
|
322
|
+
const take = (index, flag) => {
|
|
323
|
+
const value = argv[index];
|
|
324
|
+
if (value === undefined || value.startsWith("-")) {
|
|
325
|
+
throw new Error(`${flag} requires a value.`);
|
|
326
|
+
}
|
|
327
|
+
return value;
|
|
152
328
|
};
|
|
153
329
|
for (let i = 0; i < argv.length; i += 1) {
|
|
154
330
|
const arg = argv[i];
|
|
@@ -168,25 +344,66 @@ function parseArgv(argv, baseCwd) {
|
|
|
168
344
|
flags.withEditor = true;
|
|
169
345
|
continue;
|
|
170
346
|
}
|
|
347
|
+
if (arg === "--with-functions") {
|
|
348
|
+
flags.withFunctions = true;
|
|
349
|
+
continue;
|
|
350
|
+
}
|
|
351
|
+
if (arg === "--no-editor") {
|
|
352
|
+
flags.withEditor = false;
|
|
353
|
+
continue;
|
|
354
|
+
}
|
|
355
|
+
if (arg === "--no-functions") {
|
|
356
|
+
flags.withFunctions = false;
|
|
357
|
+
continue;
|
|
358
|
+
}
|
|
359
|
+
if (arg === "--skip-build") {
|
|
360
|
+
flags.skipBuild = true;
|
|
361
|
+
continue;
|
|
362
|
+
}
|
|
171
363
|
if (arg === "--yes" || arg === "-y") {
|
|
172
364
|
flags.yes = true;
|
|
173
365
|
continue;
|
|
174
366
|
}
|
|
367
|
+
if (arg === "--dry-run") {
|
|
368
|
+
flags.dryRun = true;
|
|
369
|
+
continue;
|
|
370
|
+
}
|
|
371
|
+
if (arg === "--confirm") {
|
|
372
|
+
flags.confirm = true;
|
|
373
|
+
continue;
|
|
374
|
+
}
|
|
175
375
|
if (arg === "--framework") {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
376
|
+
flags.framework = take(i + 1, "--framework");
|
|
377
|
+
i += 1;
|
|
378
|
+
continue;
|
|
379
|
+
}
|
|
380
|
+
if (arg === "--collection") {
|
|
381
|
+
flags.collection = take(i + 1, "--collection");
|
|
382
|
+
i += 1;
|
|
383
|
+
continue;
|
|
384
|
+
}
|
|
385
|
+
if (arg === "--file") {
|
|
386
|
+
flags.file = take(i + 1, "--file");
|
|
387
|
+
i += 1;
|
|
388
|
+
continue;
|
|
389
|
+
}
|
|
390
|
+
if (arg === "--expected-version") {
|
|
391
|
+
flags.expectedVersion = take(i + 1, "--expected-version");
|
|
392
|
+
i += 1;
|
|
393
|
+
continue;
|
|
394
|
+
}
|
|
395
|
+
if (arg === "--account-id") {
|
|
396
|
+
flags.accountId = take(i + 1, "--account-id");
|
|
397
|
+
i += 1;
|
|
398
|
+
continue;
|
|
399
|
+
}
|
|
400
|
+
if (arg === "--project") {
|
|
401
|
+
flags.project = take(i + 1, "--project");
|
|
181
402
|
i += 1;
|
|
182
403
|
continue;
|
|
183
404
|
}
|
|
184
405
|
if (arg === "--cwd" || arg === "-C") {
|
|
185
|
-
|
|
186
|
-
if (value === undefined || value.startsWith("-")) {
|
|
187
|
-
throw new Error(`${arg} requires a directory path.`);
|
|
188
|
-
}
|
|
189
|
-
cwd = path.resolve(baseCwd, value);
|
|
406
|
+
cwd = path.resolve(baseCwd, take(i + 1, arg));
|
|
190
407
|
i += 1;
|
|
191
408
|
continue;
|
|
192
409
|
}
|
|
@@ -197,8 +414,13 @@ function parseArgv(argv, baseCwd) {
|
|
|
197
414
|
command = arg;
|
|
198
415
|
continue;
|
|
199
416
|
}
|
|
417
|
+
if (subcommand === undefined &&
|
|
418
|
+
(command === "deploy" || command === "pages")) {
|
|
419
|
+
subcommand = arg;
|
|
420
|
+
continue;
|
|
421
|
+
}
|
|
200
422
|
throw new Error(`Unexpected argument "${arg}"`);
|
|
201
423
|
}
|
|
202
|
-
return { command, cwd, flags };
|
|
424
|
+
return { command, subcommand, cwd, flags };
|
|
203
425
|
}
|
|
204
426
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pages REST client for the CLI (Node-only). Token never logged.
|
|
3
|
+
*/
|
|
4
|
+
export interface PagesProjectInput {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly productionBranch: string;
|
|
7
|
+
readonly buildCommand: string;
|
|
8
|
+
readonly destinationDir: string;
|
|
9
|
+
readonly rootDir?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface PlannedPagesAction {
|
|
12
|
+
readonly kind: "create" | "update" | "skip" | "manual";
|
|
13
|
+
readonly summary: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class CloudflareApiError extends Error {
|
|
16
|
+
readonly status: number;
|
|
17
|
+
readonly errors: unknown;
|
|
18
|
+
constructor(message: string, status: number, errors: unknown);
|
|
19
|
+
}
|
|
20
|
+
export declare function createCliPagesClient(options: {
|
|
21
|
+
readonly token: string;
|
|
22
|
+
readonly fetchImpl?: typeof fetch;
|
|
23
|
+
readonly apiBase?: string;
|
|
24
|
+
}): {
|
|
25
|
+
listAccounts(): Promise<{
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
}[]>;
|
|
29
|
+
getProject: (accountId: string, name: string) => Promise<Record<string, unknown>>;
|
|
30
|
+
listDeployments(accountId: string, projectName: string): Promise<{
|
|
31
|
+
id: string;
|
|
32
|
+
url?: string;
|
|
33
|
+
latest_stage?: {
|
|
34
|
+
name?: string;
|
|
35
|
+
status?: string;
|
|
36
|
+
};
|
|
37
|
+
}[]>;
|
|
38
|
+
planProject: (accountId: string, input: PagesProjectInput) => Promise<PlannedPagesAction[]>;
|
|
39
|
+
applyProjectPlan(accountId: string, input: PagesProjectInput, apply: {
|
|
40
|
+
confirm: boolean;
|
|
41
|
+
dryRun: boolean;
|
|
42
|
+
}): Promise<{
|
|
43
|
+
applied: boolean;
|
|
44
|
+
actions: PlannedPagesAction[];
|
|
45
|
+
}>;
|
|
46
|
+
/**
|
|
47
|
+
* Asks Cloudflare to create a new deployment for a Git-connected project.
|
|
48
|
+
* Direct-upload (no Git source) is a different API and is handled by wrangler.
|
|
49
|
+
*/
|
|
50
|
+
triggerGitDeployment(accountId: string, projectName: string, productionBranch: string): Promise<Record<string, unknown>>;
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=pages-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages-client.d.ts","sourceRoot":"","sources":["../../src/cloudflare/pages-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;CAM7D;AAMD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;;YA8EgC,MAAM;cAAQ,MAAM;;4BAvCd,MAAM,QAAQ,MAAM;+BA4C5B,MAAM,eAAe,MAAM;YAG5C,MAAM;cACJ,MAAM;uBACG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE;;6BA1CnB,MAAM,SAAS,iBAAiB;gCAqDvD,MAAM,SACV,iBAAiB,SACjB;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,GAC3C,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAC;IAkC/D;;;OAGG;oCAEU,MAAM,eACJ,MAAM,oBACD,MAAM;EAS7B"}
|