@forumulate/cli 0.8.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.
- package/README.md +11 -3
- package/dist/api/args.d.ts.map +1 -1
- package/dist/api/args.js +1 -0
- package/dist/api/args.js.map +1 -1
- package/dist/api/command.d.ts +1 -1
- package/dist/api/command.d.ts.map +1 -1
- package/dist/api/command.js +86 -11
- package/dist/api/command.js.map +1 -1
- package/dist/api/http.d.ts +8 -0
- package/dist/api/http.d.ts.map +1 -1
- package/dist/api/http.js +3 -2
- package/dist/api/http.js.map +1 -1
- package/dist/api/live-spec.d.ts +48 -0
- package/dist/api/live-spec.d.ts.map +1 -0
- package/dist/api/live-spec.js +72 -0
- package/dist/api/live-spec.js.map +1 -0
- package/dist/api/operations.json +1 -1
- package/dist/api/request.d.ts.map +1 -1
- package/dist/api/request.js +25 -1
- package/dist/api/request.js.map +1 -1
- package/dist/api/send.d.ts +10 -1
- package/dist/api/send.d.ts.map +1 -1
- package/dist/api/send.js +14 -3
- package/dist/api/send.js.map +1 -1
- package/dist/api/slim.d.ts +14 -0
- package/dist/api/slim.d.ts.map +1 -0
- package/dist/api/slim.js +174 -0
- package/dist/api/slim.js.map +1 -0
- package/dist/cache-command.d.ts +12 -0
- package/dist/cache-command.d.ts.map +1 -0
- package/dist/cache-command.js +93 -0
- package/dist/cache-command.js.map +1 -0
- package/dist/check/command.d.ts +48 -0
- package/dist/check/command.d.ts.map +1 -0
- package/dist/check/command.js +256 -0
- package/dist/check/command.js.map +1 -0
- package/dist/check/external.d.ts +66 -0
- package/dist/check/external.d.ts.map +1 -0
- package/dist/check/external.js +177 -0
- package/dist/check/external.js.map +1 -0
- package/dist/check/markdown-links.d.ts +38 -0
- package/dist/check/markdown-links.d.ts.map +1 -0
- package/dist/check/markdown-links.js +166 -0
- package/dist/check/markdown-links.js.map +1 -0
- package/dist/cli.js +42 -7
- package/dist/cli.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +17 -0
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +6 -2
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/groups-api.d.ts.map +1 -1
- package/dist/commands/groups-api.js +20 -2
- package/dist/commands/groups-api.js.map +1 -1
- package/dist/commands/groups-docs.d.ts.map +1 -1
- package/dist/commands/groups-docs.js +8 -2
- package/dist/commands/groups-docs.js.map +1 -1
- package/dist/commands/groups-jobs.d.ts +10 -0
- package/dist/commands/groups-jobs.d.ts.map +1 -0
- package/dist/commands/groups-jobs.js +89 -0
- package/dist/commands/groups-jobs.js.map +1 -0
- package/dist/commands/groups-org.d.ts.map +1 -1
- package/dist/commands/groups-org.js +59 -2
- package/dist/commands/groups-org.js.map +1 -1
- package/dist/commands/groups-site.d.ts.map +1 -1
- package/dist/commands/groups-site.js +47 -10
- package/dist/commands/groups-site.js.map +1 -1
- package/dist/commands/groups-spaces.d.ts.map +1 -1
- package/dist/commands/groups-spaces.js +11 -5
- package/dist/commands/groups-spaces.js.map +1 -1
- package/dist/commands/groups-types.d.ts.map +1 -1
- package/dist/commands/groups-types.js +74 -0
- package/dist/commands/groups-types.js.map +1 -1
- package/dist/commands/groups.d.ts.map +1 -1
- package/dist/commands/groups.js +2 -0
- package/dist/commands/groups.js.map +1 -1
- package/dist/commands/index.d.ts +9 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +18 -3
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/job-wait.d.ts +64 -0
- package/dist/commands/job-wait.d.ts.map +1 -0
- package/dist/commands/job-wait.js +91 -0
- package/dist/commands/job-wait.js.map +1 -0
- package/dist/commands/resource.d.ts +19 -0
- package/dist/commands/resource.d.ts.map +1 -1
- package/dist/commands/resource.js +65 -3
- package/dist/commands/resource.js.map +1 -1
- package/dist/content/library.d.ts +8 -0
- package/dist/content/library.d.ts.map +1 -1
- package/dist/content/library.js +10 -2
- package/dist/content/library.js.map +1 -1
- package/dist/credentials.d.ts +43 -4
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +67 -4
- package/dist/credentials.js.map +1 -1
- package/dist/dev/command.d.ts +41 -0
- package/dist/dev/command.d.ts.map +1 -0
- package/dist/dev/command.js +158 -0
- package/dist/dev/command.js.map +1 -0
- package/dist/doctor/address-checks.d.ts +56 -0
- package/dist/doctor/address-checks.d.ts.map +1 -0
- package/dist/doctor/address-checks.js +183 -0
- package/dist/doctor/address-checks.js.map +1 -0
- package/dist/doctor/boilerplate.d.ts +33 -0
- package/dist/doctor/boilerplate.d.ts.map +1 -0
- package/dist/doctor/boilerplate.js +78 -0
- package/dist/doctor/boilerplate.js.map +1 -0
- package/dist/doctor/command.d.ts +18 -0
- package/dist/doctor/command.d.ts.map +1 -0
- package/dist/doctor/command.js +234 -0
- package/dist/doctor/command.js.map +1 -0
- package/dist/doctor/crawl.d.ts +49 -0
- package/dist/doctor/crawl.d.ts.map +1 -0
- package/dist/doctor/crawl.js +210 -0
- package/dist/doctor/crawl.js.map +1 -0
- package/dist/doctor/extended.d.ts +52 -0
- package/dist/doctor/extended.d.ts.map +1 -0
- package/dist/doctor/extended.js +150 -0
- package/dist/doctor/extended.js.map +1 -0
- package/dist/doctor/page-checks.d.ts +42 -0
- package/dist/doctor/page-checks.d.ts.map +1 -0
- package/dist/doctor/page-checks.js +200 -0
- package/dist/doctor/page-checks.js.map +1 -0
- package/dist/doctor/probe.d.ts +63 -0
- package/dist/doctor/probe.d.ts.map +1 -0
- package/dist/doctor/probe.js +170 -0
- package/dist/doctor/probe.js.map +1 -0
- package/dist/doctor/reader-auth-atlas.d.ts +18 -0
- package/dist/doctor/reader-auth-atlas.d.ts.map +1 -0
- package/dist/doctor/reader-auth-atlas.js +50 -0
- package/dist/doctor/reader-auth-atlas.js.map +1 -0
- package/dist/doctor/robots-params.d.ts +36 -0
- package/dist/doctor/robots-params.d.ts.map +1 -0
- package/dist/doctor/robots-params.js +97 -0
- package/dist/doctor/robots-params.js.map +1 -0
- package/dist/doctor/site.d.ts +42 -0
- package/dist/doctor/site.d.ts.map +1 -0
- package/dist/doctor/site.js +82 -0
- package/dist/doctor/site.js.map +1 -0
- package/dist/doctor.d.ts +21 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +94 -3
- package/dist/doctor.js.map +1 -1
- package/dist/exit-codes.d.ts +40 -0
- package/dist/exit-codes.d.ts.map +1 -0
- package/dist/exit-codes.js +66 -0
- package/dist/exit-codes.js.map +1 -0
- package/dist/help-commands.d.ts +13 -0
- package/dist/help-commands.d.ts.map +1 -0
- package/dist/help-commands.js +215 -0
- package/dist/help-commands.js.map +1 -0
- package/dist/help.d.ts +1 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +74 -11
- package/dist/help.js.map +1 -1
- package/dist/io.d.ts +33 -0
- package/dist/io.d.ts.map +1 -0
- package/dist/io.js +81 -0
- package/dist/io.js.map +1 -0
- package/dist/preview-comment.d.ts +20 -0
- package/dist/preview-comment.d.ts.map +1 -0
- package/dist/preview-comment.js +88 -0
- package/dist/preview-comment.js.map +1 -0
- package/dist/publish/about.d.ts +23 -0
- package/dist/publish/about.d.ts.map +1 -0
- package/dist/publish/about.js +66 -0
- package/dist/publish/about.js.map +1 -0
- package/dist/publish/api.d.ts +30 -12
- package/dist/publish/api.d.ts.map +1 -1
- package/dist/publish/api.js +62 -10
- package/dist/publish/api.js.map +1 -1
- package/dist/publish/client.d.ts +19 -0
- package/dist/publish/client.d.ts.map +1 -0
- package/dist/publish/client.js +3 -0
- package/dist/publish/client.js.map +1 -0
- package/dist/publish/command.d.ts +51 -2
- package/dist/publish/command.d.ts.map +1 -1
- package/dist/publish/command.js +157 -17
- package/dist/publish/command.js.map +1 -1
- package/dist/publish/context.d.ts +12 -1
- package/dist/publish/context.d.ts.map +1 -1
- package/dist/publish/context.js.map +1 -1
- package/dist/publish/diff.d.ts +21 -0
- package/dist/publish/diff.d.ts.map +1 -0
- package/dist/publish/diff.js +96 -0
- package/dist/publish/diff.js.map +1 -0
- package/dist/publish/docs-apply.d.ts +8 -1
- package/dist/publish/docs-apply.d.ts.map +1 -1
- package/dist/publish/docs-apply.js +49 -10
- package/dist/publish/docs-apply.js.map +1 -1
- package/dist/publish/docs-plan.d.ts +16 -3
- package/dist/publish/docs-plan.d.ts.map +1 -1
- package/dist/publish/docs-plan.js +57 -6
- package/dist/publish/docs-plan.js.map +1 -1
- package/dist/publish/extras.d.ts +10 -0
- package/dist/publish/extras.d.ts.map +1 -1
- package/dist/publish/extras.js +54 -2
- package/dist/publish/extras.js.map +1 -1
- package/dist/publish/frontmatter.d.ts +1 -1
- package/dist/publish/frontmatter.d.ts.map +1 -1
- package/dist/publish/frontmatter.js +1 -0
- package/dist/publish/frontmatter.js.map +1 -1
- package/dist/publish/index.d.ts +12 -0
- package/dist/publish/index.d.ts.map +1 -0
- package/dist/publish/index.js +17 -0
- package/dist/publish/index.js.map +1 -0
- package/dist/publish/manifest.d.ts.map +1 -1
- package/dist/publish/manifest.js +48 -3
- package/dist/publish/manifest.js.map +1 -1
- package/dist/publish/names.d.ts +28 -0
- package/dist/publish/names.d.ts.map +1 -0
- package/dist/publish/names.js +80 -0
- package/dist/publish/names.js.map +1 -0
- package/dist/publish/posts.d.ts.map +1 -1
- package/dist/publish/posts.js +46 -13
- package/dist/publish/posts.js.map +1 -1
- package/dist/publish/preview.d.ts +56 -0
- package/dist/publish/preview.d.ts.map +1 -0
- package/dist/publish/preview.js +133 -0
- package/dist/publish/preview.js.map +1 -0
- package/dist/publish/redirects.d.ts +13 -0
- package/dist/publish/redirects.d.ts.map +1 -0
- package/dist/publish/redirects.js +154 -0
- package/dist/publish/redirects.js.map +1 -0
- package/dist/publish/reserved.d.ts +49 -0
- package/dist/publish/reserved.d.ts.map +1 -0
- package/dist/publish/reserved.js +118 -0
- package/dist/publish/reserved.js.map +1 -0
- package/dist/publish/rewrite.d.ts +12 -0
- package/dist/publish/rewrite.d.ts.map +1 -1
- package/dist/publish/rewrite.js +22 -0
- package/dist/publish/rewrite.js.map +1 -1
- package/dist/publish/scan-docs.d.ts +10 -0
- package/dist/publish/scan-docs.d.ts.map +1 -0
- package/dist/publish/scan-docs.js +160 -0
- package/dist/publish/scan-docs.js.map +1 -0
- package/dist/publish/scan.d.ts +21 -17
- package/dist/publish/scan.d.ts.map +1 -1
- package/dist/publish/scan.js +99 -232
- package/dist/publish/scan.js.map +1 -1
- package/dist/publish/slots.d.ts +39 -0
- package/dist/publish/slots.d.ts.map +1 -0
- package/dist/publish/slots.js +64 -0
- package/dist/publish/slots.js.map +1 -0
- package/dist/publish/studio-edits.d.ts +25 -0
- package/dist/publish/studio-edits.d.ts.map +1 -0
- package/dist/publish/studio-edits.js +53 -0
- package/dist/publish/studio-edits.js.map +1 -0
- package/dist/publish/tags.d.ts +9 -0
- package/dist/publish/tags.d.ts.map +1 -0
- package/dist/publish/tags.js +194 -0
- package/dist/publish/tags.js.map +1 -0
- package/dist/publish/types.d.ts +84 -1
- package/dist/publish/types.d.ts.map +1 -1
- package/dist/publish/types.js +0 -10
- package/dist/publish/types.js.map +1 -1
- package/dist/publish-command.d.ts +55 -0
- package/dist/publish-command.d.ts.map +1 -0
- package/dist/publish-command.js +197 -0
- package/dist/publish-command.js.map +1 -0
- package/dist/run.d.ts +3 -10
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +171 -112
- package/dist/run.js.map +1 -1
- package/dist/translations/target.d.ts.map +1 -1
- package/dist/translations/target.js +2 -2
- package/dist/translations/target.js.map +1 -1
- package/dist/validate.d.ts +39 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +166 -0
- package/dist/validate.js.map +1 -0
- package/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +11 -0
- package/dist/version.js.map +1 -0
- package/dist/whoami.d.ts +41 -0
- package/dist/whoami.d.ts.map +1 -0
- package/dist/whoami.js +161 -0
- package/dist/whoami.js.map +1 -0
- package/package.json +2 -2
- package/dist/publish-dir.d.ts +0 -54
- package/dist/publish-dir.d.ts.map +0 -1
- package/dist/publish-dir.js +0 -119
- package/dist/publish-dir.js.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.postPreviewComment = postPreviewComment;
|
|
4
|
+
const preview_1 = require("./publish/preview");
|
|
5
|
+
/**
|
|
6
|
+
* `publish --preview <name> --comment` (FMU-F01): post the preview's link and
|
|
7
|
+
* diff on the pull request it was built for — and on the next push EDIT that
|
|
8
|
+
* comment rather than add another, found by the hidden
|
|
9
|
+
* `<!-- forumulate-preview:<name> -->` marker the API puts in it.
|
|
10
|
+
*
|
|
11
|
+
* Host-neutral: GitHub, Gitea/Forgejo (the same REST shape), GitLab and
|
|
12
|
+
* Bitbucket, each with the token its CI documents for writing comments
|
|
13
|
+
* (`GITHUB_TOKEN`, `GITEA_TOKEN`, `GITLAB_TOKEN`, `BITBUCKET_TOKEN`). Any other
|
|
14
|
+
* host: print the comment with `--json` (`previews[].comment`) and post it with
|
|
15
|
+
* that host's own tool — the recipes in docs/guides/docs-workflow.md do both.
|
|
16
|
+
*
|
|
17
|
+
* Answers the pull request's address, or null when there is nothing to
|
|
18
|
+
* comment on (not a PR build). Throws with a sentence when the host refuses.
|
|
19
|
+
*/
|
|
20
|
+
async function postPreviewComment(preview, env, doFetch = fetch) {
|
|
21
|
+
const src = (0, preview_1.ciSource)(env);
|
|
22
|
+
if (!src.provider || !src.repository || !src.number)
|
|
23
|
+
return null;
|
|
24
|
+
const marker = `<!-- forumulate-preview:${preview.name} -->`;
|
|
25
|
+
const body = preview.comment.includes(marker) ? preview.comment : `${marker}\n${preview.comment}`;
|
|
26
|
+
const call = async (url, init) => {
|
|
27
|
+
const res = await doFetch(url, init);
|
|
28
|
+
if (!res.ok)
|
|
29
|
+
throw new Error(`${src.provider} answered ${res.status} for ${init.method ?? 'GET'} ${url}`);
|
|
30
|
+
return res.status === 204 ? null : res.json();
|
|
31
|
+
};
|
|
32
|
+
switch (src.provider) {
|
|
33
|
+
case 'github':
|
|
34
|
+
case 'gitea': {
|
|
35
|
+
const token = env.GITEA_TOKEN || env.GITHUB_TOKEN || env.GH_TOKEN;
|
|
36
|
+
if (!token)
|
|
37
|
+
throw new Error('no GITHUB_TOKEN (or GITEA_TOKEN) to comment with');
|
|
38
|
+
const api = (env.GITHUB_API_URL || 'https://api.github.com').replace(/\/$/, '');
|
|
39
|
+
const headers = {
|
|
40
|
+
authorization: src.provider === 'gitea' ? `token ${token}` : `Bearer ${token}`,
|
|
41
|
+
accept: 'application/vnd.github+json',
|
|
42
|
+
'content-type': 'application/json',
|
|
43
|
+
'user-agent': 'forumulate-cli',
|
|
44
|
+
};
|
|
45
|
+
const base = `${api}/repos/${src.repository}/issues`;
|
|
46
|
+
const list = (await call(`${base}/${src.number}/comments?per_page=100`, { headers }));
|
|
47
|
+
const mine = list?.find((c) => c.body?.includes(marker));
|
|
48
|
+
if (mine)
|
|
49
|
+
await call(`${base}/comments/${mine.id}`, { method: 'PATCH', headers, body: JSON.stringify({ body }) });
|
|
50
|
+
else
|
|
51
|
+
await call(`${base}/${src.number}/comments`, { method: 'POST', headers, body: JSON.stringify({ body }) });
|
|
52
|
+
return src.url ?? `${src.repository}#${src.number}`;
|
|
53
|
+
}
|
|
54
|
+
case 'gitlab': {
|
|
55
|
+
const token = env.GITLAB_TOKEN;
|
|
56
|
+
if (!token)
|
|
57
|
+
throw new Error('no GITLAB_TOKEN to comment with (CI_JOB_TOKEN cannot write notes)');
|
|
58
|
+
const api = (env.CI_API_V4_URL || 'https://gitlab.com/api/v4').replace(/\/$/, '');
|
|
59
|
+
const headers = { 'private-token': token, 'content-type': 'application/json' };
|
|
60
|
+
const base = `${api}/projects/${encodeURIComponent(src.repository)}/merge_requests/${src.number}/notes`;
|
|
61
|
+
const list = (await call(`${base}?per_page=100`, { headers }));
|
|
62
|
+
const mine = list?.find((n) => n.body?.includes(marker));
|
|
63
|
+
if (mine)
|
|
64
|
+
await call(`${base}/${mine.id}`, { method: 'PUT', headers, body: JSON.stringify({ body }) });
|
|
65
|
+
else
|
|
66
|
+
await call(base, { method: 'POST', headers, body: JSON.stringify({ body }) });
|
|
67
|
+
return src.url ?? `${src.repository}!${src.number}`;
|
|
68
|
+
}
|
|
69
|
+
case 'bitbucket': {
|
|
70
|
+
const token = env.BITBUCKET_TOKEN;
|
|
71
|
+
if (!token)
|
|
72
|
+
throw new Error('no BITBUCKET_TOKEN (a repository access token) to comment with');
|
|
73
|
+
const headers = { authorization: `Bearer ${token}`, 'content-type': 'application/json' };
|
|
74
|
+
const base = `https://api.bitbucket.org/2.0/repositories/${src.repository}/pullrequests/${src.number}/comments`;
|
|
75
|
+
const list = (await call(`${base}?pagelen=100`, { headers }));
|
|
76
|
+
const mine = list?.values?.find((c) => c.content?.raw?.includes(marker));
|
|
77
|
+
const payload = JSON.stringify({ content: { raw: body } });
|
|
78
|
+
if (mine)
|
|
79
|
+
await call(`${base}/${mine.id}`, { method: 'PUT', headers, body: payload });
|
|
80
|
+
else
|
|
81
|
+
await call(base, { method: 'POST', headers, body: payload });
|
|
82
|
+
return src.url ?? `${src.repository}#${src.number}`;
|
|
83
|
+
}
|
|
84
|
+
default:
|
|
85
|
+
throw new Error(`no built-in commenter for ${src.provider}; post previews[].comment from \`--json\` with your host's tool`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=preview-comment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-comment.js","sourceRoot":"","sources":["../src/preview-comment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type SpaceCtx } from './context';
|
|
2
|
+
/**
|
|
3
|
+
* `about:` in forumulate.yaml — an About page's parts, as content-as-code.
|
|
4
|
+
*
|
|
5
|
+
* spaces:
|
|
6
|
+
* - path: about
|
|
7
|
+
* space: about
|
|
8
|
+
* create: { type: ABOUT, name: About }
|
|
9
|
+
* about:
|
|
10
|
+
* mission: Make work lighter.
|
|
11
|
+
* values: [{ title: Ship small }, { title: Write it down }]
|
|
12
|
+
* team: { source: authors, keys: [ada, grace], founders: [ada] }
|
|
13
|
+
* company: { legalName: Acme Software GmbH, vatId: DE123456789 }
|
|
14
|
+
*
|
|
15
|
+
* or `about: about.yaml` (a file beside the manifest holding the same map).
|
|
16
|
+
* The folder's own Markdown is the story page, published like any page. Only
|
|
17
|
+
* the top-level keys that differ from what the space holds are sent, through
|
|
18
|
+
* `PUT …/about` (PATCH semantics), so a re-run that changes nothing writes
|
|
19
|
+
* nothing; `null` in the manifest clears a part. Every reference is checked by
|
|
20
|
+
* the API, and a 422 names the key.
|
|
21
|
+
*/
|
|
22
|
+
export declare function syncAbout(ctx: SpaceCtx, apply: boolean, manifestFile: string | null): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=about.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"about.d.ts","sourceRoot":"","sources":["../../src/publish/about.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncAbout = syncAbout;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const yaml_1 = require("yaml");
|
|
7
|
+
const compare_1 = require("./compare");
|
|
8
|
+
const context_1 = require("./context");
|
|
9
|
+
/**
|
|
10
|
+
* `about:` in forumulate.yaml — an About page's parts, as content-as-code.
|
|
11
|
+
*
|
|
12
|
+
* spaces:
|
|
13
|
+
* - path: about
|
|
14
|
+
* space: about
|
|
15
|
+
* create: { type: ABOUT, name: About }
|
|
16
|
+
* about:
|
|
17
|
+
* mission: Make work lighter.
|
|
18
|
+
* values: [{ title: Ship small }, { title: Write it down }]
|
|
19
|
+
* team: { source: authors, keys: [ada, grace], founders: [ada] }
|
|
20
|
+
* company: { legalName: Acme Software GmbH, vatId: DE123456789 }
|
|
21
|
+
*
|
|
22
|
+
* or `about: about.yaml` (a file beside the manifest holding the same map).
|
|
23
|
+
* The folder's own Markdown is the story page, published like any page. Only
|
|
24
|
+
* the top-level keys that differ from what the space holds are sent, through
|
|
25
|
+
* `PUT …/about` (PATCH semantics), so a re-run that changes nothing writes
|
|
26
|
+
* nothing; `null` in the manifest clears a part. Every reference is checked by
|
|
27
|
+
* the API, and a 422 names the key.
|
|
28
|
+
*/
|
|
29
|
+
async function syncAbout(ctx, apply, manifestFile) {
|
|
30
|
+
const raw = ctx.spec.about;
|
|
31
|
+
if (raw === undefined || !ctx.only.part('about', ctx.spec))
|
|
32
|
+
return;
|
|
33
|
+
if (ctx.type !== 'ABOUT') {
|
|
34
|
+
ctx.errors.push(`about: belongs on an ABOUT space; ${ctx.spec.space} is ${ctx.type}`);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
let want;
|
|
38
|
+
if (typeof raw === 'string') {
|
|
39
|
+
const abs = (0, node_path_1.resolve)(manifestFile ? (0, node_path_1.dirname)(manifestFile) : ctx.root, raw);
|
|
40
|
+
const text = (0, node_fs_1.readFileSync)(abs, 'utf8');
|
|
41
|
+
const parsed = /\.json$/i.test(abs) ? JSON.parse(text) : (0, yaml_1.parse)(text);
|
|
42
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
43
|
+
ctx.errors.push(`about: ${raw} must hold a map of About parts`);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
want = parsed;
|
|
47
|
+
}
|
|
48
|
+
else
|
|
49
|
+
want = raw;
|
|
50
|
+
if (!ctx.api.opts.authed) {
|
|
51
|
+
ctx.line({
|
|
52
|
+
verb: 'patch',
|
|
53
|
+
what: 'about',
|
|
54
|
+
detail: `${Object.keys(want).join(', ')} — cannot compare without a token`,
|
|
55
|
+
});
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const current = await ctx.api.get((0, context_1.spacePath)(ctx, '/about'));
|
|
59
|
+
const keys = (0, compare_1.differingKeys)(current, want);
|
|
60
|
+
if (!keys.length)
|
|
61
|
+
return;
|
|
62
|
+
ctx.line({ verb: 'patch', what: 'about', detail: keys.join(', ') });
|
|
63
|
+
if (apply)
|
|
64
|
+
await ctx.api.put((0, context_1.spacePath)(ctx, '/about'), Object.fromEntries(keys.map((k) => [k, want[k]])));
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=about.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"about.js","sourceRoot":"","sources":["../../src/publish/about.ts"],"names":[],"mappings":";;AA0BA,8BAuCC;AAjED,qCAAuC;AACvC,yCAA6C;AAC7C,+BAA0C;AAC1C,uCAA0C;AAC1C,uCAAqD;AAErD;;;;;;;;;;;;;;;;;;;GAmBG;AACI,KAAK,UAAU,SAAS,CAC7B,GAAa,EACb,KAAc,EACd,YAA2B;IAE3B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO;IACnE,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IACD,IAAI,IAA6B,CAAC;IAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,YAAY,CAAC,CAAC,CAAC,IAAA,mBAAO,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAY,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAA,YAAS,EAAC,IAAI,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,iCAAiC,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,IAAI,GAAG,MAAiC,CAAC;IAC3C,CAAC;;QAAM,IAAI,GAAG,GAAG,CAAC;IAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC;SAC3E,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAA0B,IAAA,mBAAS,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,IAAA,uBAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,IAAI,KAAK;QACP,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CACf,IAAA,mBAAS,EAAC,GAAG,EAAE,QAAQ,CAAC,EACxB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;AACN,CAAC"}
|
package/dist/publish/api.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { ApiClient } from './client';
|
|
2
|
+
import type { Slot } from './slots';
|
|
3
|
+
import type { LiveCollection, LivePage, LivePost, LiveTag } from './types';
|
|
3
4
|
/**
|
|
4
5
|
* Every call the publisher makes, through `@forumulate/sdk`.
|
|
5
6
|
*
|
|
@@ -18,7 +19,7 @@ import type { LiveCollection, LivePage, LivePost } from './types';
|
|
|
18
19
|
* publishing.
|
|
19
20
|
*/
|
|
20
21
|
export interface ApiOptions {
|
|
21
|
-
client:
|
|
22
|
+
client: ApiClient;
|
|
22
23
|
/** Whether a token is present — decides authenticated vs public reads. */
|
|
23
24
|
authed: boolean;
|
|
24
25
|
readOnly: boolean;
|
|
@@ -60,25 +61,31 @@ export declare class PublishApi {
|
|
|
60
61
|
collections: LiveCollection[];
|
|
61
62
|
pages: LivePage[];
|
|
62
63
|
fieldKeys: string[];
|
|
64
|
+
slots: Slot[];
|
|
63
65
|
publicRows: Map<string, Record<string, unknown>>;
|
|
64
66
|
}>;
|
|
65
|
-
/**
|
|
66
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Every page's markdown, and its slots, in one paged walk when authenticated.
|
|
69
|
+
* The slots are what a page whose front matter fills them is compared by.
|
|
70
|
+
*/
|
|
71
|
+
bodiesById(org: string, space: string): Promise<Map<string, {
|
|
72
|
+
markdown: string;
|
|
73
|
+
sections: Record<string, string>;
|
|
74
|
+
}>>;
|
|
67
75
|
/** One published page's markdown, the way a reader (or an agent) gets it. */
|
|
68
76
|
publicMarkdown(org: string, space: string, pageId: string): Promise<string | null>;
|
|
69
77
|
pageMeta(org: string, space: string, pageId: string): Promise<Record<string, unknown>>;
|
|
70
78
|
posts(org: string, space: string, type: string): Promise<LivePost[] | null>;
|
|
71
|
-
shape(org: string, space: string
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
role?: string;
|
|
76
|
-
schemaProperty?: string;
|
|
77
|
-
}[];
|
|
79
|
+
shape(org: string, space: string,
|
|
80
|
+
/** A post's own kind (`drop`, `roundup`): its preset's fields over the space's. */
|
|
81
|
+
kind?: string): Promise<{
|
|
82
|
+
sections: Slot[];
|
|
78
83
|
params: {
|
|
79
84
|
key: string;
|
|
80
85
|
}[];
|
|
81
86
|
}>;
|
|
87
|
+
/** How each tag looks now (`GET …/blog/tag-info`); null without a token. */
|
|
88
|
+
tagInfo(org: string, space: string): Promise<LiveTag[] | null>;
|
|
82
89
|
assets(org: string, space: string): Promise<Map<string, string>>;
|
|
83
90
|
/**
|
|
84
91
|
* Upload once, by content. The stored name carries a hash of the bytes, so a
|
|
@@ -87,8 +94,19 @@ export declare class PublishApi {
|
|
|
87
94
|
*/
|
|
88
95
|
upload(org: string, space: string, abs: string, existing: Map<string, string>): Promise<string>;
|
|
89
96
|
}
|
|
97
|
+
/** The first 12 hex of the file's sha256: what an upload is deduplicated by. */
|
|
98
|
+
export declare function contentHash(abs: string): string;
|
|
90
99
|
/** `<12 hex of sha256>-<file name>` — the stored name an asset is found by. */
|
|
91
100
|
export declare function assetName(abs: string): string;
|
|
101
|
+
/**
|
|
102
|
+
* The URL of an asset with the same BYTES, whatever it was called.
|
|
103
|
+
*
|
|
104
|
+
* The stored name leads with the content hash, so the same picture saved as
|
|
105
|
+
* `cover.png` in one post folder and `hero.png` in another — or renamed, or
|
|
106
|
+
* moved — is found and reused rather than uploaded again. A changed picture
|
|
107
|
+
* has a new hash, so it is never mistaken for the old one.
|
|
108
|
+
*/
|
|
109
|
+
export declare function lookupAsset(existing: Map<string, string>, abs: string): string | undefined;
|
|
92
110
|
/** A short, stable key for `Idempotency-Key`: the same write retried is one write. */
|
|
93
111
|
export declare function idemKey(...parts: string[]): string;
|
|
94
112
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/publish/api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/publish/api.ts"],"names":[],"mappings":"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"}
|
package/dist/publish/api.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PublishApi = exports.isUuid = void 0;
|
|
4
|
+
exports.contentHash = contentHash;
|
|
4
5
|
exports.assetName = assetName;
|
|
6
|
+
exports.lookupAsset = lookupAsset;
|
|
5
7
|
exports.idemKey = idemKey;
|
|
6
8
|
const node_fs_1 = require("node:fs");
|
|
7
9
|
const node_path_1 = require("node:path");
|
|
@@ -145,6 +147,7 @@ class PublishApi {
|
|
|
145
147
|
collections,
|
|
146
148
|
pages,
|
|
147
149
|
fieldKeys: (r.shape?.params ?? []).map((p) => p.key),
|
|
150
|
+
slots: r.shape?.sections ?? [],
|
|
148
151
|
publicRows,
|
|
149
152
|
};
|
|
150
153
|
}
|
|
@@ -167,18 +170,22 @@ class PublishApi {
|
|
|
167
170
|
collections,
|
|
168
171
|
pages,
|
|
169
172
|
fieldKeys: (shape.shape?.params ?? []).map((p) => p.key),
|
|
173
|
+
slots: shape.shape?.sections ?? [],
|
|
170
174
|
publicRows,
|
|
171
175
|
};
|
|
172
176
|
}
|
|
173
|
-
/**
|
|
174
|
-
|
|
177
|
+
/**
|
|
178
|
+
* Every page's markdown, and its slots, in one paged walk when authenticated.
|
|
179
|
+
* The slots are what a page whose front matter fills them is compared by.
|
|
180
|
+
*/
|
|
181
|
+
async bodiesById(org, space) {
|
|
175
182
|
const out = new Map();
|
|
176
183
|
if (!this.opts.authed)
|
|
177
184
|
return out;
|
|
178
|
-
const items = await this.all(`/orgs/${org}/spaces/${space}/items`, 'items', { limit: 50, include: 'body' });
|
|
185
|
+
const items = await this.all(`/orgs/${org}/spaces/${space}/items`, 'items', { limit: 50, include: 'sections,body' });
|
|
179
186
|
for (const i of items)
|
|
180
187
|
if (typeof i.markdown === 'string')
|
|
181
|
-
out.set(i.id, i.markdown);
|
|
188
|
+
out.set(i.id, { markdown: i.markdown, sections: i.sections ?? {} });
|
|
182
189
|
return out;
|
|
183
190
|
}
|
|
184
191
|
/** One published page's markdown, the way a reader (or an agent) gets it. */
|
|
@@ -213,14 +220,24 @@ class PublishApi {
|
|
|
213
220
|
const rows = await this.all(`/public/orgs/${org}/spaces/${space}/blog`, 'articles', { limit: 100 });
|
|
214
221
|
return rows.map((r) => ({ ...r, published: true }));
|
|
215
222
|
}
|
|
216
|
-
async shape(org, space
|
|
223
|
+
async shape(org, space,
|
|
224
|
+
/** A post's own kind (`drop`, `roundup`): its preset's fields over the space's. */
|
|
225
|
+
kind) {
|
|
217
226
|
if (!this.opts.authed) {
|
|
218
227
|
const r = await this.get(`/public/orgs/${org}/spaces/${space}`).catch(() => ({ shape: undefined }));
|
|
219
228
|
return { sections: r.shape?.sections ?? [], params: r.shape?.params ?? [] };
|
|
220
229
|
}
|
|
221
|
-
const r = await this.get(`/orgs/${org}/spaces/${space}/shape`);
|
|
230
|
+
const r = await this.get(`/orgs/${org}/spaces/${space}/shape${kind ? `?preset=${encodeURIComponent(kind)}` : ''}`);
|
|
222
231
|
return { sections: r.shape?.sections ?? [], params: r.shape?.params ?? [] };
|
|
223
232
|
}
|
|
233
|
+
// ── Blog categories ───────────────────────────────────────────────────────
|
|
234
|
+
/** How each tag looks now (`GET …/blog/tag-info`); null without a token. */
|
|
235
|
+
async tagInfo(org, space) {
|
|
236
|
+
if (!this.opts.authed)
|
|
237
|
+
return null;
|
|
238
|
+
const r = await this.get(`/orgs/${org}/spaces/${space}/blog/tag-info`);
|
|
239
|
+
return r.tags ?? [];
|
|
240
|
+
}
|
|
224
241
|
// ── Assets ─────────────────────────────────────────────────────────────────
|
|
225
242
|
async assets(org, space) {
|
|
226
243
|
if (!this.opts.authed)
|
|
@@ -234,10 +251,10 @@ class PublishApi {
|
|
|
234
251
|
* run — and a changed image gets a new name, so no cache serves the old one.
|
|
235
252
|
*/
|
|
236
253
|
async upload(org, space, abs, existing) {
|
|
237
|
-
const
|
|
238
|
-
const known = existing.get(name);
|
|
254
|
+
const known = lookupAsset(existing, abs);
|
|
239
255
|
if (known)
|
|
240
256
|
return known;
|
|
257
|
+
const name = assetName(abs);
|
|
241
258
|
if (this.opts.readOnly)
|
|
242
259
|
throw new Error(`dry run tried to upload ${abs}`);
|
|
243
260
|
if (!this.opts.upload)
|
|
@@ -253,10 +270,45 @@ class PublishApi {
|
|
|
253
270
|
}
|
|
254
271
|
}
|
|
255
272
|
exports.PublishApi = PublishApi;
|
|
273
|
+
/**
|
|
274
|
+
* Hashes already computed this process, by path, size and modification time —
|
|
275
|
+
* a picture ten posts point at is read once, and one edited between two runs
|
|
276
|
+
* in the same process (the git sync job) is read again.
|
|
277
|
+
*/
|
|
278
|
+
const hashes = new Map();
|
|
279
|
+
/** The first 12 hex of the file's sha256: what an upload is deduplicated by. */
|
|
280
|
+
function contentHash(abs) {
|
|
281
|
+
const st = (0, node_fs_1.statSync)(abs);
|
|
282
|
+
const key = `${abs}\u0000${st.size}\u0000${st.mtimeMs}`;
|
|
283
|
+
let h = hashes.get(key);
|
|
284
|
+
if (!h) {
|
|
285
|
+
h = (0, node_crypto_1.createHash)('sha256').update((0, node_fs_1.readFileSync)(abs)).digest('hex').slice(0, 12);
|
|
286
|
+
hashes.set(key, h);
|
|
287
|
+
}
|
|
288
|
+
return h;
|
|
289
|
+
}
|
|
256
290
|
/** `<12 hex of sha256>-<file name>` — the stored name an asset is found by. */
|
|
257
291
|
function assetName(abs) {
|
|
258
|
-
|
|
259
|
-
|
|
292
|
+
return `${contentHash(abs)}-${(0, node_path_1.basename)(abs).replace(/[^\w.-]+/g, '-')}`;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* The URL of an asset with the same BYTES, whatever it was called.
|
|
296
|
+
*
|
|
297
|
+
* The stored name leads with the content hash, so the same picture saved as
|
|
298
|
+
* `cover.png` in one post folder and `hero.png` in another — or renamed, or
|
|
299
|
+
* moved — is found and reused rather than uploaded again. A changed picture
|
|
300
|
+
* has a new hash, so it is never mistaken for the old one.
|
|
301
|
+
*/
|
|
302
|
+
function lookupAsset(existing, abs) {
|
|
303
|
+
const name = assetName(abs);
|
|
304
|
+
const exact = existing.get(name);
|
|
305
|
+
if (exact)
|
|
306
|
+
return exact;
|
|
307
|
+
const prefix = `${contentHash(abs)}-`;
|
|
308
|
+
for (const [stored, url] of existing)
|
|
309
|
+
if (stored.startsWith(prefix))
|
|
310
|
+
return url;
|
|
311
|
+
return undefined;
|
|
260
312
|
}
|
|
261
313
|
/** A short, stable key for `Idempotency-Key`: the same write retried is one write. */
|
|
262
314
|
function idemKey(...parts) {
|
package/dist/publish/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/publish/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/publish/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one call the publisher makes of an API client.
|
|
3
|
+
*
|
|
4
|
+
* Structurally `ForumulateClient.request` from `@forumulate/sdk`, which the CLI
|
|
5
|
+
* passes in — but declared here rather than imported, so this folder depends
|
|
6
|
+
* on nothing but Node and `yaml`. That is what lets the API run the very same
|
|
7
|
+
* planner as a background job (`packages/content-sync` compiles this folder
|
|
8
|
+
* for it) without pulling the generated SDK into the server's build: one
|
|
9
|
+
* folder sync, two front doors, no second copy of its rules.
|
|
10
|
+
*/
|
|
11
|
+
export interface ApiClient {
|
|
12
|
+
request<T>(method: string, path: string, opts?: {
|
|
13
|
+
body?: unknown;
|
|
14
|
+
query?: Record<string, string | number | boolean | undefined>;
|
|
15
|
+
raw?: boolean;
|
|
16
|
+
headers?: Record<string, string>;
|
|
17
|
+
}): Promise<T>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/publish/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,CAAC,EACP,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;QAC9D,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GACA,OAAO,CAAC,CAAC,CAAC,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/publish/client.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ApiClient } from './client';
|
|
2
|
+
import type { PlanLine } from './types';
|
|
3
|
+
import { type StudioConflict } from './studio-edits';
|
|
4
|
+
import { type PreviewResult } from './preview';
|
|
2
5
|
/**
|
|
3
6
|
* `forumulate publish <folder>` — a folder of Markdown, and optionally a
|
|
4
7
|
* manifest, made into a live presence; and the same command run again changes
|
|
@@ -30,15 +33,61 @@ export interface PublishOptions {
|
|
|
30
33
|
only?: string[];
|
|
31
34
|
paceMs: number;
|
|
32
35
|
json: boolean;
|
|
36
|
+
/** Print what changed inside each updated piece (`--diff`). */
|
|
37
|
+
diff?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* The space a manifest-less folder (or a one-space manifest that names
|
|
40
|
+
* none) publishes into — what git sync passes: the space the repository is
|
|
41
|
+
* connected to. Unlike `space`, it never overrides one the manifest names.
|
|
42
|
+
*/
|
|
43
|
+
defaultSpace?: string;
|
|
44
|
+
/** Which command is speaking, for the words of the summary. */
|
|
45
|
+
command?: 'publish' | 'sync';
|
|
46
|
+
/** `--purge` (FMU-D04). Undefined: the server's background purge, unreported. */
|
|
47
|
+
purge?: 'page' | 'space' | 'none';
|
|
48
|
+
/**
|
|
49
|
+
* `--preview <name>` (FMU-F01): plan as a publish would, then send the pages
|
|
50
|
+
* to a preview of that name instead of publishing them. Implies a plan: no
|
|
51
|
+
* page, setting or theme is written.
|
|
52
|
+
*/
|
|
53
|
+
preview?: string;
|
|
54
|
+
/** `--preview-ttl <days>`: ask for a shorter-lived preview link. */
|
|
55
|
+
previewTtlDays?: number;
|
|
56
|
+
}
|
|
57
|
+
/** Everything a run decided, for a caller that keeps it (the git sync job stores it). */
|
|
58
|
+
export interface PublishReport {
|
|
59
|
+
dryRun: boolean;
|
|
60
|
+
lines: {
|
|
61
|
+
space: string;
|
|
62
|
+
line: PlanLine;
|
|
63
|
+
}[];
|
|
64
|
+
errors: string[];
|
|
65
|
+
unverified: {
|
|
66
|
+
space: string;
|
|
67
|
+
line: PlanLine;
|
|
68
|
+
}[];
|
|
69
|
+
writes: number;
|
|
70
|
+
/** Count per verb that changes something (`create`, `update`, …). */
|
|
71
|
+
counts: Record<string, number>;
|
|
72
|
+
/** Pieces that already matched the folder. */
|
|
73
|
+
unchanged: number;
|
|
74
|
+
/** Every purge the server reported for this run, per space (FMU-D04). */
|
|
75
|
+
purged: Record<string, unknown>[];
|
|
76
|
+
/** Pages the run refused to overwrite: edited in the studio since (FMU-D18). */
|
|
77
|
+
conflicts: StudioConflict[];
|
|
78
|
+
/** `--preview`: each space's preview link and summary (FMU-F01). */
|
|
79
|
+
previews: PreviewResult[];
|
|
33
80
|
}
|
|
34
81
|
export interface PublishDeps {
|
|
35
|
-
client:
|
|
82
|
+
client: ApiClient;
|
|
36
83
|
authed: boolean;
|
|
37
84
|
out: (line: string) => void;
|
|
38
85
|
err: (line: string) => void;
|
|
39
86
|
upload?: (path: string, form: FormData) => Promise<unknown>;
|
|
40
87
|
env?: NodeJS.ProcessEnv;
|
|
41
88
|
sleep?: (ms: number) => Promise<void>;
|
|
89
|
+
/** Handed the whole result at the end, whatever the output format. */
|
|
90
|
+
report?: (r: PublishReport) => void;
|
|
42
91
|
}
|
|
43
92
|
export declare function runPublish(opts: PublishOptions, deps: PublishDeps): Promise<number>;
|
|
44
93
|
//# sourceMappingURL=command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/publish/command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/publish/command.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAW1C,OAAO,KAAK,EAAsB,QAAQ,EAAa,MAAM,SAAS,CAAC;AACvE,OAAO,EAAiC,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,EAAuC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAEpF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,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,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,EAAE,CAAC;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,EAAE,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAClC,gFAAgF;IAChF,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,sEAAsE;IACtE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;CACrC;AAKD,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAwMzF"}
|