lens-content-processor 0.45.0 → 0.46.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/content-schema.js +1 -2
- package/dist/content-schema.js.map +1 -1
- package/dist/flattener/index.js +94 -31
- package/dist/flattener/index.js.map +1 -1
- package/dist/index.d.ts +21 -2
- package/dist/index.js +40 -40
- package/dist/index.js.map +1 -1
- package/dist/parser/learning-outcome.js +11 -0
- package/dist/parser/learning-outcome.js.map +1 -1
- package/dist/skill-tree.d.ts +29 -10
- package/dist/skill-tree.js +35 -9
- package/dist/skill-tree.js.map +1 -1
- package/dist/validator/tier.d.ts +11 -6
- package/dist/validator/tier.js +24 -18
- package/dist/validator/tier.js.map +1 -1
- package/package.json +1 -1
package/dist/validator/tier.js
CHANGED
|
@@ -1,32 +1,38 @@
|
|
|
1
1
|
import { parseFrontmatter } from '../parser/frontmatter.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Lower-cased frontmatter `tags` of every .md file (empty when absent).
|
|
4
|
+
* This is the one frontmatter pre-scan: every tag-driven rule reads from it —
|
|
5
|
+
* the tier below, skill-tree visibility in skill-tree.ts — so no rule parses
|
|
6
|
+
* frontmatter a second time.
|
|
7
|
+
*/
|
|
8
|
+
export function buildTagMap(files) {
|
|
9
|
+
const tagMap = new Map();
|
|
10
|
+
for (const [path, content] of files.entries()) {
|
|
11
|
+
if (!path.endsWith('.md'))
|
|
12
|
+
continue;
|
|
13
|
+
const tags = parseFrontmatter(content, path).frontmatter.tags;
|
|
14
|
+
tagMap.set(path, Array.isArray(tags) ? tags.map((t) => String(t).toLowerCase()) : []);
|
|
15
|
+
}
|
|
16
|
+
return tagMap;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Determine content tier from lower-cased frontmatter tags.
|
|
4
20
|
* - tags containing 'validator-ignore' → 'ignored'
|
|
5
21
|
* - tags containing 'wip' → 'wip'
|
|
6
22
|
* - otherwise → 'production'
|
|
7
23
|
*/
|
|
8
|
-
export function
|
|
9
|
-
|
|
10
|
-
if (!Array.isArray(tags))
|
|
11
|
-
return 'production';
|
|
12
|
-
const normalized = tags.map((t) => String(t).toLowerCase());
|
|
13
|
-
if (normalized.includes('validator-ignore'))
|
|
24
|
+
export function getTierFromTags(tags) {
|
|
25
|
+
if (tags.includes('validator-ignore'))
|
|
14
26
|
return 'ignored';
|
|
15
|
-
if (
|
|
27
|
+
if (tags.includes('wip') || tags.includes('work-in-progress'))
|
|
16
28
|
return 'wip';
|
|
17
29
|
return 'production';
|
|
18
30
|
}
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
*/
|
|
22
|
-
export function buildTierMap(files) {
|
|
31
|
+
/** Tier of every file in a tag map (see buildTagMap). */
|
|
32
|
+
export function buildTierMap(tagMap) {
|
|
23
33
|
const tierMap = new Map();
|
|
24
|
-
for (const [path,
|
|
25
|
-
|
|
26
|
-
continue;
|
|
27
|
-
const { frontmatter } = parseFrontmatter(content, path);
|
|
28
|
-
tierMap.set(path, getTierFromFrontmatter(frontmatter));
|
|
29
|
-
}
|
|
34
|
+
for (const [path, tags] of tagMap)
|
|
35
|
+
tierMap.set(path, getTierFromTags(tags));
|
|
30
36
|
return tierMap;
|
|
31
37
|
}
|
|
32
38
|
/**
|
|
@@ -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,
|
|
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,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC7E,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,CAAC,MAA6B;IACxD,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