@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.
Files changed (73) 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 +253 -31
  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 +47 -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-next-admin.d.ts +7 -0
  30. package/dist/commands/init-next-admin.d.ts.map +1 -0
  31. package/dist/commands/init-next-admin.js +170 -0
  32. package/dist/commands/init-next-admin.js.map +1 -0
  33. package/dist/commands/init.d.ts +3 -1
  34. package/dist/commands/init.d.ts.map +1 -1
  35. package/dist/commands/init.js +212 -15
  36. package/dist/commands/init.js.map +1 -1
  37. package/dist/commands/pages.d.ts +2 -0
  38. package/dist/commands/pages.d.ts.map +1 -0
  39. package/dist/commands/pages.js +2 -0
  40. package/dist/commands/pages.js.map +1 -0
  41. package/dist/commands/publish.d.ts +15 -0
  42. package/dist/commands/publish.d.ts.map +1 -0
  43. package/dist/commands/publish.js +105 -0
  44. package/dist/commands/publish.js.map +1 -0
  45. package/dist/config/save.d.ts +4 -0
  46. package/dist/config/save.d.ts.map +1 -0
  47. package/dist/config/save.js +22 -0
  48. package/dist/config/save.js.map +1 -0
  49. package/dist/config/schema.d.ts.map +1 -1
  50. package/dist/config/schema.js +62 -1
  51. package/dist/config/schema.js.map +1 -1
  52. package/dist/config/types.d.ts +24 -2
  53. package/dist/config/types.d.ts.map +1 -1
  54. package/dist/config/types.js.map +1 -1
  55. package/dist/detect/framework.d.ts +1 -1
  56. package/dist/detect/framework.d.ts.map +1 -1
  57. package/dist/detect/framework.js +9 -2
  58. package/dist/detect/framework.js.map +1 -1
  59. package/dist/editor/validate-config.d.ts.map +1 -1
  60. package/dist/editor/validate-config.js +16 -2
  61. package/dist/editor/validate-config.js.map +1 -1
  62. package/dist/git/remote.d.ts +8 -0
  63. package/dist/git/remote.d.ts.map +1 -0
  64. package/dist/git/remote.js +32 -0
  65. package/dist/git/remote.js.map +1 -0
  66. package/dist/import/csv.d.ts +6 -0
  67. package/dist/import/csv.d.ts.map +1 -0
  68. package/dist/import/csv.js +78 -0
  69. package/dist/import/csv.js.map +1 -0
  70. package/dist/index.d.ts +1 -1
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js.map +1 -1
  73. 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**. 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
 
@@ -16,10 +16,10 @@ pnpm --filter @contentrail/cli build
16
16
  pnpm exec contentrail --help
17
17
  ```
18
18
 
19
- ### From npm (upcoming `0.2.0` after authorized publish)
19
+ ### From npm (`0.2.2`)
20
20
 
21
21
  ```sh
22
- pnpm add -D @contentrail/cli@0.2.0
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 | 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 |
38
-
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
 
@@ -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 Vite app (or use a monorepo `examples/*` app).
70
- 2. Add `@contentrail/core` + `zod`, plus `@contentrail/astro` or `@contentrail/vite`
71
- (workspace links today; `pnpm add` from npm only after public release).
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. `contentrail doctor` when something fails
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
- - 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":"AAQA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AA4E3C,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,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 Initialize ContentRail files in an Astro or Vite project
20
- validate Validate configuration and local JSON content
21
- build Validate then run the project build script
22
- doctor Diagnose common setup problems
23
- 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
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
- --with-editor Also write contentrail.editor.json
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
- publish / rollback are not implemented in the CLI (ADR 020).
44
- 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.
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
- Never overwrites existing files unless --force is set.
53
- 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.`;
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, and whether
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
- 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".');
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 "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
+ }
123
287
  case "rollback":
124
- 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.');
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: false,
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
- const value = argv[i + 1];
177
- if (value === undefined || value.startsWith("-")) {
178
- throw new Error("--framework requires astro or vite.");
179
- }
180
- 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");
181
402
  i += 1;
182
403
  continue;
183
404
  }
184
405
  if (arg === "--cwd" || arg === "-C") {
185
- const value = argv[i + 1];
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"}