@contentrail/cli 0.1.0 → 0.2.1

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 (69) hide show
  1. package/README.md +27 -21
  2. package/dist/cli.d.ts +9 -5
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +255 -32
  5. package/dist/cli.js.map +1 -1
  6. package/dist/cloudflare/pages-client.d.ts +52 -0
  7. package/dist/cloudflare/pages-client.d.ts.map +1 -0
  8. package/dist/cloudflare/pages-client.js +118 -0
  9. package/dist/cloudflare/pages-client.js.map +1 -0
  10. package/dist/commands/connect.d.ts +15 -0
  11. package/dist/commands/connect.d.ts.map +1 -0
  12. package/dist/commands/connect.js +132 -0
  13. package/dist/commands/connect.js.map +1 -0
  14. package/dist/commands/deploy.d.ts +19 -0
  15. package/dist/commands/deploy.d.ts.map +1 -0
  16. package/dist/commands/deploy.js +136 -0
  17. package/dist/commands/deploy.js.map +1 -0
  18. package/dist/commands/dev.d.ts +4 -0
  19. package/dist/commands/dev.d.ts.map +1 -0
  20. package/dist/commands/dev.js +31 -0
  21. package/dist/commands/dev.js.map +1 -0
  22. package/dist/commands/doctor.d.ts.map +1 -1
  23. package/dist/commands/doctor.js +33 -2
  24. package/dist/commands/doctor.js.map +1 -1
  25. package/dist/commands/import.d.ts +10 -0
  26. package/dist/commands/import.d.ts.map +1 -0
  27. package/dist/commands/import.js +87 -0
  28. package/dist/commands/import.js.map +1 -0
  29. package/dist/commands/init.d.ts +3 -1
  30. package/dist/commands/init.d.ts.map +1 -1
  31. package/dist/commands/init.js +206 -15
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/pages.d.ts +2 -0
  34. package/dist/commands/pages.d.ts.map +1 -0
  35. package/dist/commands/pages.js +2 -0
  36. package/dist/commands/pages.js.map +1 -0
  37. package/dist/commands/publish.d.ts +15 -0
  38. package/dist/commands/publish.d.ts.map +1 -0
  39. package/dist/commands/publish.js +105 -0
  40. package/dist/commands/publish.js.map +1 -0
  41. package/dist/config/save.d.ts +4 -0
  42. package/dist/config/save.d.ts.map +1 -0
  43. package/dist/config/save.js +22 -0
  44. package/dist/config/save.js.map +1 -0
  45. package/dist/config/schema.d.ts.map +1 -1
  46. package/dist/config/schema.js +62 -1
  47. package/dist/config/schema.js.map +1 -1
  48. package/dist/config/types.d.ts +24 -2
  49. package/dist/config/types.d.ts.map +1 -1
  50. package/dist/config/types.js.map +1 -1
  51. package/dist/detect/framework.d.ts +1 -1
  52. package/dist/detect/framework.d.ts.map +1 -1
  53. package/dist/detect/framework.js +9 -2
  54. package/dist/detect/framework.js.map +1 -1
  55. package/dist/editor/validate-config.d.ts.map +1 -1
  56. package/dist/editor/validate-config.js +16 -2
  57. package/dist/editor/validate-config.js.map +1 -1
  58. package/dist/git/remote.d.ts +8 -0
  59. package/dist/git/remote.d.ts.map +1 -0
  60. package/dist/git/remote.js +32 -0
  61. package/dist/git/remote.js.map +1 -0
  62. package/dist/import/csv.d.ts +6 -0
  63. package/dist/import/csv.d.ts.map +1 -0
  64. package/dist/import/csv.js +78 -0
  65. package/dist/import/csv.js.map +1 -0
  66. package/dist/index.d.ts +1 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js.map +1 -1
  69. package/package.json +5 -5
package/README.md CHANGED
@@ -2,16 +2,13 @@
2
2
 
3
3
  Node.js CLI for ContentRail local development (ADR 020).
4
4
 
5
- Requires **Node.js ≥ 22**. Supported frameworks: **Astro** and **Vite**
6
- (verified with Astro **7.3.8** and Vite **8.3.5**; `@contentrail/astro` needs
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
 
11
- > **Not on the public npm registry yet.** Use the monorepo CLI until publication
12
- > is authorized (`docs/PUBLISHING.md`).
13
-
14
- ### Monorepo (current)
11
+ ### Monorepo
15
12
 
16
13
  ```sh
17
14
  pnpm install
@@ -19,24 +16,32 @@ pnpm --filter @contentrail/cli build
19
16
  pnpm exec contentrail --help
20
17
  ```
21
18
 
22
- ### Intended after first public `0.1.0` release
19
+ ### From npm (`0.2.1`)
23
20
 
24
21
  ```sh
25
- pnpm add -D @contentrail/cli
22
+ pnpm add -D @contentrail/cli@0.2.1
26
23
  pnpm exec contentrail --help
27
24
  ```
28
25
 
29
- ## Commands
26
+ CLI version tracks `@contentrail/cli` (`contentrail --version`). Collection
27
+ schemas use Zod **`^4.6.7`** via `@contentrail/core`.
30
28
 
31
- | Command | Purpose |
32
- | ---------------------- | ----------------------------------------------- |
33
- | `contentrail init` | Scaffold config, sample collection, sample JSON |
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 |
29
+ ## Commands
38
30
 
39
- `publish` / `rollback` are **deferred** — use the Worker API or editor.
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
 
@@ -73,10 +78,11 @@ pnpm exec contentrail --help
73
78
  4. Edit collections / JSON under `content/`
74
79
  5. `pnpm exec contentrail validate`
75
80
  6. Framework `dev` / `contentrail build`
76
- 7. `contentrail doctor` when something fails
81
+ 7. For `/admin`, add `@contentrail/editor` + `preact` and the admin plugin (`docs/ADMIN.md`)
82
+ 8. `contentrail doctor` when something fails
77
83
 
78
84
  ## Limitations
79
85
 
80
- - No live Access/Worker publish from the CLI yet (ADR 020).
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 declare function runCli(argv: readonly string[], options?: {
3
- cwd?: string;
4
- stdout?: NodeJS.WritableStream;
5
- stderr?: NodeJS.WritableStream;
6
- }): Promise<ExitCode>;
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":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAwE3C,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE;IACR,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAChC,GACA,OAAO,CAAC,QAAQ,CAAC,CAsFnB"}
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,37 +1,74 @@
1
+ import { readFileSync } from "node:fs";
1
2
  import path from "node:path";
2
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";
3
7
  import { runDoctor } from "./commands/doctor.js";
8
+ import { runImport } from "./commands/import.js";
4
9
  import { runInit } from "./commands/init.js";
10
+ import { runPublish } from "./commands/publish.js";
5
11
  import { runStatus } from "./commands/status.js";
6
12
  import { runValidate } from "./commands/validate.js";
7
13
  import { loadProject } from "./config/load.js";
8
14
  import { ExitCode } from "./exit-codes.js";
9
15
  import { createLogger } from "./util/print.js";
10
16
  import { findProjectRoot } from "./util/paths.js";
11
- const VERSION = "0.1.0";
17
+ const VERSION = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
12
18
  const HELP = `ContentRail CLI — local developer tooling
13
19
 
14
20
  Usage:
15
21
  contentrail <command> [options]
16
22
 
17
23
  Commands:
18
- init Initialize ContentRail files in an Astro or Vite project
19
- validate Validate configuration and local JSON content
20
- build Validate then run the project build script
21
- doctor Diagnose common setup problems
22
- status Summarize local project state
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
23
36
 
24
37
  Global options:
25
38
  -h, --help Show help
26
39
  -V, --version Show version
27
40
  -C, --cwd <dir> Project directory (default: current working directory)
41
+ --dry-run Print planned actions without writing or calling APIs
28
42
 
29
43
  init options:
30
- --framework <astro|vite> Force framework (default: auto-detect)
44
+ --framework <astro|vite|next|static> Force framework (default: auto-detect)
31
45
  --force Overwrite existing generated files
32
- --with-editor Also write contentrail.editor.json
46
+ --no-editor Skip contentrail.editor.json
47
+ --no-functions Skip Pages Functions templates
33
48
  -y, --yes Non-interactive; accept defaults
34
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
+
35
72
  Exit codes:
36
73
  0 success
37
74
  1 failure (validation/build/doctor)
@@ -39,17 +76,17 @@ Exit codes:
39
76
  3 configuration error
40
77
 
41
78
  Notes:
42
- publish / rollback are not implemented in the CLI (ADR 020).
43
- Use the authenticated Worker API or editor for remote publishing.
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.
44
81
  `;
45
82
  function printCommandHelp(command) {
46
83
  switch (command) {
47
84
  case "init":
48
- 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]
49
86
 
50
87
  Creates contentrail.config.json, a sample collection module, and sample JSON.
51
- Never overwrites existing files unless --force is set.
52
- Does not require publishing credentials.`;
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.`;
53
90
  case "validate":
54
91
  return `Usage: contentrail validate
55
92
 
@@ -62,13 +99,38 @@ Runs validate, then the package.json script named by buildScript (default: build
62
99
  case "doctor":
63
100
  return `Usage: contentrail doctor
64
101
 
65
- Checks Node version, framework deps, config, content, validation, and whether
66
- 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).`;
67
104
  case "status":
68
105
  return `Usage: contentrail status
69
106
 
70
107
  Reports framework, collections, validation, build readiness, and whether a
71
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.`;
72
134
  default:
73
135
  return HELP;
74
136
  }
@@ -77,7 +139,7 @@ export async function runCli(argv, options) {
77
139
  const log = createLogger(options?.stdout, options?.stderr);
78
140
  const baseCwd = options?.cwd ?? process.cwd();
79
141
  try {
80
- const { command, flags, cwd } = parseArgv(argv, baseCwd);
142
+ const { command, subcommand, flags, cwd } = parseArgv(argv, baseCwd);
81
143
  if (flags.version) {
82
144
  log.info(VERSION);
83
145
  return ExitCode.Success;
@@ -89,13 +151,16 @@ export async function runCli(argv, options) {
89
151
  return ExitCode.Success;
90
152
  }
91
153
  const projectRoot = findProjectRoot(cwd);
154
+ const env = options?.env ?? process.env;
92
155
  switch (command) {
93
156
  case "init": {
94
157
  const framework = flags.framework;
95
158
  if (framework !== undefined &&
96
159
  framework !== "astro" &&
97
- framework !== "vite") {
98
- log.error('--framework must be "astro" or "vite".');
160
+ framework !== "vite" &&
161
+ framework !== "static" &&
162
+ framework !== "next") {
163
+ log.error('--framework must be "astro", "vite", "next", or "static".');
99
164
  return ExitCode.Usage;
100
165
  }
101
166
  return runInit({
@@ -103,6 +168,8 @@ export async function runCli(argv, options) {
103
168
  ...(framework !== undefined ? { framework } : {}),
104
169
  force: flags.force,
105
170
  withEditor: flags.withEditor,
171
+ withFunctions: flags.withFunctions,
172
+ dryRun: flags.dryRun,
106
173
  yes: flags.yes,
107
174
  }, log);
108
175
  }
@@ -118,9 +185,107 @@ export async function runCli(argv, options) {
118
185
  return runDoctor(projectRoot, log);
119
186
  case "status":
120
187
  return runStatus(projectRoot, log);
121
- case "publish":
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
+ }
122
287
  case "rollback":
123
- log.error(`Command "${command}" is deferred (ADR 020). Use the Worker API or editor for authenticated publishing.`);
288
+ log.error('Command "rollback" is not implemented in the CLI. Use the authenticated Worker or Pages API.');
124
289
  return ExitCode.Usage;
125
290
  default:
126
291
  log.error(`Unknown command "${command}". Run contentrail --help.`);
@@ -141,13 +306,25 @@ export async function runCli(argv, options) {
141
306
  }
142
307
  function parseArgv(argv, baseCwd) {
143
308
  let command;
309
+ let subcommand;
144
310
  let cwd = baseCwd;
145
311
  const flags = {
146
312
  help: false,
147
313
  version: false,
148
314
  force: false,
149
- withEditor: false,
315
+ withEditor: true,
316
+ withFunctions: true,
150
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;
151
328
  };
152
329
  for (let i = 0; i < argv.length; i += 1) {
153
330
  const arg = argv[i];
@@ -167,25 +344,66 @@ function parseArgv(argv, baseCwd) {
167
344
  flags.withEditor = true;
168
345
  continue;
169
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
+ }
170
363
  if (arg === "--yes" || arg === "-y") {
171
364
  flags.yes = true;
172
365
  continue;
173
366
  }
367
+ if (arg === "--dry-run") {
368
+ flags.dryRun = true;
369
+ continue;
370
+ }
371
+ if (arg === "--confirm") {
372
+ flags.confirm = true;
373
+ continue;
374
+ }
174
375
  if (arg === "--framework") {
175
- const value = argv[i + 1];
176
- if (value === undefined || value.startsWith("-")) {
177
- throw new Error("--framework requires astro or vite.");
178
- }
179
- flags.framework = value;
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");
180
402
  i += 1;
181
403
  continue;
182
404
  }
183
405
  if (arg === "--cwd" || arg === "-C") {
184
- const value = argv[i + 1];
185
- if (value === undefined || value.startsWith("-")) {
186
- throw new Error(`${arg} requires a directory path.`);
187
- }
188
- cwd = path.resolve(baseCwd, value);
406
+ cwd = path.resolve(baseCwd, take(i + 1, arg));
189
407
  i += 1;
190
408
  continue;
191
409
  }
@@ -196,8 +414,13 @@ function parseArgv(argv, baseCwd) {
196
414
  command = arg;
197
415
  continue;
198
416
  }
417
+ if (subcommand === undefined &&
418
+ (command === "deploy" || command === "pages")) {
419
+ subcommand = arg;
420
+ continue;
421
+ }
199
422
  throw new Error(`Unexpected argument "${arg}"`);
200
423
  }
201
- return { command, cwd, flags };
424
+ return { command, subcommand, cwd, flags };
202
425
  }
203
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"}