@growth-labs/cms 0.5.27 → 0.5.30
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 +20 -0
- package/dist/engine/index.d.ts +5 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +5 -0
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/publication-continuity.d.ts +77 -0
- package/dist/engine/publication-continuity.d.ts.map +1 -0
- package/dist/engine/publication-continuity.js +94 -0
- package/dist/engine/publication-continuity.js.map +1 -0
- package/dist/engine/publication-receipt/canonical-json.d.ts +34 -0
- package/dist/engine/publication-receipt/canonical-json.d.ts.map +1 -0
- package/dist/engine/publication-receipt/canonical-json.js +100 -0
- package/dist/engine/publication-receipt/canonical-json.js.map +1 -0
- package/dist/engine/publication-receipt/receipt.d.ts +316 -0
- package/dist/engine/publication-receipt/receipt.d.ts.map +1 -0
- package/dist/engine/publication-receipt/receipt.js +131 -0
- package/dist/engine/publication-receipt/receipt.js.map +1 -0
- package/dist/engine/publication-receipt/signature.d.ts +36 -0
- package/dist/engine/publication-receipt/signature.d.ts.map +1 -0
- package/dist/engine/publication-receipt/signature.js +79 -0
- package/dist/engine/publication-receipt/signature.js.map +1 -0
- package/dist/engine/publication.d.ts.map +1 -1
- package/dist/engine/publication.js +2 -0
- package/dist/engine/publication.js.map +1 -1
- package/dist/engine/publisher.d.ts.map +1 -1
- package/dist/engine/publisher.js +2 -0
- package/dist/engine/publisher.js.map +1 -1
- package/dist/engine/slug.d.ts.map +1 -1
- package/dist/engine/slug.js +11 -1
- package/dist/engine/slug.js.map +1 -1
- package/dist/engine/source-sections.d.ts +20 -0
- package/dist/engine/source-sections.d.ts.map +1 -0
- package/dist/engine/source-sections.js +130 -0
- package/dist/engine/source-sections.js.map +1 -0
- package/dist/engine/validator/checks/source-section-diagnostics.d.ts +7 -0
- package/dist/engine/validator/checks/source-section-diagnostics.d.ts.map +1 -0
- package/dist/engine/validator/checks/source-section-diagnostics.js +120 -0
- package/dist/engine/validator/checks/source-section-diagnostics.js.map +1 -0
- package/dist/engine/validator/index.d.ts +10 -0
- package/dist/engine/validator/index.d.ts.map +1 -1
- package/dist/engine/validator/index.js +4 -0
- package/dist/engine/validator/index.js.map +1 -1
- package/dist/engine/validator/types.d.ts +1 -1
- package/dist/engine/validator/types.d.ts.map +1 -1
- package/dist/engine/validator/types.js +10 -0
- package/dist/engine/validator/types.js.map +1 -1
- package/dist/integration/options.d.ts +196 -0
- package/dist/integration/options.d.ts.map +1 -1
- package/dist/integration/options.js +62 -0
- package/dist/integration/options.js.map +1 -1
- package/dist/providers/types.d.ts +1 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/routes/content.d.ts.map +1 -1
- package/dist/routes/content.js +52 -2
- package/dist/routes/content.js.map +1 -1
- package/dist/routes/surveys.d.ts.map +1 -1
- package/dist/routes/surveys.js +13 -1
- package/dist/routes/surveys.js.map +1 -1
- package/dist/schema/insights-ingest.d.ts +28 -28
- package/dist/surveys/access.d.ts +2 -0
- package/dist/surveys/access.d.ts.map +1 -1
- package/dist/surveys/access.js +7 -0
- package/dist/surveys/access.js.map +1 -1
- package/dist/surveys/errors.d.ts +8 -0
- package/dist/surveys/errors.d.ts.map +1 -1
- package/dist/surveys/errors.js +12 -0
- package/dist/surveys/errors.js.map +1 -1
- package/dist/surveys/schema.d.ts +75 -0
- package/dist/surveys/schema.d.ts.map +1 -1
- package/dist/surveys/schema.js +45 -0
- package/dist/surveys/schema.js.map +1 -1
- package/dist/ui/client/mount.d.ts.map +1 -1
- package/dist/ui/client/mount.js +1 -0
- package/dist/ui/client/mount.js.map +1 -1
- package/dist/ui/editor/ContentForm.d.ts +3 -1
- package/dist/ui/editor/ContentForm.d.ts.map +1 -1
- package/dist/ui/editor/ContentForm.js +87 -9
- package/dist/ui/editor/ContentForm.js.map +1 -1
- package/dist/ui/editor/body-warnings.d.ts +27 -0
- package/dist/ui/editor/body-warnings.d.ts.map +1 -0
- package/dist/ui/editor/body-warnings.js +58 -0
- package/dist/ui/editor/body-warnings.js.map +1 -0
- package/dist/ui/editor/content-payload.d.ts +12 -0
- package/dist/ui/editor/content-payload.d.ts.map +1 -1
- package/dist/ui/editor/content-payload.js +24 -0
- package/dist/ui/editor/content-payload.js.map +1 -1
- package/dist/ui/screens/ContentRoute.d.ts +3 -1
- package/dist/ui/screens/ContentRoute.d.ts.map +1 -1
- package/dist/ui/screens/ContentRoute.js +2 -2
- package/dist/ui/screens/ContentRoute.js.map +1 -1
- package/dist/ui/screens/EditorScreen.d.ts +3 -1
- package/dist/ui/screens/EditorScreen.d.ts.map +1 -1
- package/dist/ui/screens/EditorScreen.js +2 -2
- package/dist/ui/screens/EditorScreen.js.map +1 -1
- package/dist/ui/screens/SurveyResponsesScreen.d.ts +7 -1
- package/dist/ui/screens/SurveyResponsesScreen.d.ts.map +1 -1
- package/dist/ui/screens/SurveyResponsesScreen.js +141 -32
- package/dist/ui/screens/SurveyResponsesScreen.js.map +1 -1
- package/dist/ui/screens/registry.d.ts +3 -1
- package/dist/ui/screens/registry.d.ts.map +1 -1
- package/dist/ui/screens/registry.js +2 -2
- package/dist/ui/screens/registry.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/index.ts +33 -0
- package/src/engine/publication-continuity.ts +140 -0
- package/src/engine/publication-receipt/canonical-json.ts +123 -0
- package/src/engine/publication-receipt/receipt.ts +160 -0
- package/src/engine/publication-receipt/signature.ts +112 -0
- package/src/engine/publication.ts +2 -0
- package/src/engine/publisher.ts +2 -0
- package/src/engine/slug.ts +12 -1
- package/src/engine/source-sections.ts +153 -0
- package/src/engine/validator/checks/source-section-diagnostics.ts +187 -0
- package/src/engine/validator/index.ts +12 -0
- package/src/engine/validator/types.ts +19 -0
- package/src/integration/options.ts +69 -0
- package/src/providers/types.ts +1 -1
- package/src/routes/content.ts +60 -2
- package/src/routes/surveys.ts +12 -1
- package/src/surveys/access.ts +9 -0
- package/src/surveys/errors.ts +12 -0
- package/src/surveys/schema.ts +47 -0
- package/src/ui/client/mount.tsx +1 -0
- package/src/ui/editor/ContentForm.tsx +167 -5
- package/src/ui/editor/body-warnings.ts +78 -0
- package/src/ui/editor/content-payload.ts +39 -0
- package/src/ui/screens/ContentRoute.tsx +4 -0
- package/src/ui/screens/EditorScreen.tsx +4 -0
- package/src/ui/screens/SurveyResponsesScreen.tsx +369 -121
- package/src/ui/screens/registry.tsx +4 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// Canonical normalization for article "Sources" / "References" sections
|
|
2
|
+
// (packages#329).
|
|
3
|
+
//
|
|
4
|
+
// Editors paste these sections out of Word and Google Docs, which produces
|
|
5
|
+
// Markdown that renders wrongly rather than not at all: manual `●` bullets
|
|
6
|
+
// become separate paragraphs, a bold line used as a heading becomes an empty
|
|
7
|
+
// `h2`, and `[**title**](url)` keeps its `**` inside the anchor text because
|
|
8
|
+
// renderers protect generated links before evaluating inline emphasis.
|
|
9
|
+
//
|
|
10
|
+
// This lives in the package, not in a site, so the CMS save path, preview
|
|
11
|
+
// path, import path and every site integration share one behaviour.
|
|
12
|
+
const NBSP = ' ';
|
|
13
|
+
const SECTION_WORDS = ['sources', 'references'];
|
|
14
|
+
/** `## Sources`, `### References:` — returns its level and canonical word. */
|
|
15
|
+
function matchHeadingBoundary(line) {
|
|
16
|
+
const match = /^(#{1,6})\s+(.*)$/.exec(line);
|
|
17
|
+
if (!match)
|
|
18
|
+
return null;
|
|
19
|
+
const level = match[1]?.length ?? 0;
|
|
20
|
+
const word = canonicalWord(stripTrailingColon(match[2] ?? ''));
|
|
21
|
+
return word ? { level, word } : null;
|
|
22
|
+
}
|
|
23
|
+
/** A standalone bold line used as a heading: `**Sources:**`, `__References__`. */
|
|
24
|
+
function matchBoldBoundary(line) {
|
|
25
|
+
const match = /^\s*(\*\*|__)(.+?)\1\s*$/.exec(line);
|
|
26
|
+
if (!match)
|
|
27
|
+
return null;
|
|
28
|
+
const word = canonicalWord(stripTrailingColon(match[2] ?? ''));
|
|
29
|
+
return word ? { word } : null;
|
|
30
|
+
}
|
|
31
|
+
function stripTrailingColon(value) {
|
|
32
|
+
return value.replace(/\s*:\s*$/, '');
|
|
33
|
+
}
|
|
34
|
+
/** Returns the canonical capitalisation, or null when this is not a boundary. */
|
|
35
|
+
function canonicalWord(rawText) {
|
|
36
|
+
const visible = rawText.replaceAll(NBSP, ' ').replace(/[*_]/g, '').trim().toLowerCase();
|
|
37
|
+
const found = SECTION_WORDS.find((candidate) => candidate === visible);
|
|
38
|
+
return found ? `${found[0]?.toUpperCase()}${found.slice(1)}` : null;
|
|
39
|
+
}
|
|
40
|
+
/** A line whose visible content is empty once emphasis and spacing are removed. */
|
|
41
|
+
function isFormattingOnly(line) {
|
|
42
|
+
if (line.trim() === '')
|
|
43
|
+
return false; // a real blank line is structural
|
|
44
|
+
return (line
|
|
45
|
+
.replaceAll(NBSP, ' ')
|
|
46
|
+
.replace(/[*_~`]/g, '')
|
|
47
|
+
.trim() === '');
|
|
48
|
+
}
|
|
49
|
+
function headingLevel(line) {
|
|
50
|
+
const match = /^(#{1,6})\s+\S/.exec(line);
|
|
51
|
+
return match ? (match[1]?.length ?? null) : null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Unwrap emphasis that covers an ENTIRE link label: `[**t**](u)` -> `[t](u)`.
|
|
55
|
+
*
|
|
56
|
+
* Partial emphasis (`[a **b** c](u)`) is intentional and preserved, and an
|
|
57
|
+
* unbalanced marker (`[**a](u)`) is ambiguous — repairing it would be guessing
|
|
58
|
+
* at intent. The URL is never touched.
|
|
59
|
+
*/
|
|
60
|
+
function unwrapWholeLabelEmphasis(line) {
|
|
61
|
+
return line.replace(/\[([^\]]*)\]\(/g, (whole, label) => {
|
|
62
|
+
const match = /^(\*\*|__|\*|_)([\s\S]+)\1$/.exec(label.trim());
|
|
63
|
+
if (!match)
|
|
64
|
+
return whole;
|
|
65
|
+
const inner = match[2] ?? '';
|
|
66
|
+
// Only unwrap when the delimiter genuinely wraps the whole label rather
|
|
67
|
+
// than being two adjacent runs, e.g. `**a** and **b**`.
|
|
68
|
+
if (inner.includes(match[1]))
|
|
69
|
+
return whole;
|
|
70
|
+
return `[${inner}](`;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function normalizeSectionLine(line) {
|
|
74
|
+
let next = line;
|
|
75
|
+
// Manual Unicode bullets become real list markers.
|
|
76
|
+
next = next.replace(/^(\s*)[●•▪]\s*/u, '$1- ');
|
|
77
|
+
// Non-breaking-space indentation after a list marker collapses to one space.
|
|
78
|
+
next = next.replace(new RegExp(`^(\\s*[-*+])[ ${NBSP}]+`, 'u'), (_m, marker) => `${marker} `);
|
|
79
|
+
next = unwrapWholeLabelEmphasis(next);
|
|
80
|
+
return next;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Rewrite `Sources` / `References` sections to the canonical shape.
|
|
84
|
+
*
|
|
85
|
+
* Only lines inside a bounded section are touched. A section starts at an ATX
|
|
86
|
+
* heading or a standalone bold line whose visible text is `Sources` or
|
|
87
|
+
* `References` (with an optional trailing colon), and ends at the next heading
|
|
88
|
+
* of the same or higher level, or at end of document.
|
|
89
|
+
*
|
|
90
|
+
* Deliberately does NOT rewrite URLs, invent titles for bare URLs, repair
|
|
91
|
+
* unbalanced emphasis, or alter anything outside a section — each of those
|
|
92
|
+
* requires guessing at editorial intent.
|
|
93
|
+
*/
|
|
94
|
+
export function normalizeSourceSections(markdown) {
|
|
95
|
+
const usesCrlf = markdown.includes('\r\n');
|
|
96
|
+
const lines = markdown.replace(/\r\n/g, '\n').split('\n');
|
|
97
|
+
const out = [];
|
|
98
|
+
let sectionLevel = null;
|
|
99
|
+
for (const line of lines) {
|
|
100
|
+
if (sectionLevel !== null) {
|
|
101
|
+
const level = headingLevel(line);
|
|
102
|
+
if (level !== null && level <= sectionLevel) {
|
|
103
|
+
sectionLevel = null; // section closed; fall through to boundary checks
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
if (isFormattingOnly(line))
|
|
107
|
+
continue;
|
|
108
|
+
out.push(normalizeSectionLine(line));
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const heading = matchHeadingBoundary(line);
|
|
113
|
+
if (heading) {
|
|
114
|
+
sectionLevel = heading.level;
|
|
115
|
+
out.push(`${'#'.repeat(heading.level)} ${heading.word}`);
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
const bold = matchBoldBoundary(line);
|
|
119
|
+
if (bold) {
|
|
120
|
+
sectionLevel = 2;
|
|
121
|
+
out.push(`## ${bold.word}`);
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
out.push(line);
|
|
125
|
+
}
|
|
126
|
+
const joined = out.join('\n');
|
|
127
|
+
const result = usesCrlf ? joined.replace(/\n/g, '\r\n') : joined;
|
|
128
|
+
return { markdown: result, changed: result !== markdown };
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=source-sections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-sections.js","sourceRoot":"","sources":["../../src/engine/source-sections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ArticleBodyInput, ValidationError } from '../types.js';
|
|
2
|
+
export interface SourceSectionOptions {
|
|
3
|
+
/** Escalate these diagnostics from warn to block. Publish sets this. */
|
|
4
|
+
blockSourceSectionDefects?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function check(input: ArticleBodyInput, options?: SourceSectionOptions): ValidationError[];
|
|
7
|
+
//# sourceMappingURL=source-section-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-section-diagnostics.d.ts","sourceRoot":"","sources":["../../../../src/engine/validator/checks/source-section-diagnostics.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACX,gBAAgB,EAChB,eAAe,EAGf,MAAM,aAAa,CAAA;AAGpB,MAAM,WAAW,oBAAoB;IACpC,wEAAwE;IACxE,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACnC;AAsED,wBAAgB,KAAK,CACpB,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,oBAAyB,GAChC,eAAe,EAAE,CAyFnB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Source-section diagnostics (#329).
|
|
3
|
+
*
|
|
4
|
+
* These run against markdown that has ALREADY been through
|
|
5
|
+
* `normalizeSourceSections()`. That ordering is the whole point: the
|
|
6
|
+
* normalizer fixes everything mechanically fixable, so anything still present
|
|
7
|
+
* here needs an editor's judgement rather than another rewrite — and each of
|
|
8
|
+
* these is a proven render breaker, which is why they block publish.
|
|
9
|
+
*
|
|
10
|
+
* Draft autosave stays allowed regardless; an editor must never lose work to a
|
|
11
|
+
* formatting complaint.
|
|
12
|
+
*/
|
|
13
|
+
import { normalizeSourceSections } from '../../source-sections.js';
|
|
14
|
+
import { makeError } from '../types.js';
|
|
15
|
+
const NBSP = ' ';
|
|
16
|
+
const MANUAL_BULLET = /^\s*[●•▪]/u;
|
|
17
|
+
const LINK = /\[([^\]]*)\]\(([^)]*)\)/g;
|
|
18
|
+
/** Lines inside every Sources/References section, with document offsets. */
|
|
19
|
+
function collectSectionLines(source) {
|
|
20
|
+
const lines = source.split('\n');
|
|
21
|
+
const collected = [];
|
|
22
|
+
let offset = 0;
|
|
23
|
+
let sectionLevel = null;
|
|
24
|
+
for (const text of lines) {
|
|
25
|
+
const heading = /^(#{1,6})\s+(.*)$/.exec(text);
|
|
26
|
+
const level = heading ? (heading[1]?.length ?? 0) : null;
|
|
27
|
+
if (sectionLevel !== null && level !== null && level <= sectionLevel) {
|
|
28
|
+
sectionLevel = null;
|
|
29
|
+
}
|
|
30
|
+
if (sectionLevel !== null) {
|
|
31
|
+
collected.push({ text, start: offset });
|
|
32
|
+
}
|
|
33
|
+
else if (level !== null) {
|
|
34
|
+
const word = (heading?.[2] ?? '')
|
|
35
|
+
.replace(/[*_]/g, '')
|
|
36
|
+
.replace(/\s*:\s*$/, '')
|
|
37
|
+
.trim();
|
|
38
|
+
if (/^(sources|references)$/i.test(word))
|
|
39
|
+
sectionLevel = level;
|
|
40
|
+
}
|
|
41
|
+
offset += text.length + 1;
|
|
42
|
+
}
|
|
43
|
+
return collected;
|
|
44
|
+
}
|
|
45
|
+
function isFormattingOnly(text) {
|
|
46
|
+
if (text.trim() === '')
|
|
47
|
+
return false;
|
|
48
|
+
return (text
|
|
49
|
+
.replaceAll(NBSP, ' ')
|
|
50
|
+
.replace(/[*_~`#]/g, '')
|
|
51
|
+
.trim() === '');
|
|
52
|
+
}
|
|
53
|
+
/** Emphasis delimiters wrapping the entire label, e.g. `[**t**](u)`. */
|
|
54
|
+
function hasWholeLabelEmphasis(label) {
|
|
55
|
+
const match = /^(\*\*|__|\*|_)([\s\S]+)\1$/.exec(label.trim());
|
|
56
|
+
if (!match)
|
|
57
|
+
return false;
|
|
58
|
+
return !(match[2] ?? '').includes(match[1]);
|
|
59
|
+
}
|
|
60
|
+
/** An odd number of `**` or `*` runs — ambiguous, so the normalizer left it. */
|
|
61
|
+
function hasUnbalancedEmphasis(label) {
|
|
62
|
+
const strong = (label.match(/\*\*/g) ?? []).length;
|
|
63
|
+
if (strong % 2 !== 0)
|
|
64
|
+
return true;
|
|
65
|
+
const em = (label.replace(/\*\*/g, '').match(/\*/g) ?? []).length;
|
|
66
|
+
if (em % 2 !== 0)
|
|
67
|
+
return true;
|
|
68
|
+
const under = (label.match(/__/g) ?? []).length;
|
|
69
|
+
return under % 2 !== 0;
|
|
70
|
+
}
|
|
71
|
+
export function check(input, options = {}) {
|
|
72
|
+
// Warn on save, block on publish. The design keeps draft autosave working
|
|
73
|
+
// so an editor cannot lose work to a formatting complaint, while still
|
|
74
|
+
// refusing to publish a section that is a proven render breaker.
|
|
75
|
+
const escalate = options.blockSourceSectionDefects === true;
|
|
76
|
+
const report = (code, message, span) => {
|
|
77
|
+
const error = makeError(code, message, span);
|
|
78
|
+
return escalate ? { ...error, severity: 'block' } : error;
|
|
79
|
+
};
|
|
80
|
+
if (!input.body_markdown)
|
|
81
|
+
return [];
|
|
82
|
+
// Report against normalized text so a defect the normalizer would have
|
|
83
|
+
// fixed is never surfaced to the editor as their problem.
|
|
84
|
+
const source = normalizeSourceSections(input.body_markdown).markdown;
|
|
85
|
+
const errors = [];
|
|
86
|
+
const lines = collectSectionLines(source);
|
|
87
|
+
let linkLike = 0;
|
|
88
|
+
let listItems = 0;
|
|
89
|
+
for (const { text, start } of lines) {
|
|
90
|
+
const span = { start, end: start + text.length };
|
|
91
|
+
if (MANUAL_BULLET.test(text)) {
|
|
92
|
+
errors.push(report('source-section-manual-bullet', `This source line still starts with a manual bullet character. Replace it with "- " so it renders as one list, not separate paragraphs.`, span));
|
|
93
|
+
}
|
|
94
|
+
if (isFormattingOnly(text)) {
|
|
95
|
+
errors.push(report('source-section-formatting-only-line', `This line contains only formatting characters and renders as an empty heading. Delete it.`, span));
|
|
96
|
+
}
|
|
97
|
+
if (/^\s*[-*+]\s+/.test(text))
|
|
98
|
+
listItems++;
|
|
99
|
+
for (const link of text.matchAll(LINK)) {
|
|
100
|
+
const label = link[1] ?? '';
|
|
101
|
+
if (label.trim() !== '')
|
|
102
|
+
linkLike++;
|
|
103
|
+
if (hasWholeLabelEmphasis(label)) {
|
|
104
|
+
errors.push(report('source-section-wrapped-link-label', `The link title "${label.trim()}" is wrapped in emphasis markers, which stay visible inside the link. Remove the surrounding * or _ characters.`, span));
|
|
105
|
+
}
|
|
106
|
+
else if (hasUnbalancedEmphasis(label)) {
|
|
107
|
+
errors.push(report('source-section-unbalanced-emphasis', `The link title "${label.trim()}" has an unmatched emphasis marker. Close it or remove it — it cannot be corrected automatically without changing the title.`, span));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// A section that reads as a list of sources but has no list items at all
|
|
112
|
+
// renders as a run of paragraphs. Only claim this when there is something
|
|
113
|
+
// list-shaped to talk about.
|
|
114
|
+
if (listItems === 0 && linkLike > 1) {
|
|
115
|
+
const first = lines[0];
|
|
116
|
+
errors.push(report('source-section-unlistable', `This source section has ${linkLike} links but no list items, so it renders as separate paragraphs. Start each source line with "- ".`, first ? { start: first.start, end: first.start + first.text.length } : undefined));
|
|
117
|
+
}
|
|
118
|
+
return errors;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=source-section-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-section-diagnostics.js","sourceRoot":"","sources":["../../../../src/engine/validator/checks/source-section-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ import * as iframeMissingDims from './checks/iframe-missing-dims-and-wrapper.js'
|
|
|
21
21
|
import * as invisibleControl from './checks/invisible-control-chars.js';
|
|
22
22
|
import * as paywallMarker from './checks/paywall-marker-leak.js';
|
|
23
23
|
import * as rawBlockHtml from './checks/raw-block-html.js';
|
|
24
|
+
import * as sourceSectionDiagnostics from './checks/source-section-diagnostics.js';
|
|
24
25
|
import * as unresolvedAnchor from './checks/unresolved-footnote-anchor.js';
|
|
25
26
|
import * as wordGdocs from './checks/word-gdocs-paste-artifacts.js';
|
|
26
27
|
import type { ArticleBodyInput, Severity, ValidationError, ValidationErrorCode, ValidationResult, ValidatorOptions } from './types.js';
|
|
@@ -51,9 +52,18 @@ export declare const checkBareUrlNotAutolinked: typeof bareUrl.check;
|
|
|
51
52
|
export declare const checkEmptyAltText: typeof emptyAlt.check;
|
|
52
53
|
export declare const checkIframeMissingDimsAndWrapper: typeof iframeMissingDims.check;
|
|
53
54
|
export declare const checkHeadingHierarchySkip: typeof headingHierarchy.check;
|
|
55
|
+
export declare const checkSourceSectionDiagnostics: typeof sourceSectionDiagnostics.check;
|
|
54
56
|
export declare const checkPaywallMarkerLeak: typeof paywallMarker.check;
|
|
55
57
|
export interface RunOptions extends ValidatorOptions {
|
|
56
58
|
requireBody: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Escalate source-section diagnostics (#329) from warn to block.
|
|
61
|
+
*
|
|
62
|
+
* Defaults to false so a draft save is never rejected for formatting — the
|
|
63
|
+
* PATCH route returns 422 on any block-severity error. Publish call sites
|
|
64
|
+
* set it to true, which is where the design wants these enforced.
|
|
65
|
+
*/
|
|
66
|
+
blockSourceSectionDefects: boolean;
|
|
57
67
|
}
|
|
58
68
|
export declare const DEFAULT_RUN_OPTIONS: RunOptions;
|
|
59
69
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/validator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,OAAO,MAAM,qCAAqC,CAAA;AAC9D,OAAO,KAAK,mBAAmB,MAAM,mCAAmC,CAAA;AACxE,OAAO,KAAK,aAAa,MAAM,qCAAqC,CAAA;AACpE,OAAO,KAAK,QAAQ,MAAM,4BAA4B,CAAA;AACtD,OAAO,KAAK,gBAAgB,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,eAAe,MAAM,+BAA+B,CAAA;AAChE,OAAO,KAAK,iBAAiB,MAAM,6CAA6C,CAAA;AAChF,OAAO,KAAK,gBAAgB,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,aAAa,MAAM,iCAAiC,CAAA;AAChE,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAA;AAC1D,OAAO,KAAK,gBAAgB,MAAM,wCAAwC,CAAA;AAC1E,OAAO,KAAK,SAAS,MAAM,wCAAwC,CAAA;AAEnE,OAAO,KAAK,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,eAAe,EAAa,QAAQ,EAAE,MAAM,YAAY,CAAA;AAMjE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAKxD,CAAA;AAQD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAkB/E;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAoBvF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAmB9E;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAY1F;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAoC1F;AAED,wBAAgB,oCAAoC,CACnD,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,gBAAkC,GACzC,eAAe,EAAE,CA4BnB;AAuBD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAgBnF;AAID,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,EAAE,CA4BnF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAUzE;AAMD,eAAO,MAAM,wBAAwB,kCAA4B,CAAA;AACjE,eAAO,MAAM,6BAA6B,+BAAyB,CAAA;AACnE,eAAO,MAAM,4BAA4B,wBAAkB,CAAA;AAC3D,eAAO,MAAM,oBAAoB,8BAAwB,CAAA;AACzD,eAAO,MAAM,iBAAiB,2BAAqB,CAAA;AACnD,eAAO,MAAM,0BAA0B,4BAAsB,CAAA;AAC7D,eAAO,MAAM,0BAA0B,+BAAyB,CAAA;AAChE,eAAO,MAAM,yBAAyB,sBAAgB,CAAA;AACtD,eAAO,MAAM,iBAAiB,uBAAiB,CAAA;AAC/C,eAAO,MAAM,gCAAgC,gCAA0B,CAAA;AACvE,eAAO,MAAM,yBAAyB,+BAAyB,CAAA;AAC/D,eAAO,MAAM,sBAAsB,4BAAsB,CAAA;AAMzD,MAAM,WAAW,UAAW,SAAQ,gBAAgB;IACnD,WAAW,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/validator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ import * as iframeMissingDims from './checks/iframe-missing-dims-and-wrapper.js'
|
|
|
21
21
|
import * as invisibleControl from './checks/invisible-control-chars.js';
|
|
22
22
|
import * as paywallMarker from './checks/paywall-marker-leak.js';
|
|
23
23
|
import * as rawBlockHtml from './checks/raw-block-html.js';
|
|
24
|
+
import * as sourceSectionDiagnostics from './checks/source-section-diagnostics.js';
|
|
24
25
|
import * as unresolvedAnchor from './checks/unresolved-footnote-anchor.js';
|
|
25
26
|
import * as wordGdocs from './checks/word-gdocs-paste-artifacts.js';
|
|
26
27
|
import { DEFAULT_OPTIONS, makeError, SEVERITY } from './types.js';
|
|
@@ -254,10 +255,12 @@ export const checkBareUrlNotAutolinked = bareUrl.check;
|
|
|
254
255
|
export const checkEmptyAltText = emptyAlt.check;
|
|
255
256
|
export const checkIframeMissingDimsAndWrapper = iframeMissingDims.check;
|
|
256
257
|
export const checkHeadingHierarchySkip = headingHierarchy.check;
|
|
258
|
+
export const checkSourceSectionDiagnostics = sourceSectionDiagnostics.check;
|
|
257
259
|
export const checkPaywallMarkerLeak = paywallMarker.check;
|
|
258
260
|
export const DEFAULT_RUN_OPTIONS = {
|
|
259
261
|
...DEFAULT_OPTIONS,
|
|
260
262
|
requireBody: true,
|
|
263
|
+
blockSourceSectionDefects: false,
|
|
261
264
|
};
|
|
262
265
|
/**
|
|
263
266
|
* Run every check in a deterministic order and aggregate the errors.
|
|
@@ -288,6 +291,7 @@ export function validateArticleBody(input, options = {}) {
|
|
|
288
291
|
errors.push(...checkEmptyAltText(input));
|
|
289
292
|
errors.push(...checkIframeMissingDimsAndWrapper(input));
|
|
290
293
|
errors.push(...checkHeadingHierarchySkip(input));
|
|
294
|
+
errors.push(...checkSourceSectionDiagnostics(input, opts));
|
|
291
295
|
errors.push(...checkPaywallMarkerLeak(input));
|
|
292
296
|
// Heuristic.
|
|
293
297
|
errors.push(...checkUnbalancedMarkdownEmphasis(input));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/validator/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/validator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ export interface ValidationError {
|
|
|
24
24
|
severity?: Severity;
|
|
25
25
|
span?: ValidationSpan;
|
|
26
26
|
}
|
|
27
|
-
export type ValidationErrorCode = 'data-uri-artifact' | 'baked-astro-error-template' | 'escaped-raw-html' | 'unbalanced-markdown-emphasis' | 'malformed-data-image-markdown' | 'single-sentence-paragraphs-pattern' | 'backslash-over-escape' | 'html-entity-in-heading' | 'empty-body' | 'broken-footnote-label' | 'unresolved-footnote-anchor' | 'word-gdocs-paste-artifacts' | 'html-comment-leak' | 'raw-block-html' | 'double-encoded-entities' | 'invisible-control-chars' | 'bare-url-not-autolinked' | 'empty-alt-text' | 'iframe-missing-dims-and-wrapper' | 'heading-hierarchy-skip' | 'paywall-marker-leak' | 'stale-body-html';
|
|
27
|
+
export type ValidationErrorCode = 'data-uri-artifact' | 'baked-astro-error-template' | 'escaped-raw-html' | 'unbalanced-markdown-emphasis' | 'malformed-data-image-markdown' | 'single-sentence-paragraphs-pattern' | 'backslash-over-escape' | 'html-entity-in-heading' | 'empty-body' | 'broken-footnote-label' | 'unresolved-footnote-anchor' | 'word-gdocs-paste-artifacts' | 'html-comment-leak' | 'raw-block-html' | 'double-encoded-entities' | 'invisible-control-chars' | 'bare-url-not-autolinked' | 'empty-alt-text' | 'iframe-missing-dims-and-wrapper' | 'heading-hierarchy-skip' | 'paywall-marker-leak' | 'stale-body-html' | 'source-section-manual-bullet' | 'source-section-formatting-only-line' | 'source-section-wrapped-link-label' | 'source-section-unbalanced-emphasis' | 'source-section-unlistable';
|
|
28
28
|
export type ValidationResult = {
|
|
29
29
|
ok: true;
|
|
30
30
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engine/validator/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,gBAAgB;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;AAEvC,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,mBAAmB,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,CAAC,EAAE,cAAc,CAAA;CACrB;AAED,MAAM,MAAM,mBAAmB,GAG5B,mBAAmB,GACnB,4BAA4B,GAC5B,kBAAkB,GAClB,8BAA8B,GAC9B,+BAA+B,GAC/B,oCAAoC,GACpC,uBAAuB,GACvB,wBAAwB,GACxB,YAAY,GAEZ,uBAAuB,GACvB,4BAA4B,GAC5B,4BAA4B,GAC5B,mBAAmB,GACnB,gBAAgB,GAChB,yBAAyB,GACzB,yBAAyB,GACzB,yBAAyB,GACzB,gBAAgB,GAChB,iCAAiC,GACjC,wBAAwB,GACxB,qBAAqB,GACrB,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engine/validator/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,gBAAgB;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAA;AAEvC,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,mBAAmB,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,CAAC,EAAE,cAAc,CAAA;CACrB;AAED,MAAM,MAAM,mBAAmB,GAG5B,mBAAmB,GACnB,4BAA4B,GAC5B,kBAAkB,GAClB,8BAA8B,GAC9B,+BAA+B,GAC/B,oCAAoC,GACpC,uBAAuB,GACvB,wBAAwB,GACxB,YAAY,GAEZ,uBAAuB,GACvB,4BAA4B,GAC5B,4BAA4B,GAC5B,mBAAmB,GACnB,gBAAgB,GAChB,yBAAyB,GACzB,yBAAyB,GACzB,yBAAyB,GACzB,gBAAgB,GAChB,iCAAiC,GACjC,wBAAwB,GACxB,qBAAqB,GACrB,iBAAiB,GAKjB,8BAA8B,GAC9B,qCAAqC,GACrC,mCAAmC,GACnC,oCAAoC,GACpC,2BAA2B,CAAA;AAE9B,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAAA;AAEtF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAmCpE,CAAA;AAED,MAAM,WAAW,gBAAgB;IAChC;;;;OAIG;IACH,0BAA0B,EAAE,MAAM,CAAA;CAClC;AAED,eAAO,MAAM,eAAe,EAAE,gBAE7B,CAAA;AAED,wBAAgB,SAAS,CACxB,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,cAAc,GACnB,eAAe,CAIjB"}
|
|
@@ -39,6 +39,16 @@ export const SEVERITY = {
|
|
|
39
39
|
'heading-hierarchy-skip': 'warn',
|
|
40
40
|
'paywall-marker-leak': 'block',
|
|
41
41
|
'stale-body-html': 'block',
|
|
42
|
+
// #329. WARN by default so a draft save is never rejected — the design is
|
|
43
|
+
// explicit that an editor must not lose work to a formatting complaint, and
|
|
44
|
+
// the PATCH route returns 422 on any block-severity error. Publish call
|
|
45
|
+
// sites pass `blockSourceSectionDefects` to escalate these to block, which
|
|
46
|
+
// is where the design wants them enforced.
|
|
47
|
+
'source-section-manual-bullet': 'warn',
|
|
48
|
+
'source-section-formatting-only-line': 'warn',
|
|
49
|
+
'source-section-wrapped-link-label': 'warn',
|
|
50
|
+
'source-section-unbalanced-emphasis': 'warn',
|
|
51
|
+
'source-section-unlistable': 'warn',
|
|
42
52
|
};
|
|
43
53
|
export const DEFAULT_OPTIONS = {
|
|
44
54
|
singleSentenceParagraphRun: 10,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/engine/validator/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/engine/validator/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA2DH;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAoD;IACxE,0EAA0E;IAC1E,mBAAmB,EAAE,OAAO;IAC5B,4BAA4B,EAAE,OAAO;IACrC,kBAAkB,EAAE,OAAO;IAC3B,8BAA8B,EAAE,MAAM;IACtC,+BAA+B,EAAE,OAAO;IACxC,oCAAoC,EAAE,MAAM;IAC5C,uBAAuB,EAAE,OAAO;IAChC,wBAAwB,EAAE,OAAO;IACjC,YAAY,EAAE,OAAO;IACrB,WAAW;IACX,uBAAuB,EAAE,OAAO;IAChC,4BAA4B,EAAE,MAAM;IACpC,4BAA4B,EAAE,OAAO;IACrC,mBAAmB,EAAE,OAAO;IAC5B,gBAAgB,EAAE,MAAM;IACxB,yBAAyB,EAAE,OAAO;IAClC,yBAAyB,EAAE,OAAO;IAClC,yBAAyB,EAAE,MAAM;IACjC,gBAAgB,EAAE,MAAM;IACxB,iCAAiC,EAAE,MAAM;IACzC,wBAAwB,EAAE,MAAM;IAChC,qBAAqB,EAAE,OAAO;IAC9B,iBAAiB,EAAE,OAAO;IAC1B,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,2EAA2E;IAC3E,2CAA2C;IAC3C,8BAA8B,EAAE,MAAM;IACtC,qCAAqC,EAAE,MAAM;IAC7C,mCAAmC,EAAE,MAAM;IAC3C,oCAAoC,EAAE,MAAM;IAC5C,2BAA2B,EAAE,MAAM;CACnC,CAAA;AAWD,MAAM,CAAC,MAAM,eAAe,GAAqB;IAChD,0BAA0B,EAAE,EAAE;CAC9B,CAAA;AAED,MAAM,UAAU,SAAS,CACxB,IAAyB,EACzB,OAAe,EACf,IAAqB;IAErB,OAAO,IAAI;QACV,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;QACnD,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAA;AAC/C,CAAC"}
|