@forumulate/cli 0.9.0 → 0.10.0

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 (224) hide show
  1. package/README.md +3 -3
  2. package/dist/api/args.d.ts.map +1 -1
  3. package/dist/api/args.js +1 -0
  4. package/dist/api/args.js.map +1 -1
  5. package/dist/api/command.d.ts +1 -1
  6. package/dist/api/command.d.ts.map +1 -1
  7. package/dist/api/command.js +86 -11
  8. package/dist/api/command.js.map +1 -1
  9. package/dist/api/http.d.ts +8 -0
  10. package/dist/api/http.d.ts.map +1 -1
  11. package/dist/api/http.js +3 -2
  12. package/dist/api/http.js.map +1 -1
  13. package/dist/api/live-spec.d.ts +48 -0
  14. package/dist/api/live-spec.d.ts.map +1 -0
  15. package/dist/api/live-spec.js +72 -0
  16. package/dist/api/live-spec.js.map +1 -0
  17. package/dist/api/operations.json +1 -1
  18. package/dist/api/request.d.ts.map +1 -1
  19. package/dist/api/request.js +25 -1
  20. package/dist/api/request.js.map +1 -1
  21. package/dist/api/send.d.ts +10 -1
  22. package/dist/api/send.d.ts.map +1 -1
  23. package/dist/api/send.js +14 -3
  24. package/dist/api/send.js.map +1 -1
  25. package/dist/api/slim.d.ts +14 -0
  26. package/dist/api/slim.d.ts.map +1 -0
  27. package/dist/api/slim.js +174 -0
  28. package/dist/api/slim.js.map +1 -0
  29. package/dist/cache-command.d.ts +12 -0
  30. package/dist/cache-command.d.ts.map +1 -0
  31. package/dist/cache-command.js +93 -0
  32. package/dist/cache-command.js.map +1 -0
  33. package/dist/check/command.d.ts +48 -0
  34. package/dist/check/command.d.ts.map +1 -0
  35. package/dist/check/command.js +256 -0
  36. package/dist/check/command.js.map +1 -0
  37. package/dist/check/external.d.ts +66 -0
  38. package/dist/check/external.d.ts.map +1 -0
  39. package/dist/check/external.js +177 -0
  40. package/dist/check/external.js.map +1 -0
  41. package/dist/check/markdown-links.d.ts +38 -0
  42. package/dist/check/markdown-links.d.ts.map +1 -0
  43. package/dist/check/markdown-links.js +166 -0
  44. package/dist/check/markdown-links.js.map +1 -0
  45. package/dist/cli.js +42 -7
  46. package/dist/cli.js.map +1 -1
  47. package/dist/commands/completion.d.ts.map +1 -1
  48. package/dist/commands/completion.js +1 -0
  49. package/dist/commands/completion.js.map +1 -1
  50. package/dist/commands/context.d.ts.map +1 -1
  51. package/dist/commands/context.js +6 -2
  52. package/dist/commands/context.js.map +1 -1
  53. package/dist/commands/groups-api.d.ts.map +1 -1
  54. package/dist/commands/groups-api.js +20 -2
  55. package/dist/commands/groups-api.js.map +1 -1
  56. package/dist/commands/groups-docs.d.ts.map +1 -1
  57. package/dist/commands/groups-docs.js +8 -2
  58. package/dist/commands/groups-docs.js.map +1 -1
  59. package/dist/commands/groups-jobs.d.ts +10 -0
  60. package/dist/commands/groups-jobs.d.ts.map +1 -0
  61. package/dist/commands/groups-jobs.js +89 -0
  62. package/dist/commands/groups-jobs.js.map +1 -0
  63. package/dist/commands/groups-org.d.ts.map +1 -1
  64. package/dist/commands/groups-org.js +59 -2
  65. package/dist/commands/groups-org.js.map +1 -1
  66. package/dist/commands/groups-site.d.ts.map +1 -1
  67. package/dist/commands/groups-site.js +33 -3
  68. package/dist/commands/groups-site.js.map +1 -1
  69. package/dist/commands/groups-spaces.d.ts.map +1 -1
  70. package/dist/commands/groups-spaces.js +11 -5
  71. package/dist/commands/groups-spaces.js.map +1 -1
  72. package/dist/commands/groups-types.d.ts.map +1 -1
  73. package/dist/commands/groups-types.js +74 -0
  74. package/dist/commands/groups-types.js.map +1 -1
  75. package/dist/commands/groups.d.ts.map +1 -1
  76. package/dist/commands/groups.js +2 -0
  77. package/dist/commands/groups.js.map +1 -1
  78. package/dist/commands/index.d.ts +9 -0
  79. package/dist/commands/index.d.ts.map +1 -1
  80. package/dist/commands/index.js +18 -3
  81. package/dist/commands/index.js.map +1 -1
  82. package/dist/commands/job-wait.d.ts +64 -0
  83. package/dist/commands/job-wait.d.ts.map +1 -0
  84. package/dist/commands/job-wait.js +91 -0
  85. package/dist/commands/job-wait.js.map +1 -0
  86. package/dist/commands/resource.d.ts +19 -0
  87. package/dist/commands/resource.d.ts.map +1 -1
  88. package/dist/commands/resource.js +65 -3
  89. package/dist/commands/resource.js.map +1 -1
  90. package/dist/content/library.d.ts +8 -0
  91. package/dist/content/library.d.ts.map +1 -1
  92. package/dist/content/library.js +10 -2
  93. package/dist/content/library.js.map +1 -1
  94. package/dist/credentials.d.ts +43 -4
  95. package/dist/credentials.d.ts.map +1 -1
  96. package/dist/credentials.js +67 -4
  97. package/dist/credentials.js.map +1 -1
  98. package/dist/doctor/address-checks.d.ts +56 -0
  99. package/dist/doctor/address-checks.d.ts.map +1 -0
  100. package/dist/doctor/address-checks.js +183 -0
  101. package/dist/doctor/address-checks.js.map +1 -0
  102. package/dist/doctor/boilerplate.d.ts +33 -0
  103. package/dist/doctor/boilerplate.d.ts.map +1 -0
  104. package/dist/doctor/boilerplate.js +78 -0
  105. package/dist/doctor/boilerplate.js.map +1 -0
  106. package/dist/doctor/command.d.ts +18 -0
  107. package/dist/doctor/command.d.ts.map +1 -0
  108. package/dist/doctor/command.js +234 -0
  109. package/dist/doctor/command.js.map +1 -0
  110. package/dist/doctor/crawl.d.ts +49 -0
  111. package/dist/doctor/crawl.d.ts.map +1 -0
  112. package/dist/doctor/crawl.js +210 -0
  113. package/dist/doctor/crawl.js.map +1 -0
  114. package/dist/doctor/extended.d.ts +52 -0
  115. package/dist/doctor/extended.d.ts.map +1 -0
  116. package/dist/doctor/extended.js +150 -0
  117. package/dist/doctor/extended.js.map +1 -0
  118. package/dist/doctor/page-checks.d.ts +42 -0
  119. package/dist/doctor/page-checks.d.ts.map +1 -0
  120. package/dist/doctor/page-checks.js +200 -0
  121. package/dist/doctor/page-checks.js.map +1 -0
  122. package/dist/doctor/probe.d.ts +63 -0
  123. package/dist/doctor/probe.d.ts.map +1 -0
  124. package/dist/doctor/probe.js +170 -0
  125. package/dist/doctor/probe.js.map +1 -0
  126. package/dist/doctor/reader-auth-atlas.d.ts +18 -0
  127. package/dist/doctor/reader-auth-atlas.d.ts.map +1 -0
  128. package/dist/doctor/reader-auth-atlas.js +50 -0
  129. package/dist/doctor/reader-auth-atlas.js.map +1 -0
  130. package/dist/doctor/robots-params.d.ts +36 -0
  131. package/dist/doctor/robots-params.d.ts.map +1 -0
  132. package/dist/doctor/robots-params.js +97 -0
  133. package/dist/doctor/robots-params.js.map +1 -0
  134. package/dist/doctor/site.d.ts +42 -0
  135. package/dist/doctor/site.d.ts.map +1 -0
  136. package/dist/doctor/site.js +82 -0
  137. package/dist/doctor/site.js.map +1 -0
  138. package/dist/doctor.d.ts +21 -0
  139. package/dist/doctor.d.ts.map +1 -1
  140. package/dist/doctor.js +94 -3
  141. package/dist/doctor.js.map +1 -1
  142. package/dist/exit-codes.d.ts +40 -0
  143. package/dist/exit-codes.d.ts.map +1 -0
  144. package/dist/exit-codes.js +66 -0
  145. package/dist/exit-codes.js.map +1 -0
  146. package/dist/help-commands.d.ts +13 -0
  147. package/dist/help-commands.d.ts.map +1 -0
  148. package/dist/help-commands.js +215 -0
  149. package/dist/help-commands.js.map +1 -0
  150. package/dist/help.d.ts +1 -1
  151. package/dist/help.d.ts.map +1 -1
  152. package/dist/help.js +57 -11
  153. package/dist/help.js.map +1 -1
  154. package/dist/io.d.ts +33 -0
  155. package/dist/io.d.ts.map +1 -0
  156. package/dist/io.js +81 -0
  157. package/dist/io.js.map +1 -0
  158. package/dist/preview-comment.d.ts +20 -0
  159. package/dist/preview-comment.d.ts.map +1 -0
  160. package/dist/preview-comment.js +88 -0
  161. package/dist/preview-comment.js.map +1 -0
  162. package/dist/publish/about.d.ts +23 -0
  163. package/dist/publish/about.d.ts.map +1 -0
  164. package/dist/publish/about.js +66 -0
  165. package/dist/publish/about.js.map +1 -0
  166. package/dist/publish/command.d.ts +20 -0
  167. package/dist/publish/command.d.ts.map +1 -1
  168. package/dist/publish/command.js +97 -4
  169. package/dist/publish/command.js.map +1 -1
  170. package/dist/publish/context.d.ts +8 -0
  171. package/dist/publish/context.d.ts.map +1 -1
  172. package/dist/publish/context.js.map +1 -1
  173. package/dist/publish/docs-apply.d.ts.map +1 -1
  174. package/dist/publish/docs-apply.js +13 -1
  175. package/dist/publish/docs-apply.js.map +1 -1
  176. package/dist/publish/extras.d.ts +10 -0
  177. package/dist/publish/extras.d.ts.map +1 -1
  178. package/dist/publish/extras.js +54 -2
  179. package/dist/publish/extras.js.map +1 -1
  180. package/dist/publish/manifest.d.ts.map +1 -1
  181. package/dist/publish/manifest.js +27 -2
  182. package/dist/publish/manifest.js.map +1 -1
  183. package/dist/publish/preview.d.ts +56 -0
  184. package/dist/publish/preview.d.ts.map +1 -0
  185. package/dist/publish/preview.js +133 -0
  186. package/dist/publish/preview.js.map +1 -0
  187. package/dist/publish/redirects.d.ts +13 -0
  188. package/dist/publish/redirects.d.ts.map +1 -0
  189. package/dist/publish/redirects.js +154 -0
  190. package/dist/publish/redirects.js.map +1 -0
  191. package/dist/publish/studio-edits.d.ts +25 -0
  192. package/dist/publish/studio-edits.d.ts.map +1 -0
  193. package/dist/publish/studio-edits.js +53 -0
  194. package/dist/publish/studio-edits.js.map +1 -0
  195. package/dist/publish/types.d.ts +22 -1
  196. package/dist/publish/types.d.ts.map +1 -1
  197. package/dist/publish-command.d.ts +55 -0
  198. package/dist/publish-command.d.ts.map +1 -0
  199. package/dist/publish-command.js +197 -0
  200. package/dist/publish-command.js.map +1 -0
  201. package/dist/run.d.ts +3 -10
  202. package/dist/run.d.ts.map +1 -1
  203. package/dist/run.js +122 -110
  204. package/dist/run.js.map +1 -1
  205. package/dist/translations/target.d.ts.map +1 -1
  206. package/dist/translations/target.js +2 -2
  207. package/dist/translations/target.js.map +1 -1
  208. package/dist/validate.d.ts +39 -0
  209. package/dist/validate.d.ts.map +1 -0
  210. package/dist/validate.js +166 -0
  211. package/dist/validate.js.map +1 -0
  212. package/dist/version.d.ts +8 -0
  213. package/dist/version.d.ts.map +1 -0
  214. package/dist/version.js +11 -0
  215. package/dist/version.js.map +1 -0
  216. package/dist/whoami.d.ts +41 -0
  217. package/dist/whoami.d.ts.map +1 -0
  218. package/dist/whoami.js +161 -0
  219. package/dist/whoami.js.map +1 -0
  220. package/package.json +2 -2
  221. package/dist/publish-dir.d.ts +0 -54
  222. package/dist/publish-dir.d.ts.map +0 -1
  223. package/dist/publish-dir.js +0 -119
  224. package/dist/publish-dir.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ import type { ForumulateClient } from '@forumulate/sdk';
2
+ /**
3
+ * `forumulate publish` and `forumulate sync` as the CLI runs them: the
4
+ * argument forms, the purge, and the run report (FMU-DOC07, D04, D16).
5
+ *
6
+ * Three argument forms grew up over time — a page id, a folder, and the folder
7
+ * with org and space as positionals — and the guides used all three, so an
8
+ * integrator could not tell which was current. One form is documented now
9
+ * (`publish <folder> --org … --space …`); the others still work and say so on
10
+ * stderr, with the line to use instead.
11
+ */
12
+ export interface PublishCliDeps {
13
+ client: ForumulateClient;
14
+ authed: boolean;
15
+ out: (l: string) => void;
16
+ err: (l: string) => void;
17
+ env?: NodeJS.ProcessEnv;
18
+ upload?: (path: string, form: FormData) => Promise<unknown>;
19
+ sleep?: (ms: number) => Promise<void>;
20
+ }
21
+ export interface FolderFlags {
22
+ org?: string;
23
+ space?: string;
24
+ manifest?: string;
25
+ dryRun: boolean;
26
+ prune: boolean;
27
+ force: boolean;
28
+ verify: boolean;
29
+ only?: string[];
30
+ paceMs: number;
31
+ json: boolean;
32
+ diff: boolean;
33
+ purge?: string;
34
+ report: boolean;
35
+ command: 'publish' | 'sync';
36
+ /** `--preview <name>` (FMU-F01): send the plan's pages to a preview, publish nothing. */
37
+ preview?: string;
38
+ /** `--preview-ttl <days>`. */
39
+ previewTtl?: string;
40
+ /** `--comment`: post (or update) the preview's comment on the pull request. */
41
+ comment?: boolean;
42
+ }
43
+ /** `publish …` in any of its forms. */
44
+ export declare function runPublishCli(rest: string[], flags: Omit<FolderFlags, 'command'>, deps: PublishCliDeps): Promise<number>;
45
+ /** The folder publish/sync, its run reported to the API, its summary printed. */
46
+ export declare function runFolder(folder: string, flags: FolderFlags, deps: PublishCliDeps): Promise<number>;
47
+ /** Many `purged` answers (one per import batch) as one. */
48
+ export declare function mergePurged(answers: Record<string, unknown>[]): {
49
+ scope: string;
50
+ urlCount: number;
51
+ urls: string[];
52
+ edge: string;
53
+ edges: unknown[];
54
+ } | null;
55
+ //# sourceMappingURL=publish-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-command.d.ts","sourceRoot":"","sources":["../src/publish-command.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKxD;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAaD,uCAAuC;AACvC,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EACnC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED,iFAAiF;AACjF,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,MAAM,CAAC,CA4FjB;AAgDD,2DAA2D;AAC3D,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACjC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,GAAG,IAAI,CAuB5F"}
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runPublishCli = runPublishCli;
4
+ exports.runFolder = runFolder;
5
+ exports.mergePurged = mergePurged;
6
+ const node_fs_1 = require("node:fs");
7
+ const command_1 = require("./publish/command");
8
+ const exit_codes_1 = require("./exit-codes");
9
+ const preview_comment_1 = require("./preview-comment");
10
+ const isDir = (p) => {
11
+ try {
12
+ return Boolean(p) && (0, node_fs_1.statSync)(p).isDirectory();
13
+ }
14
+ catch {
15
+ return false;
16
+ }
17
+ };
18
+ const PURGES = ['page', 'space', 'none'];
19
+ /** `publish …` in any of its forms. */
20
+ async function runPublishCli(rest, flags, deps) {
21
+ const purge = flags.purge ?? 'page';
22
+ if (!PURGES.includes(purge)) {
23
+ deps.err(`--purge takes page, space or none (got "${purge}").`);
24
+ return exit_codes_1.EXIT.USAGE;
25
+ }
26
+ if (rest.length === 1 && isDir(rest[0]))
27
+ return runFolder(rest[0], { ...flags, command: 'publish' }, deps);
28
+ if (rest.length === 3 && isDir(rest[2])) {
29
+ deps.err(`notice: \`publish <orgId> <spaceId> <folder>\` is deprecated; use \`forumulate publish ${rest[2]} --org ${rest[0]} --space ${rest[1]}\`.`);
30
+ return runFolder(rest[2], { ...flags, org: rest[0], space: rest[1], command: 'publish' }, deps);
31
+ }
32
+ const [orgId, spaceId, pageId] = rest;
33
+ if (rest.length === 3 && orgId && spaceId && pageId) {
34
+ deps.err(`notice: \`publish <orgId> <spaceId> <pageId>\` is deprecated; use \`forumulate items publish ${pageId} --org ${orgId} --space ${spaceId}\`, or publish the folder the page lives in.`);
35
+ const res = await deps.client.request('POST', `/orgs/${orgId}/spaces/${spaceId}/pages/${pageId}/publish`, { body: { purge } });
36
+ if (flags.json)
37
+ deps.out(JSON.stringify(res, null, 2));
38
+ else
39
+ deps.out(`Published ${pageId}${res?.purged ? `; purged (edge ${String(res.purged.edge)})` : ''}.`);
40
+ return exit_codes_1.EXIT.OK;
41
+ }
42
+ if (rest.length === 1)
43
+ deps.err(`${rest[0]} is not a folder.`);
44
+ deps.err('Usage: forumulate publish <folder> --org <id|slug> --space <id|slug> [flags]');
45
+ deps.err(' forumulate publish --help');
46
+ return exit_codes_1.EXIT.USAGE;
47
+ }
48
+ /** The folder publish/sync, its run reported to the API, its summary printed. */
49
+ async function runFolder(folder, flags, deps) {
50
+ let report;
51
+ const code = await (0, command_1.runPublish)({
52
+ folder,
53
+ org: flags.org,
54
+ space: flags.space,
55
+ manifest: flags.manifest,
56
+ dryRun: flags.dryRun,
57
+ prune: flags.prune,
58
+ force: flags.force,
59
+ verify: flags.verify,
60
+ only: flags.only,
61
+ paceMs: flags.paceMs,
62
+ json: flags.json,
63
+ diff: flags.diff,
64
+ command: flags.command,
65
+ purge: flags.purge ?? 'page',
66
+ preview: flags.preview,
67
+ previewTtlDays: flags.previewTtl && /^\d+$/.test(flags.previewTtl) ? Number(flags.previewTtl) : undefined,
68
+ }, {
69
+ client: deps.client,
70
+ authed: deps.authed,
71
+ out: deps.out,
72
+ err: deps.err,
73
+ upload: deps.upload,
74
+ env: deps.env,
75
+ sleep: deps.sleep,
76
+ report: (r) => (report = r),
77
+ });
78
+ if (!report)
79
+ return code;
80
+ const r = report;
81
+ // The pull-request comment, on whatever host the CI runs on (FMU-F01).
82
+ if (flags.comment && r.previews.length) {
83
+ for (const p of r.previews) {
84
+ const posted = await (0, preview_comment_1.postPreviewComment)(p, deps.env ?? process.env).catch((e) => {
85
+ deps.err(`warning: the pull-request comment was not posted (${e.message}).`);
86
+ return null;
87
+ });
88
+ if (posted)
89
+ deps.err(`Commented on ${posted}.`);
90
+ }
91
+ }
92
+ const verify = r.dryRun || !flags.verify ? 'skipped' : r.unverified.length ? 'mismatch' : 'ok';
93
+ const spaces = [...new Set(r.lines.map((l) => l.space).filter((s) => s !== 'site'))];
94
+ const runs = [];
95
+ // Recorded only when something was attempted: a plan is the caller's to keep.
96
+ if (flags.report && !r.dryRun && deps.authed)
97
+ for (const space of spaces) {
98
+ const run = await recordRun(deps, flags.org, space, r, verify).catch((e) => {
99
+ deps.err(`warning: the run was not recorded (${e.message}); publish.completed was not sent.`);
100
+ return null;
101
+ });
102
+ if (run)
103
+ runs.push(run);
104
+ }
105
+ if (flags.json) {
106
+ const n = (k) => r.counts[k] ?? 0;
107
+ deps.out(JSON.stringify({
108
+ space: spaces.length === 1 ? spaces[0] : spaces,
109
+ created: n('create'),
110
+ updated: n('update') + n('meta') + n('move') + n('order') + n('patch'),
111
+ unchanged: r.unchanged,
112
+ trashed: n('prune'),
113
+ purged: mergePurged(r.purged),
114
+ verify,
115
+ diffUrl: runs[0]?.summary?.diffUrl ?? null,
116
+ runIds: runs.map((x) => x.id),
117
+ conflicts: r.conflicts,
118
+ previews: r.previews,
119
+ dryRun: r.dryRun,
120
+ writes: r.writes,
121
+ counts: r.counts,
122
+ errors: r.errors,
123
+ unverified: r.unverified,
124
+ lines: r.lines,
125
+ }, null, 2));
126
+ }
127
+ else if (runs.length) {
128
+ const p = mergePurged(r.purged);
129
+ if (p)
130
+ deps.out(`Purged ${p.urlCount} address(es); edge ${p.edge}.`);
131
+ for (const run of runs)
132
+ deps.out(`Run ${String(run.id)}: ${String(run.summary?.diffUrl ?? '')}`);
133
+ }
134
+ return code;
135
+ }
136
+ /** POST the run for one space (by slug or id) so the API records it and fires publish.completed. */
137
+ async function recordRun(deps, orgRef, spaceRef, r, verify) {
138
+ const org = orgRef ?? deps.env?.FORUMULATE_ORG ?? process.env.FORUMULATE_ORG;
139
+ if (!org)
140
+ return null;
141
+ const spaceId = await spaceIdOf(deps, org, spaceRef);
142
+ const lines = r.lines.filter((l) => l.space === spaceRef);
143
+ const counts = {};
144
+ for (const l of lines)
145
+ counts[l.line.verb] = (counts[l.line.verb] ?? 0) + 1;
146
+ const res = await deps.client.request('POST', `/orgs/${org}/spaces/${spaceId}/publish-runs`, {
147
+ body: {
148
+ dryRun: false,
149
+ counts: Object.fromEntries(Object.entries(counts).filter(([k]) => k !== 'same')),
150
+ unchanged: counts.same ?? 0,
151
+ writes: r.writes,
152
+ lines: lines
153
+ .filter((l) => l.line.verb !== 'same')
154
+ .slice(0, 5000)
155
+ .map((l) => ({ space: l.space, ...l.line })),
156
+ errors: r.errors.filter((e) => e.startsWith(`${spaceRef}:`) || !e.includes(':')).slice(0, 500),
157
+ verify,
158
+ purged: mergePurged(r.purged),
159
+ },
160
+ });
161
+ return res.run;
162
+ }
163
+ async function spaceIdOf(deps, org, ref) {
164
+ if (/^[0-9a-f-]{36}$/i.test(ref))
165
+ return ref;
166
+ const res = await deps.client.request('GET', `/orgs/${org}/spaces`, { query: { limit: 200 } });
167
+ return res.spaces?.find((s) => s.slug === ref)?.id ?? ref;
168
+ }
169
+ /** Many `purged` answers (one per import batch) as one. */
170
+ function mergePurged(answers) {
171
+ if (answers.length === 0)
172
+ return null;
173
+ const urls = new Set();
174
+ const edges = [];
175
+ const names = new Set();
176
+ let scope = 'page';
177
+ let count = 0;
178
+ for (const a of answers) {
179
+ for (const u of a.urls ?? [])
180
+ urls.add(u);
181
+ count += Number(a.urlCount ?? 0);
182
+ for (const e of a.edges ?? []) {
183
+ edges.push(e);
184
+ names.add(e.name);
185
+ }
186
+ if (a.scope === 'space' || a.purged === 'space')
187
+ scope = 'space';
188
+ }
189
+ return {
190
+ scope,
191
+ urlCount: Math.max(count, urls.size),
192
+ urls: [...urls].slice(0, 200),
193
+ edge: names.size === 0 ? 'none' : names.size === 1 ? [...names][0] : 'multiple',
194
+ edges,
195
+ };
196
+ }
197
+ //# sourceMappingURL=publish-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-command.js","sourceRoot":"","sources":["../src/publish-command.ts"],"names":[],"mappings":";;AA6DA,sCAoCC;AAGD,8BAgGC;AAiDD,kCAyBC;AA9QD,qCAAmC;AAEnC,+CAAmE;AACnE,6CAAoC;AACpC,uDAAuD;AA6CvD,MAAM,KAAK,GAAG,CAAC,CAAqB,EAAE,EAAE;IACtC,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAA,kBAAQ,EAAC,CAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAGlD,uCAAuC;AAChC,KAAK,UAAU,aAAa,CACjC,IAAc,EACd,KAAmC,EACnC,IAAoB;IAEpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;IACpC,IAAI,CAAE,MAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,2CAA2C,KAAK,KAAK,CAAC,CAAC;QAChE,OAAO,iBAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,CACN,0FAA0F,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAC3I,CAAC;QACF,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG,CACN,gGAAgG,MAAM,UAAU,KAAK,YAAY,OAAO,8CAA8C,CACvL,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,MAAM,EACN,SAAS,KAAK,WAAW,OAAO,UAAU,MAAM,UAAU,EAC1D,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CACpB,CAAC;QACF,IAAI,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;;YAClD,IAAI,CAAC,GAAG,CAAC,aAAa,MAAM,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxG,OAAO,iBAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC/D,IAAI,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IACzF,IAAI,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAC7C,OAAO,iBAAI,CAAC,KAAK,CAAC;AACpB,CAAC;AAED,iFAAiF;AAC1E,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,KAAkB,EAClB,IAAoB;IAEpB,IAAI,MAAiC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAU,EAC3B;QACE,MAAM;QACN,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAG,KAAK,CAAC,KAA2B,IAAI,MAAM;QACnD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,cAAc,EACZ,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5F,EACD;QACE,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KAC5B,CACF,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,CAAC,GAAG,MAAuB,CAAC;IAClC,uEAAuE;IACvE,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAkB,EAAC,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;gBACrF,IAAI,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,IAAI,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,MAAM,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GACV,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,IAAI,GAA8B,EAAE,CAAC;IAC3C,8EAA8E;IAC9E,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;QAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;gBAChF,IAAI,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,OAAO,oCAAoC,CAAC,CAAC;gBAC9F,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,IAAI,GAAG;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,SAAS,CACZ;YACE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;YAC/C,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACtE,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;YACnB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7B,MAAM;YACN,OAAO,EAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAA4C,EAAE,OAAO,IAAI,IAAI;YAChF,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,sBAAsB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,IAAI;YACpB,IAAI,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,MAAM,CAAE,GAAG,CAAC,OAAgC,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oGAAoG;AACpG,KAAK,UAAU,SAAS,CACtB,IAAoB,EACpB,MAA0B,EAC1B,QAAgB,EAChB,CAAgB,EAChB,MAAqC;IAErC,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC7E,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAC1D,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,MAAM,EACN,SAAS,GAAG,WAAW,OAAO,eAAe,EAC7C;QACE,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YAChF,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,KAAK;iBACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;iBACrC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;iBACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC9F,MAAM;YACN,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;SAC9B;KACF,CACF,CAAC;IACF,OAAO,GAAG,CAAC,GAAG,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAoB,EAAE,GAAW,EAAE,GAAW;IACrE,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CACnC,KAAK,EACL,SAAS,GAAG,SAAS,EACrB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAC1B,CAAC;IACF,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC;AAC5D,CAAC;AAED,2DAA2D;AAC3D,SAAgB,WAAW,CACzB,OAAkC;IAElC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,KAAK,GAAG,MAAM,CAAC;IACnB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAK,CAAC,CAAC,IAA6B,IAAI,EAAE;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QACjC,KAAK,MAAM,CAAC,IAAK,CAAC,CAAC,KAAwC,IAAI,EAAE,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;YAAE,KAAK,GAAG,OAAO,CAAC;IACnE,CAAC;IACD,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC7B,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,UAAU;QAChF,KAAK;KACN,CAAC;AACJ,CAAC"}
package/dist/run.d.ts CHANGED
@@ -2,11 +2,8 @@ import type { ForumulateClient } from '@forumulate/sdk';
2
2
  import { type ContentDeps } from './content/command';
3
3
  import type { SyncFiles } from './translations/sync';
4
4
  import type { Http } from './api/http';
5
- /**
6
- * Kept in step with package.json by `cli-version.test.ts` — they had drifted to
7
- * 0.1.0 and 0.2.1, so `--version` reported a release that was never published.
8
- */
9
- export declare const VERSION = "0.9.0";
5
+ import { VERSION } from './version';
6
+ export { VERSION };
10
7
  export interface RunDeps {
11
8
  /** The API client. Injected so the CLI is testable without a live server. */
12
9
  client: ForumulateClient;
@@ -47,9 +44,5 @@ export interface RunDeps {
47
44
  /** File access for `translations pull|push`, which also walks a folder. */
48
45
  translationFiles?: SyncFiles;
49
46
  }
50
- /**
51
- * Parse and execute a CLI invocation. Pure w.r.t. I/O (uses the injected deps),
52
- * so it can be unit-tested with a fake client. Returns a process exit code.
53
- */
54
- export declare function run(argv: string[], deps: RunDeps): Promise<number>;
47
+ export declare function run(argvIn: string[], deps: RunDeps): Promise<number>;
55
48
  //# sourceMappingURL=run.d.ts.map
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOxD,OAAO,EAAmC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC;;;GAGG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,6EAA6E;IAC7E,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,uGAAuG;IACvG,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,sEAAsE;IACtE,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;IAC7C,iEAAiE;IACjE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B;AAiBD;;;GAGG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAgaxE"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWxD,OAAO,EAAmC,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKtF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,MAAM,WAAW,OAAO;IACtB,6EAA6E;IAC7E,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,uGAAuG;IACvG,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,sEAAsE;IACtE,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;IAC7C,iEAAiE;IACjE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B;AA8BD,wBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA6a1E"}