lens-content-processor 0.48.0 → 0.50.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/dist/bundler/article.d.ts +51 -45
- package/dist/bundler/article.js +106 -50
- package/dist/bundler/article.js.map +1 -1
- package/dist/content-schema.d.ts +22 -0
- package/dist/content-schema.js +58 -29
- package/dist/content-schema.js.map +1 -1
- package/dist/flattener/index.js +69 -77
- package/dist/flattener/index.js.map +1 -1
- package/dist/flattener/test-helpers.js +1 -0
- package/dist/flattener/test-helpers.js.map +1 -1
- package/dist/index.d.ts +24 -5
- package/dist/index.js +19 -6
- package/dist/index.js.map +1 -1
- package/dist/parser/article-elements.d.ts +139 -0
- package/dist/parser/article-elements.js +489 -0
- package/dist/parser/article-elements.js.map +1 -0
- package/dist/parser/article.d.ts +4 -0
- package/dist/parser/article.js +7 -4
- package/dist/parser/article.js.map +1 -1
- package/dist/parser/code-fence.d.ts +7 -0
- package/dist/parser/code-fence.js +34 -0
- package/dist/parser/code-fence.js.map +1 -0
- package/dist/parser/frames.d.ts +51 -0
- package/dist/parser/frames.js +116 -0
- package/dist/parser/frames.js.map +1 -0
- package/dist/parser/learning-outcome.js +4 -2
- package/dist/parser/learning-outcome.js.map +1 -1
- package/dist/parser/lens.d.ts +40 -6
- package/dist/parser/lens.js +56 -72
- package/dist/parser/lens.js.map +1 -1
- package/dist/parser/module.js +7 -27
- package/dist/parser/module.js.map +1 -1
- package/dist/parser/response-segments.d.ts +16 -32
- package/dist/parser/response-segments.js +24 -11
- package/dist/parser/response-segments.js.map +1 -1
- package/dist/parser/sections.d.ts +21 -1
- package/dist/parser/sections.js +94 -14
- package/dist/parser/sections.js.map +1 -1
- package/dist/parser/survey.js +9 -5
- package/dist/parser/survey.js.map +1 -1
- package/dist/source-location.js +6 -1
- package/dist/source-location.js.map +1 -1
- package/dist/validator/article-structure.js +24 -4
- package/dist/validator/article-structure.js.map +1 -1
- package/dist/validator/directives.js +61 -58
- package/dist/validator/directives.js.map +1 -1
- package/dist/validator/test-segments.d.ts +6 -6
- package/dist/validator/test-segments.js +7 -7
- package/dist/validator/test-segments.js.map +1 -1
- package/dist/validator/tier.d.ts +2 -2
- package/dist/validator/tier.js +20 -18
- package/dist/validator/tier.js.map +1 -1
- package/package.json +1 -1
- package/dist/validator/article-imports.d.ts +0 -68
- package/dist/validator/article-imports.js +0 -265
- package/dist/validator/article-imports.js.map +0 -1
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { levenshtein } from "./field-typos.js";
|
|
2
|
+
import { CALLOUT_ATTRIBUTES, CONTAINER_CLOSE, CONTAINER_OPEN, CONTAINER_OPEN_LOOSE, parseDirectiveAttributes, } from "../parser/article-elements.js";
|
|
3
|
+
import { validateCalloutFields } from "../parser/frames.js";
|
|
4
|
+
import { makeFenceTracker } from "../parser/code-fence.js";
|
|
2
5
|
const SUPPORTED_DIRECTIVES = {
|
|
3
6
|
note: { container: true, leaf: true, text: true, open: false },
|
|
4
7
|
hide: { container: true, leaf: false, text: true, open: false },
|
|
@@ -6,11 +9,18 @@ const SUPPORTED_DIRECTIVES = {
|
|
|
6
9
|
collapse: { container: true, leaf: false, text: true, open: false },
|
|
7
10
|
footnote: { container: false, leaf: true, text: true, open: false },
|
|
8
11
|
callout: { container: true, leaf: false, text: false, open: false },
|
|
12
|
+
// An article element (parser/article-elements.ts validates it, attributes
|
|
13
|
+
// included); registered so it nests and closes like any container. Not
|
|
14
|
+
// advertised: it is only meaningful in article bodies.
|
|
15
|
+
question: { container: true, leaf: false, text: false, open: false },
|
|
9
16
|
};
|
|
10
17
|
const LEGACY_DIRECTIVE_ALIASES = new Map([["collapse", "hide"]]);
|
|
18
|
+
const UNADVERTISED_DIRECTIVES = new Set(["question"]);
|
|
11
19
|
function supportedDirectiveNames(form) {
|
|
12
20
|
return Object.entries(SUPPORTED_DIRECTIVES)
|
|
13
|
-
.filter(([name, support]) => !LEGACY_DIRECTIVE_ALIASES.has(name) &&
|
|
21
|
+
.filter(([name, support]) => !LEGACY_DIRECTIVE_ALIASES.has(name) &&
|
|
22
|
+
!UNADVERTISED_DIRECTIVES.has(name) &&
|
|
23
|
+
support[form])
|
|
14
24
|
.map(([name]) => name)
|
|
15
25
|
.join(", ");
|
|
16
26
|
}
|
|
@@ -18,7 +28,7 @@ function supportedDirectiveNames(form) {
|
|
|
18
28
|
// in SUPPORTED_DIRECTIVES (registering them would advertise them for every
|
|
19
29
|
// content type and hard-error on older published processor versions):
|
|
20
30
|
// - ::card — resolved by flattener/resolve-text-links.ts
|
|
21
|
-
// - ::video — validated by
|
|
31
|
+
// - ::video — validated by parser/article-elements.ts (article-body elements)
|
|
22
32
|
// They are skipped here so near-miss detection cannot misfire on them
|
|
23
33
|
// ("video" is within edit distance 2 of "hide").
|
|
24
34
|
const EXTERNALLY_VALIDATED_LEAF = new Set(["card", "video"]);
|
|
@@ -54,11 +64,7 @@ function findNearMissDirective(name) {
|
|
|
54
64
|
}
|
|
55
65
|
return bestMatch;
|
|
56
66
|
}
|
|
57
|
-
// Regex patterns
|
|
58
|
-
const CONTAINER_OPEN = /^(:{3,})([\w-]+)(?:\s*\{([^}]*)\})?/;
|
|
59
|
-
const CONTAINER_CLOSE_BARE = /^(:{3,})\s*$/;
|
|
60
|
-
const CONTAINER_CLOSE_ATTR = /^(:{3,})\s*\{([^}]*)\}/;
|
|
61
|
-
const CODE_FENCE = /^(?:```|~~~)/;
|
|
67
|
+
// Regex patterns (container lines come from parser/article-elements.ts)
|
|
62
68
|
const LEAF_DIRECTIVE_PRE = /^::([\w-]+)(?:\{([^}]*)\})?\[/;
|
|
63
69
|
const LEAF_DIRECTIVE_POST = /^::([\w-]+)\[[^\]]*\]\{([^}]*)\}/;
|
|
64
70
|
const TEXT_DIRECTIVE_PRE = /(?:^|[^:]):(\w[\w-]*)(?:\{([^}]*)\})?\[/;
|
|
@@ -98,53 +104,29 @@ function checkAttribute(name, attr, file, line) {
|
|
|
98
104
|
const info = SUPPORTED_DIRECTIVES[name];
|
|
99
105
|
if (!info)
|
|
100
106
|
return errors;
|
|
107
|
+
if (name === "question")
|
|
108
|
+
return errors;
|
|
101
109
|
if (name === "callout") {
|
|
102
|
-
const
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
file,
|
|
107
|
-
line,
|
|
108
|
-
message: `Invalid callout attributes '{${attr}}'`,
|
|
109
|
-
suggestion: 'Use key="value" attributes: title, tone, or collapse',
|
|
110
|
-
severity: "error",
|
|
111
|
-
});
|
|
112
|
-
return errors;
|
|
113
|
-
}
|
|
114
|
-
const values = new Map(tokens.map((match) => [match[1], match[2]]));
|
|
115
|
-
const allowed = new Set(["title", "tone", "collapse"]);
|
|
116
|
-
for (const key of values.keys()) {
|
|
117
|
-
if (!allowed.has(key)) {
|
|
118
|
-
errors.push({
|
|
110
|
+
const parsed = parseDirectiveAttributes(attr, CALLOUT_ATTRIBUTES);
|
|
111
|
+
for (const problem of parsed.problems) {
|
|
112
|
+
errors.push(problem.kind === "unknown"
|
|
113
|
+
? {
|
|
119
114
|
file,
|
|
120
115
|
line,
|
|
121
|
-
message: `Unrecognized callout attribute '${key}'`,
|
|
116
|
+
message: `Unrecognized callout attribute '${problem.key}'`,
|
|
122
117
|
suggestion: "Use title, tone, or collapse",
|
|
123
118
|
severity: "warning",
|
|
119
|
+
}
|
|
120
|
+
: {
|
|
121
|
+
file,
|
|
122
|
+
line,
|
|
123
|
+
message: `Invalid callout attributes '{${attr}}'`,
|
|
124
|
+
suggestion: 'Use key="value" attributes: title, tone, or collapse',
|
|
125
|
+
severity: "error",
|
|
124
126
|
});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
const tone = values.get("tone");
|
|
128
|
-
if (tone &&
|
|
129
|
-
!["neutral", "blue", "green", "amber", "red", "purple"].includes(tone)) {
|
|
130
|
-
errors.push({
|
|
131
|
-
file,
|
|
132
|
-
line,
|
|
133
|
-
message: `Unrecognized callout tone '${tone}'`,
|
|
134
|
-
suggestion: "Use neutral, blue, green, amber, red, or purple",
|
|
135
|
-
severity: "error",
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
const collapse = values.get("collapse");
|
|
139
|
-
if (collapse && collapse !== "closed" && collapse !== "open") {
|
|
140
|
-
errors.push({
|
|
141
|
-
file,
|
|
142
|
-
line,
|
|
143
|
-
message: `Invalid callout collapse value '${collapse}'`,
|
|
144
|
-
suggestion: 'Use collapse="closed", collapse="open", or omit collapse',
|
|
145
|
-
severity: "error",
|
|
146
|
-
});
|
|
147
127
|
}
|
|
128
|
+
// The well-formed attributes are still validated (and still render).
|
|
129
|
+
errors.push(...validateCalloutFields(parsed.fields, file, line));
|
|
148
130
|
return errors;
|
|
149
131
|
}
|
|
150
132
|
if (attr === "") {
|
|
@@ -201,22 +183,28 @@ export function validateDirectives(body, file, bodyStartLine) {
|
|
|
201
183
|
const errors = [];
|
|
202
184
|
const lines = body.split("\n");
|
|
203
185
|
const stack = [];
|
|
204
|
-
|
|
186
|
+
const fence = makeFenceTracker();
|
|
205
187
|
for (let i = 0; i < lines.length; i++) {
|
|
206
188
|
const line = lines[i];
|
|
207
189
|
const absLine = bodyStartLine + i;
|
|
208
|
-
|
|
209
|
-
if (CODE_FENCE.test(line)) {
|
|
210
|
-
inCodeBlock = !inCodeBlock;
|
|
211
|
-
continue;
|
|
212
|
-
}
|
|
213
|
-
if (inCodeBlock)
|
|
190
|
+
if (fence.step(line) || fence.inside)
|
|
214
191
|
continue;
|
|
215
192
|
// Check container close with attribute (error: {open} on closing marker)
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
193
|
+
const closeMatch = line.match(CONTAINER_CLOSE);
|
|
194
|
+
const innermost = stack[stack.length - 1];
|
|
195
|
+
if (closeMatch &&
|
|
196
|
+
innermost &&
|
|
197
|
+
closeMatch[1].length < innermost.fenceLength) {
|
|
198
|
+
// Shorter than its opener: markdown reads the line as text
|
|
199
|
+
innermost.hasContent = true;
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
if (closeMatch && closeMatch[2] !== undefined) {
|
|
203
|
+
const attrOnClose = closeMatch[2];
|
|
219
204
|
const top = stack.pop();
|
|
205
|
+
// A closed child is content of its parent
|
|
206
|
+
if (stack.length > 0)
|
|
207
|
+
stack[stack.length - 1].hasContent = true;
|
|
220
208
|
if (top) {
|
|
221
209
|
errors.push({
|
|
222
210
|
file,
|
|
@@ -239,8 +227,10 @@ export function validateDirectives(body, file, bodyStartLine) {
|
|
|
239
227
|
continue;
|
|
240
228
|
}
|
|
241
229
|
// Check bare container close
|
|
242
|
-
if (
|
|
230
|
+
if (closeMatch) {
|
|
243
231
|
const top = stack.pop();
|
|
232
|
+
if (stack.length > 0)
|
|
233
|
+
stack[stack.length - 1].hasContent = true;
|
|
244
234
|
if (top && !top.hasContent) {
|
|
245
235
|
errors.push({
|
|
246
236
|
file,
|
|
@@ -294,6 +284,19 @@ export function validateDirectives(body, file, bodyStartLine) {
|
|
|
294
284
|
stack.push({ name, line: absLine, hasContent: false, fenceLength });
|
|
295
285
|
continue;
|
|
296
286
|
}
|
|
287
|
+
const looseOpen = line.match(CONTAINER_OPEN_LOOSE);
|
|
288
|
+
if (looseOpen) {
|
|
289
|
+
// `:::name{…} trailing words` is a paragraph in markdown: the box never
|
|
290
|
+
// opens and its closing `:::` leaks into the text.
|
|
291
|
+
errors.push({
|
|
292
|
+
file,
|
|
293
|
+
line: absLine,
|
|
294
|
+
message: `Text after ':::${looseOpen[2]}' on the same line: the container does not open`,
|
|
295
|
+
suggestion: `Put nothing after the attributes on the ':::${looseOpen[2]}' line`,
|
|
296
|
+
severity: "error",
|
|
297
|
+
});
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
297
300
|
// Check leaf directive (::name[...)
|
|
298
301
|
// First check for unclosed bracket: ::name[ without ]
|
|
299
302
|
const leafUnclosedMatch = line.match(LEAF_UNCLOSED);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/validator/directives.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"directives.js","sourceRoot":"","sources":["../../src/validator/directives.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,11 @@ import type { ParsedLensSegment } from "../parser/lens.js";
|
|
|
13
13
|
export declare function validateTestSegments(segments: ParsedSection[], file: string): ContentError[];
|
|
14
14
|
/**
|
|
15
15
|
* Validate that a converted Test segment is gradable. A Test is an
|
|
16
|
-
* assessment, so every item in it must produce a score:
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* correct answers. Returns an error for anything ungradable; the
|
|
20
|
-
* relative to the Test section body (callers offset it like the
|
|
21
|
-
* conversion errors).
|
|
16
|
+
* assessment, so every item in it must produce a score: roleplays always
|
|
17
|
+
* do, but question segments only when they are graded — a Rating never is,
|
|
18
|
+
* and the other subtypes (a bare `#### Question` is an Open) only with a
|
|
19
|
+
* rubric or correct answers. Returns an error for anything ungradable; the
|
|
20
|
+
* line is relative to the Test section body (callers offset it like the
|
|
21
|
+
* other conversion errors).
|
|
22
22
|
*/
|
|
23
23
|
export declare function validateTestSegmentGradability(segment: ParsedLensSegment, file: string, line: number): ContentError[];
|
|
@@ -46,15 +46,15 @@ const GRADABLE_HINTS = {
|
|
|
46
46
|
};
|
|
47
47
|
/**
|
|
48
48
|
* Validate that a converted Test segment is gradable. A Test is an
|
|
49
|
-
* assessment, so every item in it must produce a score:
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* correct answers. Returns an error for anything ungradable; the
|
|
53
|
-
* relative to the Test section body (callers offset it like the
|
|
54
|
-
* conversion errors).
|
|
49
|
+
* assessment, so every item in it must produce a score: roleplays always
|
|
50
|
+
* do, but question segments only when they are graded — a Rating never is,
|
|
51
|
+
* and the other subtypes (a bare `#### Question` is an Open) only with a
|
|
52
|
+
* rubric or correct answers. Returns an error for anything ungradable; the
|
|
53
|
+
* line is relative to the Test section body (callers offset it like the
|
|
54
|
+
* other conversion errors).
|
|
55
55
|
*/
|
|
56
56
|
export function validateTestSegmentGradability(segment, file, line) {
|
|
57
|
-
if (segment.type !== "question"
|
|
57
|
+
if (segment.type !== "question")
|
|
58
58
|
return [];
|
|
59
59
|
if (segment.graded)
|
|
60
60
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-segments.js","sourceRoot":"","sources":["../../src/validator/test-segments.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAExE;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAyB,EACzB,IAAY;IAEZ,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,6BAA6B,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QAE9D,MAAM,UAAU,GACd,OAAO,CAAC,IAAI,KAAK,MAAM;YACrB,CAAC,CAAC,uLAAuL;YACzL,CAAC,CAAC,wEAAwE,OAAO,CAAC,IAAI,oCAAoC,CAAC;QAE/H,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,4BAA4B,OAAO,CAAC,IAAI,0JAA0J;YAC3M,UAAU;YACV,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AACxE,MAAM,cAAc,GAA2B;IAC7C,IAAI,EAAE,qDAAqD;IAC3D,MAAM,EAAE,2DAA2D;IACnE,SAAS,EACP,kHAAkH;IACpH,OAAO,EAAE,qDAAqD;CAC/D,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAA0B,EAC1B,IAAY,EACZ,IAAY;IAEZ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU
|
|
1
|
+
{"version":3,"file":"test-segments.js","sourceRoot":"","sources":["../../src/validator/test-segments.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAExE;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAyB,EACzB,IAAY;IAEZ,MAAM,MAAM,GAAmB,EAAE,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,6BAA6B,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QAE9D,MAAM,UAAU,GACd,OAAO,CAAC,IAAI,KAAK,MAAM;YACrB,CAAC,CAAC,uLAAuL;YACzL,CAAC,CAAC,wEAAwE,OAAO,CAAC,IAAI,oCAAoC,CAAC;QAE/H,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,4BAA4B,OAAO,CAAC,IAAI,0JAA0J;YAC3M,UAAU;YACV,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AACxE,MAAM,cAAc,GAA2B;IAC7C,IAAI,EAAE,qDAAqD;IAC3D,MAAM,EAAE,2DAA2D;IACnE,SAAS,EACP,kHAAkH;IACpH,OAAO,EAAE,qDAAqD;CAC/D,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAA0B,EAC1B,IAAY,EACZ,IAAY;IAEZ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO;YACL;gBACE,IAAI;gBACJ,IAAI;gBACJ,OAAO,EACL,6HAA6H;gBAC/H,UAAU,EACR,4FAA4F;gBAC9F,QAAQ,EAAE,OAAO;aAClB;SACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GACX,OAAO,CAAC,YAAY,KAAK,WAAW;QAClC,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO;QACL;YACE,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,gDAAgD,OAAO,uFAAuF;YACvJ,UAAU,EAAE,wBAAwB,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAC1E,QAAQ,EAAE,OAAO;SAClB;KACF,CAAC;AACJ,CAAC"}
|
package/dist/validator/tier.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ContentError } from
|
|
2
|
-
export type ContentTier =
|
|
1
|
+
import type { ContentError } from "../index.js";
|
|
2
|
+
export type ContentTier = "production" | "wip" | "ignored";
|
|
3
3
|
/**
|
|
4
4
|
* Lower-cased frontmatter `tags` of every .md file (empty when absent).
|
|
5
5
|
* This is the one frontmatter pre-scan: every tag-driven rule reads from it —
|
package/dist/validator/tier.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { parseFrontmatter } from
|
|
1
|
+
import { parseFrontmatter } from "../parser/frontmatter.js";
|
|
2
2
|
/**
|
|
3
3
|
* Lower-cased frontmatter `tags` of every .md file (empty when absent).
|
|
4
4
|
* This is the one frontmatter pre-scan: every tag-driven rule reads from it —
|
|
@@ -8,10 +8,12 @@ import { parseFrontmatter } from '../parser/frontmatter.js';
|
|
|
8
8
|
export function buildTagMap(files) {
|
|
9
9
|
const tagMap = new Map();
|
|
10
10
|
for (const [path, content] of files.entries()) {
|
|
11
|
-
if (!path.endsWith(
|
|
11
|
+
if (!path.endsWith(".md"))
|
|
12
12
|
continue;
|
|
13
13
|
const tags = parseFrontmatter(content, path).frontmatter.tags;
|
|
14
|
-
tagMap.set(path, Array.isArray(tags)
|
|
14
|
+
tagMap.set(path, Array.isArray(tags)
|
|
15
|
+
? tags.map((t) => String(t).toLowerCase())
|
|
16
|
+
: []);
|
|
15
17
|
}
|
|
16
18
|
return tagMap;
|
|
17
19
|
}
|
|
@@ -22,11 +24,11 @@ export function buildTagMap(files) {
|
|
|
22
24
|
* - otherwise → 'production'
|
|
23
25
|
*/
|
|
24
26
|
export function getTierFromTags(tags) {
|
|
25
|
-
if (tags.includes(
|
|
26
|
-
return
|
|
27
|
-
if (tags.includes(
|
|
28
|
-
return
|
|
29
|
-
return
|
|
27
|
+
if (tags.includes("validator-ignore"))
|
|
28
|
+
return "ignored";
|
|
29
|
+
if (tags.includes("wip") || tags.includes("work-in-progress"))
|
|
30
|
+
return "wip";
|
|
31
|
+
return "production";
|
|
30
32
|
}
|
|
31
33
|
/** Tier of every file in a tag map (see buildTagMap). */
|
|
32
34
|
export function buildTierMap(tagMap) {
|
|
@@ -41,38 +43,38 @@ export function buildTierMap(tagMap) {
|
|
|
41
43
|
*/
|
|
42
44
|
export function checkTierViolation(parentPath, parentTier, childPath, childTier, childLabel, line) {
|
|
43
45
|
// Ignored parents are never processed (filtered upstream)
|
|
44
|
-
if (parentTier ===
|
|
46
|
+
if (parentTier === "ignored")
|
|
45
47
|
return null;
|
|
46
48
|
// Production parent → child must be production
|
|
47
|
-
if (parentTier ===
|
|
49
|
+
if (parentTier === "production" && childTier === "wip") {
|
|
48
50
|
return {
|
|
49
51
|
file: parentPath,
|
|
50
52
|
line,
|
|
51
53
|
message: `References WIP ${childLabel}: ${childPath}`,
|
|
52
54
|
suggestion: `Remove the WIP tag from ${childPath}, or add tags: [wip] to this file`,
|
|
53
|
-
severity:
|
|
54
|
-
category:
|
|
55
|
+
severity: "error",
|
|
56
|
+
category: "production",
|
|
55
57
|
};
|
|
56
58
|
}
|
|
57
|
-
if (parentTier ===
|
|
59
|
+
if (parentTier === "production" && childTier === "ignored") {
|
|
58
60
|
return {
|
|
59
61
|
file: parentPath,
|
|
60
62
|
line,
|
|
61
63
|
message: `References ignored ${childLabel}: ${childPath}`,
|
|
62
64
|
suggestion: `Remove the validator-ignore tag from ${childPath}, or add tags: [wip] to this file`,
|
|
63
|
-
severity:
|
|
64
|
-
category:
|
|
65
|
+
severity: "error",
|
|
66
|
+
category: "production",
|
|
65
67
|
};
|
|
66
68
|
}
|
|
67
69
|
// WIP parent → child must not be ignored
|
|
68
|
-
if (parentTier ===
|
|
70
|
+
if (parentTier === "wip" && childTier === "ignored") {
|
|
69
71
|
return {
|
|
70
72
|
file: parentPath,
|
|
71
73
|
line,
|
|
72
74
|
message: `References ignored ${childLabel}: ${childPath}`,
|
|
73
75
|
suggestion: `Remove the validator-ignore tag from ${childPath}`,
|
|
74
|
-
severity:
|
|
75
|
-
category:
|
|
76
|
+
severity: "error",
|
|
77
|
+
category: "wip",
|
|
76
78
|
};
|
|
77
79
|
}
|
|
78
80
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tier.js","sourceRoot":"","sources":["../../src/validator/tier.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAA0B;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QAC9D,MAAM,CAAC,GAAG,CACR,IAAI,EACJ,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"tier.js","sourceRoot":"","sources":["../../src/validator/tier.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAA0B;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QAC9D,MAAM,CAAC,GAAG,CACR,IAAI,EACJ,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACjB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACnD,CAAC,CAAC,EAAE,CACP,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,SAAS,CAAC;IACxD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAC1B,MAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,UAAuB,EACvB,SAAiB,EACjB,SAAsB,EACtB,UAAkB,EAClB,IAAa;IAEb,0DAA0D;IAC1D,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAE1C,+CAA+C;IAC/C,IAAI,UAAU,KAAK,YAAY,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACvD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,OAAO,EAAE,kBAAkB,UAAU,KAAK,SAAS,EAAE;YACrD,UAAU,EAAE,2BAA2B,SAAS,mCAAmC;YACnF,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,YAAY;SACvB,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,KAAK,YAAY,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC3D,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,OAAO,EAAE,sBAAsB,UAAU,KAAK,SAAS,EAAE;YACzD,UAAU,EAAE,wCAAwC,SAAS,mCAAmC;YAChG,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,YAAY;SACvB,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,IAAI,UAAU,KAAK,KAAK,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACpD,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,OAAO,EAAE,sBAAsB,UAAU,KAAK,SAAS,EAAE;YACzD,UAAU,EAAE,wCAAwC,SAAS,EAAE;YAC/D,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import type { ContentError } from "../index.js";
|
|
2
|
-
export interface VideoImportSyntax {
|
|
3
|
-
kind: "video";
|
|
4
|
-
/** Wikilink target, e.g. "../video_transcripts/name" */
|
|
5
|
-
target: string;
|
|
6
|
-
from?: string;
|
|
7
|
-
to?: string;
|
|
8
|
-
}
|
|
9
|
-
export interface WidgetEmbedSyntax {
|
|
10
|
-
kind: "widget";
|
|
11
|
-
/** Wikilink target, e.g. "../widgets/name" */
|
|
12
|
-
target: string;
|
|
13
|
-
/** `|height=480px` modifier: overrides the widget file's height here. */
|
|
14
|
-
height?: string;
|
|
15
|
-
}
|
|
16
|
-
export type ArticleImportSyntax = VideoImportSyntax | WidgetEmbedSyntax;
|
|
17
|
-
export type ArticleImportParse = {
|
|
18
|
-
kind: "import";
|
|
19
|
-
import: ArticleImportSyntax;
|
|
20
|
-
} | {
|
|
21
|
-
kind: "invalid";
|
|
22
|
-
kindName: "video" | "widget";
|
|
23
|
-
reason: string;
|
|
24
|
-
suggestion: string;
|
|
25
|
-
} | {
|
|
26
|
-
kind: "none";
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Classify a single line of article body text as a ::video import.
|
|
30
|
-
* - "import": a valid own-line ::video import
|
|
31
|
-
* - "invalid": an attempted import with broken syntax
|
|
32
|
-
* - "none": not a video import at all
|
|
33
|
-
*/
|
|
34
|
-
export declare function parseVideoImportLine(line: string): ArticleImportParse;
|
|
35
|
-
/** True when a wikilink target names a file directly under a widgets/ folder. */
|
|
36
|
-
export declare function isWidgetEmbedTarget(target: string): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* Classify a single line of article body text as a widget embed.
|
|
39
|
-
* - "import": a valid own-line ![[../widgets/name]] embed
|
|
40
|
-
* - "invalid": a widget embed with broken syntax or buried in prose
|
|
41
|
-
* - "none": not a widget embed (other ![[...]] embeds included)
|
|
42
|
-
*/
|
|
43
|
-
export declare function parseWidgetEmbedLine(line: string): ArticleImportParse;
|
|
44
|
-
/** Classify a line as any of the inline article imports. */
|
|
45
|
-
export declare function parseArticleImportLine(line: string): ArticleImportParse;
|
|
46
|
-
export interface ScannedArticleLine {
|
|
47
|
-
line: string;
|
|
48
|
-
/** False inside fenced code and on fence/container marker lines. */
|
|
49
|
-
prose: boolean;
|
|
50
|
-
/** Innermost open `:::hide` / `:::collapse` container, if any. */
|
|
51
|
-
hiddenIn?: string;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Walk an article body line by line, tracking fenced code and container
|
|
55
|
-
* directives, so every consumer of import lines skips the same regions.
|
|
56
|
-
*/
|
|
57
|
-
export declare function scanArticleLines(body: string): ScannedArticleLine[];
|
|
58
|
-
/**
|
|
59
|
-
* Parse-time validation of inline imports in an article body.
|
|
60
|
-
* Resolution errors (missing file, bad range) are reported later by the
|
|
61
|
-
* flattener, which has the file map.
|
|
62
|
-
*/
|
|
63
|
-
export declare function validateArticleImports(body: string, file: string, bodyStartLine: number): ContentError[];
|
|
64
|
-
/**
|
|
65
|
-
* Lens text segments do not resolve inline article imports — catch attempts
|
|
66
|
-
* there with a pointer to the supported mechanisms.
|
|
67
|
-
*/
|
|
68
|
-
export declare function validateNoArticleImportsInLensText(content: string, file: string, line: number): ContentError[];
|