@forumulate/cli 0.5.0 → 0.9.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 +124 -5
- package/dist/api/args.d.ts +21 -0
- package/dist/api/args.d.ts.map +1 -0
- package/dist/api/args.js +81 -0
- package/dist/api/args.js.map +1 -0
- package/dist/api/command.d.ts +17 -0
- package/dist/api/command.d.ts.map +1 -0
- package/dist/api/command.js +182 -0
- package/dist/api/command.js.map +1 -0
- package/dist/api/describe.d.ts +5 -0
- package/dist/api/describe.d.ts.map +1 -0
- package/dist/api/describe.js +121 -0
- package/dist/api/describe.js.map +1 -0
- package/dist/api/http.d.ts +81 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +183 -0
- package/dist/api/http.js.map +1 -0
- package/dist/api/operations.json +1 -0
- package/dist/api/output.d.ts +35 -0
- package/dist/api/output.d.ts.map +1 -0
- package/dist/api/output.js +176 -0
- package/dist/api/output.js.map +1 -0
- package/dist/api/request.d.ts +37 -0
- package/dist/api/request.d.ts.map +1 -0
- package/dist/api/request.js +230 -0
- package/dist/api/request.js.map +1 -0
- package/dist/api/send.d.ts +35 -0
- package/dist/api/send.d.ts.map +1 -0
- package/dist/api/send.js +85 -0
- package/dist/api/send.js.map +1 -0
- package/dist/api/spec.d.ts +96 -0
- package/dist/api/spec.d.ts.map +1 -0
- package/dist/api/spec.js +126 -0
- package/dist/api/spec.js.map +1 -0
- package/dist/commands/completion.d.ts +12 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +169 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/config.d.ts +33 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +144 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/context.d.ts +35 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +59 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/groups-api.d.ts +11 -0
- package/dist/commands/groups-api.d.ts.map +1 -0
- package/dist/commands/groups-api.js +140 -0
- package/dist/commands/groups-api.js.map +1 -0
- package/dist/commands/groups-community.d.ts +15 -0
- package/dist/commands/groups-community.d.ts.map +1 -0
- package/dist/commands/groups-community.js +344 -0
- package/dist/commands/groups-community.js.map +1 -0
- package/dist/commands/groups-content.d.ts +10 -0
- package/dist/commands/groups-content.d.ts.map +1 -0
- package/dist/commands/groups-content.js +331 -0
- package/dist/commands/groups-content.js.map +1 -0
- package/dist/commands/groups-docs.d.ts +12 -0
- package/dist/commands/groups-docs.d.ts.map +1 -0
- package/dist/commands/groups-docs.js +414 -0
- package/dist/commands/groups-docs.js.map +1 -0
- package/dist/commands/groups-org.d.ts +10 -0
- package/dist/commands/groups-org.d.ts.map +1 -0
- package/dist/commands/groups-org.js +405 -0
- package/dist/commands/groups-org.js.map +1 -0
- package/dist/commands/groups-site.d.ts +3 -0
- package/dist/commands/groups-site.d.ts.map +1 -0
- package/dist/commands/groups-site.js +237 -0
- package/dist/commands/groups-site.js.map +1 -0
- package/dist/commands/groups-spaces.d.ts +3 -0
- package/dist/commands/groups-spaces.d.ts.map +1 -0
- package/dist/commands/groups-spaces.js +273 -0
- package/dist/commands/groups-spaces.js.map +1 -0
- package/dist/commands/groups-types.d.ts +3 -0
- package/dist/commands/groups-types.d.ts.map +1 -0
- package/dist/commands/groups-types.js +251 -0
- package/dist/commands/groups-types.js.map +1 -0
- package/dist/commands/groups.d.ts +4 -0
- package/dist/commands/groups.d.ts.map +1 -0
- package/dist/commands/groups.js +71 -0
- package/dist/commands/groups.js.map +1 -0
- package/dist/commands/index.d.ts +25 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +118 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/resource.d.ts +86 -0
- package/dist/commands/resource.d.ts.map +1 -0
- package/dist/commands/resource.js +314 -0
- package/dist/commands/resource.js.map +1 -0
- package/dist/content/library.d.ts +1 -0
- package/dist/content/library.d.ts.map +1 -1
- package/dist/content/library.js +1 -0
- package/dist/content/library.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/help.d.ts +3 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +159 -0
- package/dist/help.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 +31 -2
- package/dist/publish/command.d.ts.map +1 -1
- package/dist/publish/command.js +62 -15
- package/dist/publish/command.js.map +1 -1
- package/dist/publish/context.d.ts +4 -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 +37 -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/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 +23 -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/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/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 +62 -0
- 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/run.d.ts +16 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +124 -117
- package/dist/run.js.map +1 -1
- package/dist/translations/command.d.ts +36 -0
- package/dist/translations/command.d.ts.map +1 -0
- package/dist/translations/command.js +411 -0
- package/dist/translations/command.js.map +1 -0
- package/dist/translations/extras.d.ts +29 -0
- package/dist/translations/extras.d.ts.map +1 -0
- package/dist/translations/extras.js +123 -0
- package/dist/translations/extras.js.map +1 -0
- package/dist/translations/files.d.ts +22 -0
- package/dist/translations/files.d.ts.map +1 -0
- package/dist/translations/files.js +75 -0
- package/dist/translations/files.js.map +1 -0
- package/dist/translations/sync.d.ts +89 -0
- package/dist/translations/sync.d.ts.map +1 -0
- package/dist/translations/sync.js +215 -0
- package/dist/translations/sync.js.map +1 -0
- package/dist/translations/target.d.ts +33 -0
- package/dist/translations/target.d.ts.map +1 -0
- package/dist/translations/target.js +54 -0
- package/dist/translations/target.js.map +1 -0
- package/dist/translations/xliff.d.ts +29 -0
- package/dist/translations/xliff.d.ts.map +1 -0
- package/dist/translations/xliff.js +62 -0
- package/dist/translations/xliff.js.map +1 -0
- package/package.json +6 -4
package/dist/publish/manifest.js
CHANGED
|
@@ -5,7 +5,7 @@ exports.loadManifest = loadManifest;
|
|
|
5
5
|
const node_fs_1 = require("node:fs");
|
|
6
6
|
const node_path_1 = require("node:path");
|
|
7
7
|
const yaml_1 = require("yaml");
|
|
8
|
-
const
|
|
8
|
+
const reserved_1 = require("./reserved");
|
|
9
9
|
/**
|
|
10
10
|
* `forumulate.yaml` (or `.yml`, or `forumulate.json`) at the top of the folder.
|
|
11
11
|
*
|
|
@@ -26,7 +26,11 @@ const scan_1 = require("./scan");
|
|
|
26
26
|
* site: { slug: main, config: { tagline: "…" } }
|
|
27
27
|
* spaces:
|
|
28
28
|
* - { path: docs, space: docs }
|
|
29
|
-
* - { path: blog, space: blog }
|
|
29
|
+
* - { path: blog, space: blog, tags: { releases: { label: Releases, color: '#0a7' } } }
|
|
30
|
+
*
|
|
31
|
+
* Per space, besides where it publishes: `readme: index|skip` (what a README
|
|
32
|
+
* is — see `reserved.ts`), `ignore:` (more names to leave out) and `tags:`
|
|
33
|
+
* (how a blog's categories look — see `tags.ts`).
|
|
30
34
|
*/
|
|
31
35
|
const SPACE_KEYS = [
|
|
32
36
|
'space',
|
|
@@ -41,6 +45,9 @@ const SPACE_KEYS = [
|
|
|
41
45
|
'openapi',
|
|
42
46
|
'monitors',
|
|
43
47
|
'keep',
|
|
48
|
+
'readme',
|
|
49
|
+
'ignore',
|
|
50
|
+
'tags',
|
|
44
51
|
];
|
|
45
52
|
const TOP_KEYS = new Set(['org', 'site', 'spaces', '$schema', ...SPACE_KEYS]);
|
|
46
53
|
function findManifest(root, explicit) {
|
|
@@ -50,7 +57,7 @@ function findManifest(root, explicit) {
|
|
|
50
57
|
throw new Error(`No manifest at ${p}`);
|
|
51
58
|
return p;
|
|
52
59
|
}
|
|
53
|
-
for (const n of
|
|
60
|
+
for (const n of reserved_1.MANIFEST_NAMES) {
|
|
54
61
|
const p = (0, node_path_1.join)(root, n);
|
|
55
62
|
if ((0, node_fs_1.existsSync)(p))
|
|
56
63
|
return p;
|
|
@@ -89,6 +96,14 @@ function spaceSpec(raw, where) {
|
|
|
89
96
|
if (typeof asObject(m, `${where}.monitors[${i}]`)?.name !== 'string')
|
|
90
97
|
throw new Error(`${where}.monitors[${i}] needs a \`name\` — monitors are matched by it`);
|
|
91
98
|
}
|
|
99
|
+
if (raw.readme !== undefined && raw.readme !== 'index' && raw.readme !== 'skip')
|
|
100
|
+
throw new Error(`${where}.readme must be \`index\` or \`skip\``);
|
|
101
|
+
if (raw.ignore !== undefined && !Array.isArray(raw.ignore) && typeof raw.ignore !== 'string')
|
|
102
|
+
throw new Error(`${where}.ignore must be a list of patterns`);
|
|
103
|
+
const tags = asObject(raw.tags, `${where}.tags`);
|
|
104
|
+
for (const [slug, t] of Object.entries(tags ?? {}))
|
|
105
|
+
if (t !== null && (typeof t !== 'object' || Array.isArray(t)))
|
|
106
|
+
throw new Error(`${where}.tags.${slug} must be a map (label, color, cover, icon, …)`);
|
|
92
107
|
return {
|
|
93
108
|
path: typeof raw.path === 'string' ? raw.path : '',
|
|
94
109
|
space: raw.space === undefined ? undefined : String(raw.space),
|
|
@@ -102,6 +117,11 @@ function spaceSpec(raw, where) {
|
|
|
102
117
|
openapi: openapi,
|
|
103
118
|
monitors: monitors,
|
|
104
119
|
keep: Array.isArray(raw.keep) ? raw.keep.map(String) : undefined,
|
|
120
|
+
readme: raw.readme,
|
|
121
|
+
ignore: raw.ignore === undefined
|
|
122
|
+
? undefined
|
|
123
|
+
: (Array.isArray(raw.ignore) ? raw.ignore : [raw.ignore]).map(String),
|
|
124
|
+
tags: tags,
|
|
105
125
|
};
|
|
106
126
|
}
|
|
107
127
|
/** Read and check the manifest; `null` file → the one-space default. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/publish/manifest.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/publish/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The naming rules a folder is read by: which files are Markdown, what a
|
|
3
|
+
* number prefix means, and the product's slug and tag rules.
|
|
4
|
+
*/
|
|
5
|
+
export declare const MD: RegExp;
|
|
6
|
+
/** What a reference may point at to be uploaded rather than linked. */
|
|
7
|
+
export declare const ASSET: RegExp;
|
|
8
|
+
export declare const NUMERIC: RegExp;
|
|
9
|
+
export declare const DATED: RegExp;
|
|
10
|
+
export declare const BIG: number;
|
|
11
|
+
/** Numbers and separators only: a version (`2-4-0`, `1.10`), never a sort prefix. */
|
|
12
|
+
export declare const VERSION: RegExp;
|
|
13
|
+
/** The product's slug rule (packages/shared `slugify`), mirrored: this package ships alone. */
|
|
14
|
+
export declare function slugify(input: string, fallback?: string, max?: number): string;
|
|
15
|
+
/**
|
|
16
|
+
* The product's TAG rule (apps/api `normalizeTag`), mirrored for the same reason
|
|
17
|
+
* as `slugify`. Used to compare a front-matter tag list with the stored one: an
|
|
18
|
+
* ASCII-only fold here turned every Japanese or Cyrillic tag into `-`, so two
|
|
19
|
+
* different non-Latin tag lists compared equal and the update was skipped.
|
|
20
|
+
*/
|
|
21
|
+
export declare function tagKey(raw: string): string;
|
|
22
|
+
/** `02-getting-started` → `Getting Started`. */
|
|
23
|
+
export declare function titleize(name: string): string;
|
|
24
|
+
/** `[n, name]` from a numeric prefix, or "no position" sorted by name. */
|
|
25
|
+
export declare function prefixOrder(name: string): [number, string];
|
|
26
|
+
/** The title a page will get: front matter, else the leading `# heading` (the importer's rule). */
|
|
27
|
+
export declare function titleOf(front: Record<string, unknown>, body: string, fallback: string): string;
|
|
28
|
+
//# sourceMappingURL=names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"names.d.ts","sourceRoot":"","sources":["../../src/publish/names.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,EAAE,QAA0B,CAAC;AAC1C,uEAAuE;AACvE,eAAO,MAAM,KAAK,QAA+D,CAAC;AAClF,eAAO,MAAM,OAAO,QAAkB,CAAC;AACvC,eAAO,MAAM,KAAK,QAA6B,CAAC;AAChD,eAAO,MAAM,GAAG,QAA0B,CAAC;AAC3C,qFAAqF;AACrF,eAAO,MAAM,OAAO,QAA0B,CAAC;AAE/C,+FAA+F;AAC/F,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAS,EAAE,GAAG,SAAK,GAAG,MAAM,CAa1E;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc1C;AAED,gDAAgD;AAChD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1D;AAED,mGAAmG;AACnG,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW9F"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VERSION = exports.BIG = exports.DATED = exports.NUMERIC = exports.ASSET = exports.MD = void 0;
|
|
4
|
+
exports.slugify = slugify;
|
|
5
|
+
exports.tagKey = tagKey;
|
|
6
|
+
exports.titleize = titleize;
|
|
7
|
+
exports.prefixOrder = prefixOrder;
|
|
8
|
+
exports.titleOf = titleOf;
|
|
9
|
+
/**
|
|
10
|
+
* The naming rules a folder is read by: which files are Markdown, what a
|
|
11
|
+
* number prefix means, and the product's slug and tag rules.
|
|
12
|
+
*/
|
|
13
|
+
exports.MD = /\.(md|mdx|markdown)$/i;
|
|
14
|
+
/** What a reference may point at to be uploaded rather than linked. */
|
|
15
|
+
exports.ASSET = /\.(png|jpe?g|gif|webp|svg|avif|ico|pdf|mp4|webm|mp3|zip)$/i;
|
|
16
|
+
exports.NUMERIC = /^(\d+)[-_. ]+/;
|
|
17
|
+
exports.DATED = /^(\d{4}-\d{2}-\d{2})[-_]/;
|
|
18
|
+
exports.BIG = Number.MAX_SAFE_INTEGER;
|
|
19
|
+
/** Numbers and separators only: a version (`2-4-0`, `1.10`), never a sort prefix. */
|
|
20
|
+
exports.VERSION = /^v?\d+(?:[-_.]\d+)+$/i;
|
|
21
|
+
/** The product's slug rule (packages/shared `slugify`), mirrored: this package ships alone. */
|
|
22
|
+
function slugify(input, fallback = 'page', max = 70) {
|
|
23
|
+
return (input
|
|
24
|
+
.normalize('NFC')
|
|
25
|
+
.toLowerCase()
|
|
26
|
+
.normalize('NFD')
|
|
27
|
+
.replace(/[̀-ͯ]/g, '')
|
|
28
|
+
.normalize('NFC')
|
|
29
|
+
.replace(/[^\p{Letter}\p{Number}]+/gu, '-')
|
|
30
|
+
.replace(/^-+|-+$/g, '')
|
|
31
|
+
.slice(0, max)
|
|
32
|
+
.replace(/-+$/, '') || fallback);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The product's TAG rule (apps/api `normalizeTag`), mirrored for the same reason
|
|
36
|
+
* as `slugify`. Used to compare a front-matter tag list with the stored one: an
|
|
37
|
+
* ASCII-only fold here turned every Japanese or Cyrillic tag into `-`, so two
|
|
38
|
+
* different non-Latin tag lists compared equal and the update was skipped.
|
|
39
|
+
*/
|
|
40
|
+
function tagKey(raw) {
|
|
41
|
+
const t = String(raw ?? '')
|
|
42
|
+
.normalize('NFC')
|
|
43
|
+
.toLowerCase()
|
|
44
|
+
.normalize('NFD')
|
|
45
|
+
.replace(/[\u0300-\u036f]/g, '')
|
|
46
|
+
.normalize('NFC')
|
|
47
|
+
.replace(/[^\p{Letter}\p{Number}+#.-]+/gu, '-')
|
|
48
|
+
.replace(/^[-#]+/, '')
|
|
49
|
+
.replace(/^\.+(?![\p{Letter}\p{Number}])/u, '')
|
|
50
|
+
.replace(/^[-#]+/, '')
|
|
51
|
+
.replace(/[-.]+$/, '');
|
|
52
|
+
if (!/[\p{Letter}\p{Number}]/u.test(t))
|
|
53
|
+
return '';
|
|
54
|
+
return t.slice(0, 60).replace(/[-.]+$/, '');
|
|
55
|
+
}
|
|
56
|
+
/** `02-getting-started` → `Getting Started`. */
|
|
57
|
+
function titleize(name) {
|
|
58
|
+
const bare = name.replace(exports.NUMERIC, '').replace(/[-_]+/g, ' ').trim();
|
|
59
|
+
return bare.replace(/\b\p{Letter}/gu, (c) => c.toUpperCase()) || name;
|
|
60
|
+
}
|
|
61
|
+
/** `[n, name]` from a numeric prefix, or "no position" sorted by name. */
|
|
62
|
+
function prefixOrder(name) {
|
|
63
|
+
const m = exports.NUMERIC.exec(name);
|
|
64
|
+
return [m ? Number(m[1]) : exports.BIG, name.replace(exports.NUMERIC, '').toLowerCase()];
|
|
65
|
+
}
|
|
66
|
+
/** The title a page will get: front matter, else the leading `# heading` (the importer's rule). */
|
|
67
|
+
function titleOf(front, body, fallback) {
|
|
68
|
+
if (typeof front.title === 'string' && front.title.trim())
|
|
69
|
+
return front.title.trim();
|
|
70
|
+
const first = body.split(/\r?\n/).find((l) => l.trim());
|
|
71
|
+
const h1 = first && /^#\s+(.+?)\s*#*\s*$/.exec(first);
|
|
72
|
+
// A title is stored as plain text: the importer keeps the heading's words and
|
|
73
|
+
// drops its marks, so `` `required` `` comes back as `required`.
|
|
74
|
+
const plain = h1?.[1]
|
|
75
|
+
?.replace(/!?\[([^\]]*)\]\([^)]*\)/g, '$1')
|
|
76
|
+
.replace(/[`*_~]/g, '')
|
|
77
|
+
.trim();
|
|
78
|
+
return plain || fallback;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"names.js","sourceRoot":"","sources":["../../src/publish/names.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posts.d.ts","sourceRoot":"","sources":["../../src/publish/posts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"posts.d.ts","sourceRoot":"","sources":["../../src/publish/posts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAMrD,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AAEH,KAAK,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AA2D3C,UAAU,KAAK;IACb,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxF,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3B;AAwBD,8FAA8F;AAC9F,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACxB;IACD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAwFA;AAED,uDAAuD;AACvD,wBAAsB,YAAY,CAChC,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CA2Hf"}
|
package/dist/publish/posts.js
CHANGED
|
@@ -8,6 +8,7 @@ const context_1 = require("./context");
|
|
|
8
8
|
const api_1 = require("./api");
|
|
9
9
|
const docs_apply_1 = require("./docs-apply");
|
|
10
10
|
const rewrite_1 = require("./rewrite");
|
|
11
|
+
const diff_1 = require("./diff");
|
|
11
12
|
const scan_1 = require("./scan");
|
|
12
13
|
const kindOf = (type) => type === 'BLOG' ? 'blog' : type === 'CHANGELOG' ? 'changelog' : 'items';
|
|
13
14
|
/** Front matter keys each door takes besides the body, under the door's own names. */
|
|
@@ -29,6 +30,8 @@ const BLOG_EXTRAS = [
|
|
|
29
30
|
'customization',
|
|
30
31
|
'featured',
|
|
31
32
|
'pinned',
|
|
33
|
+
// The post's kind (`drop`, `roundup`, R-N1/R-N9): its declared fields follow.
|
|
34
|
+
'kind',
|
|
32
35
|
];
|
|
33
36
|
const CHANGELOG_EXTRAS = [
|
|
34
37
|
'version',
|
|
@@ -94,7 +97,8 @@ function postPayload(post, kind, shape, ctx, urls) {
|
|
|
94
97
|
if (shape.sections.length) {
|
|
95
98
|
const sections = {};
|
|
96
99
|
for (const s of shape.sections) {
|
|
97
|
-
|
|
100
|
+
// Folded like the front matter keys above, so `short_answer:` fills `short-answer`.
|
|
101
|
+
const hit = lower.get(s.key.toLowerCase().replace(/[-_]/g, ''));
|
|
98
102
|
if (hit && typeof hit[1] === 'string') {
|
|
99
103
|
sections[s.key] = hit[1];
|
|
100
104
|
used.add(hit[0]);
|
|
@@ -162,12 +166,11 @@ function postPayload(post, kind, shape, ctx, urls) {
|
|
|
162
166
|
if (Object.keys(fields).length) {
|
|
163
167
|
if (kind === 'items')
|
|
164
168
|
body.params = fields;
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
//
|
|
168
|
-
// (`canonicalUrl`, `coverPlacement`) have no field to land in there.
|
|
169
|
+
// The changelog and blog doors both take a piece's declared parameters as
|
|
170
|
+
// `fields` (the blog's since the release newsroom, R-N1: `releaseDate`,
|
|
171
|
+
// `sku`, `retailers` are front matter like any other key).
|
|
169
172
|
else
|
|
170
|
-
|
|
173
|
+
extras.fields = { ...(extras.fields ?? {}), ...fields };
|
|
171
174
|
}
|
|
172
175
|
// A blog without declared sections still has an excerpt; `description` is
|
|
173
176
|
// what most tools call it.
|
|
@@ -201,13 +204,22 @@ async function publishPosts(ctx, apply, existingAssets) {
|
|
|
201
204
|
: new Map(scoped.map((p) => [p.file, (0, docs_apply_1.knownUrls)(ctx, existingAssets)(p.file)]));
|
|
202
205
|
const matched = new Set();
|
|
203
206
|
const base = kind === 'items' ? '/items' : `/${kind}`;
|
|
207
|
+
const kindShapes = new Map();
|
|
208
|
+
const shapeOf = (k) => {
|
|
209
|
+
if (!kindShapes.has(k))
|
|
210
|
+
kindShapes.set(k, ctx.api.shape(ctx.org, ctx.spaceId, k).catch(() => shape));
|
|
211
|
+
return kindShapes.get(k);
|
|
212
|
+
};
|
|
204
213
|
for (const post of scoped) {
|
|
205
214
|
const found = bySlug.get(post.slug) ??
|
|
206
215
|
(kind === 'changelog' ? byTitle.get(post.title.toLowerCase()) : undefined);
|
|
207
216
|
if (found)
|
|
208
217
|
matched.add(found.id);
|
|
209
218
|
const fileUrls = urls.get(post.file) ?? new Map();
|
|
210
|
-
|
|
219
|
+
// A post that names its kind is judged by that kind's shape, so its
|
|
220
|
+
// declared keys (a drop's `releaseDate`, `retailers`) are sent, not dropped.
|
|
221
|
+
const own = kindOfPost(post.front, kind);
|
|
222
|
+
const pay = postPayload(post, kind, own ? await shapeOf(own) : shape, ctx, fileUrls);
|
|
211
223
|
if (pay.unknown.length)
|
|
212
224
|
ctx.line({
|
|
213
225
|
verb: 'warn',
|
|
@@ -229,17 +241,29 @@ async function publishPosts(ctx, apply, existingAssets) {
|
|
|
229
241
|
continue;
|
|
230
242
|
}
|
|
231
243
|
const reasons = [];
|
|
244
|
+
let diff = [];
|
|
232
245
|
if (ctx.force)
|
|
233
246
|
reasons.push('--force');
|
|
234
247
|
if (found.title !== post.title)
|
|
235
248
|
reasons.push('title');
|
|
236
249
|
if (!reasons.length && live) {
|
|
237
250
|
const sections = pay.body.sections;
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
251
|
+
if (sections && found.sections && Object.keys(found.sections).length) {
|
|
252
|
+
const changed = Object.entries(sections).filter(([k, v]) => !(0, compare_1.sameText)(v, found.sections?.[k] ?? ''));
|
|
253
|
+
if (changed.length)
|
|
254
|
+
reasons.push('content');
|
|
255
|
+
diff = changed.flatMap(([k, v]) => [`@ ${k}`, ...(0, diff_1.textDiff)(found.sections?.[k] ?? '', v)]);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
const text = String(pay.body.markdown ?? pay.body.body ?? Object.values(sections ?? {}).join('\n\n'));
|
|
259
|
+
if (!(0, compare_1.sameText)(text, found.markdown ?? '')) {
|
|
260
|
+
reasons.push('content');
|
|
261
|
+
diff = (0, diff_1.textDiff)(found.markdown ?? '', text);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
const liveText = found.markdown ?? Object.values(found.sections ?? {}).join('\n');
|
|
265
|
+
if (!reasons.length && (0, rewrite_1.mediaChanged)(post.body, ctx.scan.refs.get(post.file), fileUrls, liveText))
|
|
266
|
+
reasons.push('media');
|
|
243
267
|
}
|
|
244
268
|
const extrasDiff = Object.keys(pay.extras).length && ctx.api.opts.authed
|
|
245
269
|
? await extrasChanged(ctx, kind, base, found, pay.extras)
|
|
@@ -254,6 +278,7 @@ async function publishPosts(ctx, apply, existingAssets) {
|
|
|
254
278
|
verb: 'update',
|
|
255
279
|
what: `post ${post.slug}`,
|
|
256
280
|
detail: `${reasons.join(', ')} ← ${post.file}`,
|
|
281
|
+
...(diff.length ? { diff } : {}),
|
|
257
282
|
});
|
|
258
283
|
if (!apply)
|
|
259
284
|
continue;
|
|
@@ -271,7 +296,8 @@ async function publishPosts(ctx, apply, existingAssets) {
|
|
|
271
296
|
});
|
|
272
297
|
return;
|
|
273
298
|
}
|
|
274
|
-
|
|
299
|
+
// A file marked `draft: true` still owns its post: it is never pruned.
|
|
300
|
+
const keep = new Set([...(ctx.spec.keep ?? []), ...ctx.scan.drafts]);
|
|
275
301
|
for (const p of live) {
|
|
276
302
|
if (matched.has(p.id) || keep.has(p.slug))
|
|
277
303
|
continue;
|
|
@@ -347,4 +373,11 @@ async function extrasChanged(ctx, kind, base, found, extras) {
|
|
|
347
373
|
}
|
|
348
374
|
return (0, compare_1.differingKeys)(current, want);
|
|
349
375
|
}
|
|
376
|
+
/** The kind a blog post's front matter names (`kind: drop`), which the blog door takes. */
|
|
377
|
+
function kindOfPost(front, door) {
|
|
378
|
+
if (door !== 'blog')
|
|
379
|
+
return undefined;
|
|
380
|
+
const v = front.kind;
|
|
381
|
+
return typeof v === 'string' && v.trim() ? v.trim() : undefined;
|
|
382
|
+
}
|
|
350
383
|
//# sourceMappingURL=posts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posts.js","sourceRoot":"","sources":["../../src/publish/posts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"posts.js","sourceRoot":"","sources":["../../src/publish/posts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Names in a content folder that are never content (R-N11).
|
|
3
|
+
*
|
|
4
|
+
* A repository that holds a blog also holds a README that explains the
|
|
5
|
+
* repository, a LICENSE, editor folders and a `_drafts` folder of posts nobody
|
|
6
|
+
* has finished. Every customer publisher we were shown carried its own list of
|
|
7
|
+
* these, and the first version of each list was the one that published the
|
|
8
|
+
* README as a post — readers met "How to run this repo locally" at the top of
|
|
9
|
+
* a newsroom. The list lives here, once, and the guide prints it
|
|
10
|
+
* (docs/guides/content-as-code.md, "Reserved names").
|
|
11
|
+
*
|
|
12
|
+
* Three groups, each for its own reason:
|
|
13
|
+
*
|
|
14
|
+
* - Hidden and private: anything starting with `.` (`.git`, `.github`,
|
|
15
|
+
* `.DS_Store`) or `_` (`_drafts`, `_templates`, and the metadata files this
|
|
16
|
+
* tool reads itself: `_collection.yml`, `_tags.yml`). `node_modules`.
|
|
17
|
+
* - The manifest: `forumulate.yaml`, `.yml`, `.json`.
|
|
18
|
+
* - Repository paperwork, in any case and with any Markdown extension:
|
|
19
|
+
* README, LICENSE/LICENCE, CONTRIBUTING, CODE_OF_CONDUCT, SECURITY,
|
|
20
|
+
* CODEOWNERS, and GitBook's SUMMARY (a table of contents, not a page).
|
|
21
|
+
*
|
|
22
|
+
* README is the one with a second meaning. In a DOCS tree it is GitBook's way
|
|
23
|
+
* of naming a folder's own page, and existing docs repositories rely on that,
|
|
24
|
+
* so a page-backed space keeps it as the folder's index unless its manifest
|
|
25
|
+
* says `readme: skip`. A posts space has no folder pages, so there a README is
|
|
26
|
+
* always paperwork.
|
|
27
|
+
*/
|
|
28
|
+
export declare const MANIFEST_NAMES: string[];
|
|
29
|
+
/** Repository paperwork, by file stem (lower-cased, extension dropped). */
|
|
30
|
+
export declare const PAPERWORK: readonly ["readme", "license", "licence", "contributing", "code_of_conduct", "code-of-conduct", "security", "codeowners", "summary"];
|
|
31
|
+
/** Folders that are never content, beyond the `.` and `_` prefixes. */
|
|
32
|
+
export declare const RESERVED_FOLDERS: readonly ["node_modules"];
|
|
33
|
+
/** Is this README-shaped (`README.md`, `readme.mdx`, `Readme.markdown`)? */
|
|
34
|
+
export declare const isReadme: (name: string) => boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Why `name` is skipped, or null when it is content.
|
|
37
|
+
*
|
|
38
|
+
* `readmeIsIndex`: a docs space keeps README as a folder's page (see above).
|
|
39
|
+
*/
|
|
40
|
+
export declare function reservedReason(name: string, isDir: boolean, readmeIsIndex: boolean): string | null;
|
|
41
|
+
/**
|
|
42
|
+
* The manifest's `ignore:` patterns, as a matcher over paths relative to the
|
|
43
|
+
* space folder. A small glob: `*` is any run within one segment, `**` any run
|
|
44
|
+
* of segments, `?` one character; a pattern without a `/` matches a name at
|
|
45
|
+
* any depth (`*.draft.md`), one with a `/` matches from the space folder
|
|
46
|
+
* (`archive/**`). A folder that matches is skipped with everything under it.
|
|
47
|
+
*/
|
|
48
|
+
export declare function ignoreMatcher(patterns: readonly string[] | undefined): (rel: string) => boolean;
|
|
49
|
+
//# sourceMappingURL=reserved.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reserved.d.ts","sourceRoot":"","sources":["../../src/publish/reserved.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,cAAc,UAA2D,CAAC;AAEvF,2EAA2E;AAC3E,eAAO,MAAM,SAAS,sIAUZ,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,2BAA4B,CAAC;AAI1D,4EAA4E;AAC5E,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,YAA8C,CAAC;AAEpF;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,OAAO,GACrB,MAAM,GAAG,IAAI,CASf;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CA6B/F"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isReadme = exports.RESERVED_FOLDERS = exports.PAPERWORK = exports.MANIFEST_NAMES = void 0;
|
|
4
|
+
exports.reservedReason = reservedReason;
|
|
5
|
+
exports.ignoreMatcher = ignoreMatcher;
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
/**
|
|
8
|
+
* Names in a content folder that are never content (R-N11).
|
|
9
|
+
*
|
|
10
|
+
* A repository that holds a blog also holds a README that explains the
|
|
11
|
+
* repository, a LICENSE, editor folders and a `_drafts` folder of posts nobody
|
|
12
|
+
* has finished. Every customer publisher we were shown carried its own list of
|
|
13
|
+
* these, and the first version of each list was the one that published the
|
|
14
|
+
* README as a post — readers met "How to run this repo locally" at the top of
|
|
15
|
+
* a newsroom. The list lives here, once, and the guide prints it
|
|
16
|
+
* (docs/guides/content-as-code.md, "Reserved names").
|
|
17
|
+
*
|
|
18
|
+
* Three groups, each for its own reason:
|
|
19
|
+
*
|
|
20
|
+
* - Hidden and private: anything starting with `.` (`.git`, `.github`,
|
|
21
|
+
* `.DS_Store`) or `_` (`_drafts`, `_templates`, and the metadata files this
|
|
22
|
+
* tool reads itself: `_collection.yml`, `_tags.yml`). `node_modules`.
|
|
23
|
+
* - The manifest: `forumulate.yaml`, `.yml`, `.json`.
|
|
24
|
+
* - Repository paperwork, in any case and with any Markdown extension:
|
|
25
|
+
* README, LICENSE/LICENCE, CONTRIBUTING, CODE_OF_CONDUCT, SECURITY,
|
|
26
|
+
* CODEOWNERS, and GitBook's SUMMARY (a table of contents, not a page).
|
|
27
|
+
*
|
|
28
|
+
* README is the one with a second meaning. In a DOCS tree it is GitBook's way
|
|
29
|
+
* of naming a folder's own page, and existing docs repositories rely on that,
|
|
30
|
+
* so a page-backed space keeps it as the folder's index unless its manifest
|
|
31
|
+
* says `readme: skip`. A posts space has no folder pages, so there a README is
|
|
32
|
+
* always paperwork.
|
|
33
|
+
*/
|
|
34
|
+
exports.MANIFEST_NAMES = ['forumulate.yaml', 'forumulate.yml', 'forumulate.json'];
|
|
35
|
+
/** Repository paperwork, by file stem (lower-cased, extension dropped). */
|
|
36
|
+
exports.PAPERWORK = [
|
|
37
|
+
'readme',
|
|
38
|
+
'license',
|
|
39
|
+
'licence',
|
|
40
|
+
'contributing',
|
|
41
|
+
'code_of_conduct',
|
|
42
|
+
'code-of-conduct',
|
|
43
|
+
'security',
|
|
44
|
+
'codeowners',
|
|
45
|
+
'summary',
|
|
46
|
+
];
|
|
47
|
+
/** Folders that are never content, beyond the `.` and `_` prefixes. */
|
|
48
|
+
exports.RESERVED_FOLDERS = ['node_modules'];
|
|
49
|
+
const stemOf = (name) => name.replace(/\.[^.]*$/, '').toLowerCase();
|
|
50
|
+
/** Is this README-shaped (`README.md`, `readme.mdx`, `Readme.markdown`)? */
|
|
51
|
+
const isReadme = (name) => /^readme\.(md|mdx|markdown)$/i.test(name);
|
|
52
|
+
exports.isReadme = isReadme;
|
|
53
|
+
/**
|
|
54
|
+
* Why `name` is skipped, or null when it is content.
|
|
55
|
+
*
|
|
56
|
+
* `readmeIsIndex`: a docs space keeps README as a folder's page (see above).
|
|
57
|
+
*/
|
|
58
|
+
function reservedReason(name, isDir, readmeIsIndex) {
|
|
59
|
+
if (name.startsWith('.'))
|
|
60
|
+
return 'hidden';
|
|
61
|
+
if (name.startsWith('_'))
|
|
62
|
+
return isDir ? 'private folder' : 'private file';
|
|
63
|
+
if (exports.RESERVED_FOLDERS.includes(name))
|
|
64
|
+
return 'dependency folder';
|
|
65
|
+
if (exports.MANIFEST_NAMES.includes(name))
|
|
66
|
+
return 'the manifest';
|
|
67
|
+
if (isDir)
|
|
68
|
+
return null;
|
|
69
|
+
if ((0, exports.isReadme)(name) && readmeIsIndex)
|
|
70
|
+
return null;
|
|
71
|
+
if (exports.PAPERWORK.includes(stemOf(name)))
|
|
72
|
+
return 'repository paperwork';
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The manifest's `ignore:` patterns, as a matcher over paths relative to the
|
|
77
|
+
* space folder. A small glob: `*` is any run within one segment, `**` any run
|
|
78
|
+
* of segments, `?` one character; a pattern without a `/` matches a name at
|
|
79
|
+
* any depth (`*.draft.md`), one with a `/` matches from the space folder
|
|
80
|
+
* (`archive/**`). A folder that matches is skipped with everything under it.
|
|
81
|
+
*/
|
|
82
|
+
function ignoreMatcher(patterns) {
|
|
83
|
+
const res = (patterns ?? [])
|
|
84
|
+
.map((p) => p.trim().replace(/^\.\//, '').replace(/\/+$/, ''))
|
|
85
|
+
.filter(Boolean)
|
|
86
|
+
.map((p) => {
|
|
87
|
+
const anchored = p.includes('/');
|
|
88
|
+
let src = '';
|
|
89
|
+
for (let i = 0; i < p.length; i++) {
|
|
90
|
+
const c = p[i];
|
|
91
|
+
if (c === '*' && p[i + 1] === '*') {
|
|
92
|
+
// `**/` is "any folders, or none"; a bare `**` is "anything".
|
|
93
|
+
if (p[i + 2] === '/') {
|
|
94
|
+
src += '(?:.*/)?';
|
|
95
|
+
i += 2;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
src += '.*';
|
|
99
|
+
i += 1;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else if (c === '*')
|
|
103
|
+
src += '[^/]*';
|
|
104
|
+
else if (c === '?')
|
|
105
|
+
src += '[^/]';
|
|
106
|
+
else
|
|
107
|
+
src += c.replace(/[.+^${}()|[\]\\]/g, '\\$&');
|
|
108
|
+
}
|
|
109
|
+
return new RegExp(anchored ? `^${src}$` : `(?:^|/)${src}$`, 'i');
|
|
110
|
+
});
|
|
111
|
+
if (!res.length)
|
|
112
|
+
return () => false;
|
|
113
|
+
return (rel) => {
|
|
114
|
+
const path = node_path_1.posix.normalize(rel.split('\\').join('/'));
|
|
115
|
+
return res.some((re) => re.test(path));
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=reserved.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reserved.js","sourceRoot":"","sources":["../../src/publish/reserved.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,4 +17,16 @@ export declare function rewriteLinks(source: string, file: string, slugByFile: M
|
|
|
17
17
|
export declare function rewriteAssets(source: string, urlByRef: Map<string, string>): string;
|
|
18
18
|
/** The same substitution over a metadata patch (values that were local paths). */
|
|
19
19
|
export declare function rewriteValue<T>(value: T, urlByRef: Map<string, string>): T;
|
|
20
|
+
/**
|
|
21
|
+
* Does the live text still point at every picture the file's body uses?
|
|
22
|
+
*
|
|
23
|
+
* The word comparison (`compare.ts`) ignores link and image targets on
|
|
24
|
+
* purpose — the importer rewrites them, so they are never the same string
|
|
25
|
+
* twice. That left one change invisible: an image replaced by a new one under
|
|
26
|
+
* the same name uploads under a new content hash, and the post kept pointing
|
|
27
|
+
* at the old picture because its words had not changed. So the targets are
|
|
28
|
+
* checked here instead, by the URL each reference resolves to: one that is
|
|
29
|
+
* not uploaded yet, or not in the live text, means the body must be sent.
|
|
30
|
+
*/
|
|
31
|
+
export declare function mediaChanged(body: string, refs: Map<string, string> | undefined, urls: Map<string, string>, liveText: string): boolean;
|
|
20
32
|
//# sourceMappingURL=rewrite.d.ts.map
|