@openuji/speculator 0.7.5 → 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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parse/assembler.d.ts +1 -1
- package/dist/parse/assembler.d.ts.map +1 -1
- package/dist/parse/assembler.js +69 -27
- package/dist/parse/assembler.js.map +1 -1
- package/dist/parse/html/AsideHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/AsideHtmlParser.js +85 -3
- package/dist/parse/html/AsideHtmlParser.js.map +1 -1
- package/dist/parse/html/CodeHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/CodeHtmlParser.js +6 -2
- package/dist/parse/html/CodeHtmlParser.js.map +1 -1
- package/dist/parse/html/HeadingsHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/HeadingsHtmlParser.js +3 -4
- package/dist/parse/html/HeadingsHtmlParser.js.map +1 -1
- package/dist/parse/html/IdlHtmlParser.d.ts +0 -4
- package/dist/parse/html/IdlHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/IdlHtmlParser.js +2 -138
- package/dist/parse/html/IdlHtmlParser.js.map +1 -1
- package/dist/parse/html/MiscHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/MiscHtmlParser.js +2 -42
- package/dist/parse/html/MiscHtmlParser.js.map +1 -1
- package/dist/parse/html/SectionsHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/SectionsHtmlParser.js +17 -26
- package/dist/parse/html/SectionsHtmlParser.js.map +1 -1
- package/dist/parse/html/VocabHtmlParser.js +2 -2
- package/dist/parse/html/VocabHtmlParser.js.map +1 -1
- package/dist/parse/html/parser.d.ts +13 -4
- package/dist/parse/html/parser.d.ts.map +1 -1
- package/dist/parse/html/parser.js +96 -99
- package/dist/parse/html/parser.js.map +1 -1
- package/dist/parse/index.d.ts +1 -2
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js +0 -1
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/markdown/CodeMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/CodeMarkdownParser.js +20 -2
- package/dist/parse/markdown/CodeMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/HeadingsMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HeadingsMarkdownParser.js +6 -3
- package/dist/parse/markdown/HeadingsMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/MdxMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/MdxMarkdownParser.js +54 -13
- package/dist/parse/markdown/MdxMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.js +57 -2
- package/dist/parse/markdown/ShorthandsMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/parser.d.ts +12 -3
- package/dist/parse/markdown/parser.d.ts.map +1 -1
- package/dist/parse/markdown/parser.js +71 -80
- package/dist/parse/markdown/parser.js.map +1 -1
- package/dist/parse/markdown/plugins.d.ts.map +1 -1
- package/dist/parse/markdown/plugins.js +9 -2
- package/dist/parse/markdown/plugins.js.map +1 -1
- package/dist/parse/pipeline.d.ts.map +1 -1
- package/dist/parse/pipeline.js +35 -14
- package/dist/parse/pipeline.js.map +1 -1
- package/dist/parse/registry.d.ts +5 -5
- package/dist/parse/registry.d.ts.map +1 -1
- package/dist/parse/registry.js +12 -12
- package/dist/parse/registry.js.map +1 -1
- package/dist/parse/source-mapper.d.ts +42 -0
- package/dist/parse/source-mapper.d.ts.map +1 -0
- package/dist/parse/source-mapper.js +117 -0
- package/dist/parse/source-mapper.js.map +1 -0
- package/dist/parse/types.d.ts +20 -9
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/parse/types.js +2 -13
- package/dist/parse/types.js.map +1 -1
- package/dist/parse/utils/hast-utils.d.ts.map +1 -1
- package/dist/parse/utils/hast-utils.js +63 -28
- package/dist/parse/utils/hast-utils.js.map +1 -1
- package/dist/parse/utils/idl-tokenizer.d.ts +7 -0
- package/dist/parse/utils/idl-tokenizer.d.ts.map +1 -0
- package/dist/parse/utils/idl-tokenizer.js +137 -0
- package/dist/parse/utils/idl-tokenizer.js.map +1 -0
- package/dist/pipeline/index.d.ts.map +1 -1
- package/dist/pipeline/index.js +1 -0
- package/dist/pipeline/index.js.map +1 -1
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +10 -4
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/pipeline/types.d.ts +2 -0
- package/dist/pipeline/types.d.ts.map +1 -1
- package/dist/postprocess/index.d.ts +3 -1
- package/dist/postprocess/index.d.ts.map +1 -1
- package/dist/postprocess/index.js +9 -3
- package/dist/postprocess/index.js.map +1 -1
- package/dist/postprocess/plugins/biblio-index.d.ts.map +1 -1
- package/dist/postprocess/plugins/biblio-index.js +2 -2
- package/dist/postprocess/plugins/biblio-index.js.map +1 -1
- package/dist/postprocess/plugins/bibliography-generator.d.ts.map +1 -1
- package/dist/postprocess/plugins/bibliography-generator.js +46 -5
- package/dist/postprocess/plugins/bibliography-generator.js.map +1 -1
- package/dist/postprocess/plugins/citation-resolve.d.ts.map +1 -1
- package/dist/postprocess/plugins/citation-resolve.js +255 -11
- package/dist/postprocess/plugins/citation-resolve.js.map +1 -1
- package/dist/postprocess/plugins/example-index.d.ts +16 -0
- package/dist/postprocess/plugins/example-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/example-index.js +131 -0
- package/dist/postprocess/plugins/example-index.js.map +1 -0
- package/dist/postprocess/plugins/note-index.d.ts +14 -0
- package/dist/postprocess/plugins/note-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/note-index.js +103 -0
- package/dist/postprocess/plugins/note-index.js.map +1 -0
- package/dist/postprocess/plugins/note-shorthands.d.ts +11 -0
- package/dist/postprocess/plugins/note-shorthands.d.ts.map +1 -0
- package/dist/postprocess/plugins/note-shorthands.js +298 -0
- package/dist/postprocess/plugins/note-shorthands.js.map +1 -0
- package/dist/postprocess/plugins/reference-resolve.d.ts.map +1 -1
- package/dist/postprocess/plugins/reference-resolve.js +46 -1
- package/dist/postprocess/plugins/reference-resolve.js.map +1 -1
- package/dist/postprocess/plugins/toc.d.ts.map +1 -1
- package/dist/postprocess/plugins/toc.js +20 -16
- package/dist/postprocess/plugins/toc.js.map +1 -1
- package/dist/postprocess/walk-ast.d.ts +5 -1
- package/dist/postprocess/walk-ast.d.ts.map +1 -1
- package/dist/postprocess/walk-ast.js +8 -0
- package/dist/postprocess/walk-ast.js.map +1 -1
- package/dist/preprocess/config/doc-config.d.ts +4 -1
- package/dist/preprocess/config/doc-config.d.ts.map +1 -1
- package/dist/preprocess/config/doc-config.js +6 -3
- package/dist/preprocess/config/doc-config.js.map +1 -1
- package/dist/preprocess/config/index.d.ts +1 -1
- package/dist/preprocess/config/index.d.ts.map +1 -1
- package/dist/preprocess/config/normalize.d.ts +2 -2
- package/dist/preprocess/config/normalize.d.ts.map +1 -1
- package/dist/preprocess/config/normalize.js +129 -85
- package/dist/preprocess/config/normalize.js.map +1 -1
- package/dist/preprocess/config/types.d.ts +31 -15
- package/dist/preprocess/config/types.d.ts.map +1 -1
- package/dist/preprocess/config/verify-person.d.ts +2 -0
- package/dist/preprocess/config/verify-person.d.ts.map +1 -0
- package/dist/preprocess/config/verify-person.js +17 -0
- package/dist/preprocess/config/verify-person.js.map +1 -0
- package/dist/preprocess/include/resolver.d.ts.map +1 -1
- package/dist/preprocess/include/resolver.js +86 -32
- package/dist/preprocess/include/resolver.js.map +1 -1
- package/dist/preprocess/include/scan-html.js +1 -1
- package/dist/preprocess/include/scan-html.js.map +1 -1
- package/dist/preprocess/index.d.ts +2 -2
- package/dist/preprocess/index.d.ts.map +1 -1
- package/dist/preprocess/index.js.map +1 -1
- package/dist/preprocess/pipeline.d.ts.map +1 -1
- package/dist/preprocess/pipeline.js +1 -1
- package/dist/preprocess/pipeline.js.map +1 -1
- package/dist/preprocess/types.d.ts +26 -14
- package/dist/preprocess/types.d.ts.map +1 -1
- package/dist/types/ast.generated.d.ts +44 -25
- package/dist/types/ast.generated.d.ts.map +1 -1
- package/dist/types/ast.generated.js +1 -1
- package/dist/types/ast.generated.js.map +1 -1
- package/dist/workspace/sort.js +1 -1
- package/dist/workspace/sort.js.map +1 -1
- package/package.json +2 -2
- package/schema/spec-ast.schema.json +41 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-config.js","sourceRoot":"","sources":["../../../src/preprocess/config/doc-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAChD,4BAA4B;IAC5B,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAElE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iCAAiC;IACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAE5D,qCAAqC;IACrC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,GAAG,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC3C,wCAAwC;IACxC,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;AACtE,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"doc-config.js","sourceRoot":"","sources":["../../../src/preprocess/config/doc-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
export { loadConfig, ConfigLoadError } from '#src/preprocess/config/loader';
|
|
5
5
|
export { normalizeConfig } from '#src/preprocess/config/normalize';
|
|
6
6
|
export { loadDocConfig, generateIdFromPath, getConfigPath } from '#src/preprocess/config/doc-config';
|
|
7
|
-
export type { DocumentConfig, ResolvedDocumentConfig, RawRespecConfig,
|
|
7
|
+
export type { DocumentConfig, ResolvedDocumentConfig, RawRespecConfig, RawBikeshedConfig, DocumentId, ISODateString, MaturityLevel, } from '#src/preprocess/config/types';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/preprocess/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACrG,YAAY,EACR,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/preprocess/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACrG,YAAY,EACR,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,aAAa,GAChB,MAAM,8BAA8B,CAAC"}
|
|
@@ -9,8 +9,8 @@ import type { ResolvedDocumentConfig } from './types.js';
|
|
|
9
9
|
* Normalize a ResolvedDocumentConfig to internal SpecConfig
|
|
10
10
|
*
|
|
11
11
|
* Priority order (lowest to highest):
|
|
12
|
-
* 1.
|
|
13
|
-
* 2. Root-level properties (title, lastUpdateDate, maturityLevel)
|
|
12
|
+
* 1. bikeshed.* OR respec.*
|
|
13
|
+
* 2. Root-level properties (title, lastUpdateDate, maturityLevel, repository)
|
|
14
14
|
* 3. custom.* - Highest priority, overwrites everything
|
|
15
15
|
*
|
|
16
16
|
* @param docConfig - Resolved document config with ID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/preprocess/config/normalize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAA8B,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../src/preprocess/config/normalize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAA8B,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAsC,MAAM,YAAY,CAAC;AAgN7F;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,sBAAsB,GAAG,UAAU,CAyC7E"}
|
|
@@ -3,24 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Converts raw document configuration to normalized internal format.
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
* Normalize a raw person entry to internal format
|
|
8
|
-
*/
|
|
9
|
-
function normalizePerson(raw) {
|
|
10
|
-
// Name is required
|
|
11
|
-
if (!raw.name) {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
return {
|
|
15
|
-
name: raw.name,
|
|
16
|
-
url: raw.url,
|
|
17
|
-
company: raw.company,
|
|
18
|
-
companyURL: raw.companyURL,
|
|
19
|
-
email: raw.mailto || raw.email,
|
|
20
|
-
note: raw.note,
|
|
21
|
-
w3cid: raw.w3cid,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
6
|
+
const DATE_PLACEHOLDER = '[DATE]';
|
|
24
7
|
/**
|
|
25
8
|
* Map respec specStatus to maturity level
|
|
26
9
|
*/
|
|
@@ -40,43 +23,77 @@ function mapSpecStatusToMaturity(specStatus) {
|
|
|
40
23
|
};
|
|
41
24
|
return mapping[specStatus];
|
|
42
25
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
* @returns Normalized SpecConfig with defaults applied
|
|
53
|
-
*/
|
|
54
|
-
export function normalizeConfig(docConfig) {
|
|
55
|
-
const id = docConfig.id;
|
|
56
|
-
// baseUrl for assembling thisVersion (defaults to empty string)
|
|
57
|
-
const baseUrl = docConfig.baseUrl;
|
|
58
|
-
const raw = docConfig.respec ?? {};
|
|
59
|
-
let thisVersion;
|
|
60
|
-
// Priority: root baseUrl > respec.thisVersion > assembled from baseUrl + id
|
|
61
|
-
if (baseUrl !== undefined) {
|
|
62
|
-
thisVersion = `${baseUrl.replace(/\/$/, '')}/${id}`;
|
|
26
|
+
function toISODateString(date) {
|
|
27
|
+
const year = date.getFullYear();
|
|
28
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
29
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
30
|
+
return `${year}-${month}-${day}`;
|
|
31
|
+
}
|
|
32
|
+
function resolveDatePlaceholder(dateValue) {
|
|
33
|
+
if (dateValue === undefined) {
|
|
34
|
+
return undefined;
|
|
63
35
|
}
|
|
64
|
-
|
|
65
|
-
|
|
36
|
+
if (dateValue.trim() !== DATE_PLACEHOLDER) {
|
|
37
|
+
return dateValue;
|
|
66
38
|
}
|
|
67
|
-
|
|
68
|
-
|
|
39
|
+
return toISODateString(new Date());
|
|
40
|
+
}
|
|
41
|
+
function normalizeBikeshedConfig(bsRaw, config) {
|
|
42
|
+
const bs = {};
|
|
43
|
+
for (const [k, v] of Object.entries(bsRaw)) {
|
|
44
|
+
bs[k.toLowerCase().replace(/[\s!]/g, '')] = v;
|
|
69
45
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (
|
|
77
|
-
config.
|
|
46
|
+
if (bs.ed !== undefined && typeof bs.ed === 'string') {
|
|
47
|
+
config.specIri = bs.ed;
|
|
48
|
+
}
|
|
49
|
+
if (bs.title !== undefined) {
|
|
50
|
+
config.title = bs.title;
|
|
51
|
+
}
|
|
52
|
+
if (bs.shortname !== undefined) {
|
|
53
|
+
config.shortName = bs.shortname;
|
|
54
|
+
}
|
|
55
|
+
if (bs.status !== undefined) {
|
|
56
|
+
config.status = bs.status;
|
|
57
|
+
config.maturityLevel = mapSpecStatusToMaturity(bs.status);
|
|
58
|
+
}
|
|
59
|
+
const bsCreated = typeof bs.created === 'string' ? bs.created : undefined;
|
|
60
|
+
const creationDate = resolveDatePlaceholder(bsCreated);
|
|
61
|
+
if (creationDate !== undefined) {
|
|
62
|
+
config.creationDate = creationDate;
|
|
63
|
+
}
|
|
64
|
+
const bsModified = typeof bs.modified === 'string' ? bs.modified : undefined;
|
|
65
|
+
const bsModificationDate = resolveDatePlaceholder(bsModified);
|
|
66
|
+
if (bsModificationDate !== undefined) {
|
|
67
|
+
config.lastUpdateDate = bsModificationDate;
|
|
68
|
+
}
|
|
69
|
+
if (bs.tr !== undefined) {
|
|
70
|
+
config.latestVersion = bs.tr;
|
|
78
71
|
}
|
|
79
|
-
|
|
72
|
+
const bsEditors = Array.isArray(bs.editor) ? bs.editor : (bs.editor ? [bs.editor] : undefined);
|
|
73
|
+
if (bsEditors) {
|
|
74
|
+
config.editors = bsEditors;
|
|
75
|
+
}
|
|
76
|
+
if (bs.abstract !== undefined) {
|
|
77
|
+
config.abstract = bs.abstract;
|
|
78
|
+
}
|
|
79
|
+
if (bs.group !== undefined) {
|
|
80
|
+
config.group = bs.group;
|
|
81
|
+
}
|
|
82
|
+
if (bs.repository !== undefined) {
|
|
83
|
+
config.repository = bs.repository;
|
|
84
|
+
}
|
|
85
|
+
if (bs.maxtocdepth !== undefined) {
|
|
86
|
+
config.maxTocLevel = typeof bs.maxtocdepth === 'string' ? parseInt(bs.maxtocdepth, 10) : bs.maxtocdepth;
|
|
87
|
+
}
|
|
88
|
+
if (bs.biblio !== undefined) {
|
|
89
|
+
config.localBiblio = bs.biblio;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function normalizeRespecConfig(raw, config) {
|
|
93
|
+
if (raw.thisVersion !== undefined) {
|
|
94
|
+
config.specIri = raw.thisVersion;
|
|
95
|
+
}
|
|
96
|
+
if (raw.title !== undefined) {
|
|
80
97
|
config.title = raw.title;
|
|
81
98
|
}
|
|
82
99
|
if (raw.shortName !== undefined) {
|
|
@@ -85,26 +102,23 @@ export function normalizeConfig(docConfig) {
|
|
|
85
102
|
if (raw.subtitle !== undefined) {
|
|
86
103
|
config.subtitle = raw.subtitle;
|
|
87
104
|
}
|
|
88
|
-
// Status and versioning - specStatus is preserved as fallback
|
|
89
105
|
if (raw.specStatus !== undefined) {
|
|
90
106
|
config.status = raw.specStatus;
|
|
107
|
+
const mappedMaturity = mapSpecStatusToMaturity(raw.specStatus);
|
|
108
|
+
if (mappedMaturity)
|
|
109
|
+
config.maturityLevel = mappedMaturity;
|
|
91
110
|
}
|
|
92
|
-
|
|
93
|
-
if (
|
|
94
|
-
config.
|
|
95
|
-
}
|
|
96
|
-
else if (raw.specStatus !== undefined) {
|
|
97
|
-
config.maturityLevel = mapSpecStatusToMaturity(raw.specStatus);
|
|
98
|
-
}
|
|
99
|
-
if (raw.publishDate !== undefined) {
|
|
100
|
-
config.publishDate = raw.publishDate;
|
|
111
|
+
const publishDate = resolveDatePlaceholder(raw.publishDate);
|
|
112
|
+
if (publishDate !== undefined) {
|
|
113
|
+
config.publishDate = publishDate;
|
|
101
114
|
}
|
|
102
|
-
|
|
103
|
-
if (
|
|
104
|
-
config.
|
|
115
|
+
const creationDate = resolveDatePlaceholder(raw.creationDate);
|
|
116
|
+
if (creationDate !== undefined) {
|
|
117
|
+
config.creationDate = creationDate;
|
|
105
118
|
}
|
|
106
|
-
|
|
107
|
-
|
|
119
|
+
const respecModificationDate = resolveDatePlaceholder(raw.modificationDate);
|
|
120
|
+
if (respecModificationDate !== undefined) {
|
|
121
|
+
config.lastUpdateDate = respecModificationDate;
|
|
108
122
|
}
|
|
109
123
|
if (raw.version !== undefined) {
|
|
110
124
|
config.version = raw.version;
|
|
@@ -115,10 +129,8 @@ export function normalizeConfig(docConfig) {
|
|
|
115
129
|
if (raw.prevVersion !== undefined) {
|
|
116
130
|
config.previousVersion = raw.prevVersion;
|
|
117
131
|
}
|
|
118
|
-
// People
|
|
119
132
|
if (raw.editors && Array.isArray(raw.editors)) {
|
|
120
133
|
const editors = raw.editors
|
|
121
|
-
.map(normalizePerson)
|
|
122
134
|
.filter((p) => p !== null);
|
|
123
135
|
if (editors.length > 0) {
|
|
124
136
|
config.editors = editors;
|
|
@@ -126,24 +138,20 @@ export function normalizeConfig(docConfig) {
|
|
|
126
138
|
}
|
|
127
139
|
if (raw.authors && Array.isArray(raw.authors)) {
|
|
128
140
|
const authors = raw.authors
|
|
129
|
-
.map(normalizePerson)
|
|
130
141
|
.filter((p) => p !== null);
|
|
131
142
|
if (authors.length > 0) {
|
|
132
143
|
config.authors = authors;
|
|
133
144
|
}
|
|
134
145
|
}
|
|
135
|
-
// Content
|
|
136
146
|
if (raw.abstract !== undefined) {
|
|
137
147
|
config.abstract = raw.abstract;
|
|
138
148
|
}
|
|
139
|
-
// Legal
|
|
140
149
|
if (raw.license !== undefined) {
|
|
141
150
|
config.license = raw.license;
|
|
142
151
|
}
|
|
143
152
|
if (raw.copyright !== undefined) {
|
|
144
153
|
config.copyright = raw.copyright;
|
|
145
154
|
}
|
|
146
|
-
// Branding - normalize logo format
|
|
147
155
|
if (raw.logos && Array.isArray(raw.logos)) {
|
|
148
156
|
config.logos = raw.logos.map(logo => ({
|
|
149
157
|
src: logo.src,
|
|
@@ -151,35 +159,71 @@ export function normalizeConfig(docConfig) {
|
|
|
151
159
|
href: logo.href || logo.url,
|
|
152
160
|
}));
|
|
153
161
|
}
|
|
154
|
-
// Organization
|
|
155
162
|
if (raw.group !== undefined) {
|
|
156
163
|
config.group = raw.group;
|
|
157
164
|
}
|
|
158
165
|
if (raw.repository !== undefined) {
|
|
159
166
|
config.repository = raw.repository;
|
|
160
167
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
168
|
+
if (raw.noTOC === true) {
|
|
169
|
+
config.tocEnabled = false;
|
|
170
|
+
}
|
|
164
171
|
if (raw.maxTocLevel !== undefined && typeof raw.maxTocLevel === 'number') {
|
|
165
172
|
config.maxTocLevel = raw.maxTocLevel;
|
|
166
173
|
}
|
|
167
|
-
// Bibliography
|
|
168
174
|
if (raw.localBiblio !== undefined) {
|
|
169
175
|
config.localBiblio = raw.localBiblio;
|
|
170
176
|
}
|
|
177
|
+
if (raw.xref !== undefined) {
|
|
178
|
+
config.xref = raw.xref;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Normalize a ResolvedDocumentConfig to internal SpecConfig
|
|
183
|
+
*
|
|
184
|
+
* Priority order (lowest to highest):
|
|
185
|
+
* 1. bikeshed.* OR respec.*
|
|
186
|
+
* 2. Root-level properties (title, lastUpdateDate, maturityLevel, repository)
|
|
187
|
+
* 3. custom.* - Highest priority, overwrites everything
|
|
188
|
+
*
|
|
189
|
+
* @param docConfig - Resolved document config with ID
|
|
190
|
+
* @returns Normalized SpecConfig with defaults applied
|
|
191
|
+
*/
|
|
192
|
+
export function normalizeConfig(docConfig) {
|
|
193
|
+
const id = docConfig.id;
|
|
194
|
+
const baseUrl = docConfig.baseUrl;
|
|
195
|
+
const config = {
|
|
196
|
+
id: docConfig.id,
|
|
197
|
+
deps: docConfig.deps,
|
|
198
|
+
specIri: baseUrl !== undefined ? `${baseUrl.replace(/\/$/, '')}/${id}` : id,
|
|
199
|
+
tocEnabled: true,
|
|
200
|
+
};
|
|
201
|
+
if (docConfig.bikeshed) {
|
|
202
|
+
normalizeBikeshedConfig(docConfig.bikeshed, config);
|
|
203
|
+
}
|
|
204
|
+
else if (docConfig.respec) {
|
|
205
|
+
normalizeRespecConfig(docConfig.respec, config);
|
|
206
|
+
}
|
|
207
|
+
// Root-level overrides
|
|
208
|
+
if (docConfig.title !== undefined) {
|
|
209
|
+
config.title = docConfig.title;
|
|
210
|
+
}
|
|
211
|
+
if (docConfig.maturityLevel !== undefined) {
|
|
212
|
+
config.maturityLevel = docConfig.maturityLevel;
|
|
213
|
+
}
|
|
214
|
+
if (docConfig.lastUpdateDate !== undefined) {
|
|
215
|
+
const rootLastUpdateDate = resolveDatePlaceholder(docConfig.lastUpdateDate);
|
|
216
|
+
if (rootLastUpdateDate !== undefined) {
|
|
217
|
+
config.lastUpdateDate = rootLastUpdateDate;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (docConfig.repository !== undefined) {
|
|
221
|
+
config.repository = docConfig.repository;
|
|
222
|
+
}
|
|
171
223
|
// Custom overrides - highest priority, applied last
|
|
172
224
|
if (docConfig.custom !== undefined) {
|
|
173
225
|
config.custom = docConfig.custom;
|
|
174
226
|
}
|
|
175
|
-
if (docConfig.noConformance || docConfig.respec?.noConformance !== undefined) {
|
|
176
|
-
const noConformance = docConfig.noConformance || docConfig.respec?.noConformance;
|
|
177
|
-
config.noConformance = noConformance;
|
|
178
|
-
}
|
|
179
|
-
// Cross-references
|
|
180
|
-
if (raw.xref !== undefined) {
|
|
181
|
-
config.xref = raw.xref;
|
|
182
|
-
}
|
|
183
227
|
return config;
|
|
184
228
|
}
|
|
185
229
|
//# sourceMappingURL=normalize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/preprocess/config/normalize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,SAAS,
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/preprocess/config/normalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,18 +7,28 @@
|
|
|
7
7
|
export type DocumentId = string;
|
|
8
8
|
export type ISODateString = `${number}-${number}-${number}`;
|
|
9
9
|
export type MaturityLevel = 'incubating' | 'draft' | 'prerelease' | 'stable';
|
|
10
|
+
import { PersonEntry } from "#src/preprocess/types";
|
|
10
11
|
/**
|
|
11
|
-
* Raw
|
|
12
|
+
* Raw Bikeshed configuration as embedded in config.json
|
|
12
13
|
*/
|
|
13
|
-
export interface
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
export interface RawBikeshedConfig {
|
|
15
|
+
title?: string;
|
|
16
|
+
shortname?: string;
|
|
17
|
+
status?: string;
|
|
18
|
+
level?: number | string;
|
|
19
|
+
group?: string;
|
|
20
|
+
ed?: string;
|
|
21
|
+
tr?: string;
|
|
22
|
+
created?: string;
|
|
23
|
+
modified?: string;
|
|
24
|
+
repository?: string;
|
|
25
|
+
maxtocdepth?: number | string;
|
|
26
|
+
editor?: PersonEntry[];
|
|
27
|
+
formereditor?: PersonEntry[];
|
|
28
|
+
abstract?: string;
|
|
29
|
+
boilerplate?: string;
|
|
30
|
+
testsuite?: string;
|
|
31
|
+
[key: string]: unknown;
|
|
22
32
|
}
|
|
23
33
|
/**
|
|
24
34
|
* Raw ReSpec configuration as embedded in config.json
|
|
@@ -30,12 +40,13 @@ export interface RawRespecConfig {
|
|
|
30
40
|
specStatus?: string;
|
|
31
41
|
version?: string;
|
|
32
42
|
publishDate?: string;
|
|
43
|
+
creationDate?: string;
|
|
33
44
|
modificationDate?: string;
|
|
34
45
|
thisVersion?: string;
|
|
35
46
|
latestVersion?: string;
|
|
36
47
|
prevVersion?: string;
|
|
37
|
-
editors?:
|
|
38
|
-
authors?:
|
|
48
|
+
editors?: PersonEntry[];
|
|
49
|
+
authors?: PersonEntry[];
|
|
39
50
|
abstract?: string;
|
|
40
51
|
license?: string;
|
|
41
52
|
copyright?: string;
|
|
@@ -57,7 +68,6 @@ export interface RawRespecConfig {
|
|
|
57
68
|
noTOC?: boolean;
|
|
58
69
|
maxTocLevel?: number;
|
|
59
70
|
localBiblio?: Record<string, unknown>;
|
|
60
|
-
noConformance?: boolean;
|
|
61
71
|
xref?: string | string[] | Record<string, string>;
|
|
62
72
|
}
|
|
63
73
|
export interface ResolvedDocumentConfig {
|
|
@@ -69,14 +79,20 @@ export interface ResolvedDocumentConfig {
|
|
|
69
79
|
title?: string;
|
|
70
80
|
/** Last update date (core config setting, takes priority over respec.modificationDate) */
|
|
71
81
|
lastUpdateDate?: ISODateString;
|
|
82
|
+
/** Repository URL or descriptor (core config setting, takes priority over respec.repository) */
|
|
83
|
+
repository?: string | {
|
|
84
|
+
url: string;
|
|
85
|
+
branch?: string;
|
|
86
|
+
type?: 'github' | 'gitlab' | 'manual';
|
|
87
|
+
};
|
|
72
88
|
/** Maturity level (core config setting, takes priority over mapped respec.specStatus) */
|
|
73
89
|
maturityLevel?: MaturityLevel;
|
|
74
90
|
/** Base URL for assembling thisVersion when not explicitly set */
|
|
75
91
|
baseUrl?: string;
|
|
76
|
-
/** If true, suppresses the automatic generation of the conformance section. */
|
|
77
|
-
noConformance?: boolean;
|
|
78
92
|
/** Optional ReSpec configuration embedded in config.json */
|
|
79
93
|
respec?: RawRespecConfig;
|
|
94
|
+
/** Optional Bikeshed configuration embedded in config.json */
|
|
95
|
+
bikeshed?: RawBikeshedConfig;
|
|
80
96
|
/**
|
|
81
97
|
* Custom user-defined properties.
|
|
82
98
|
* Highest priority - overwrites both root and respec values.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/preprocess/config/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/preprocess/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-person.d.ts","sourceRoot":"","sources":["../../../src/preprocess/config/verify-person.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { parseBikeshedPerson } from './normalize.js';
|
|
2
|
+
const testCases = [
|
|
3
|
+
"Brandon Walderman, Microsoft https://www.microsoft.com, brwalder@microsoft.com, w3cid 115877",
|
|
4
|
+
"[Name](URL) ([Company](Company URL))",
|
|
5
|
+
"John Doe, Some Company, john@example.com",
|
|
6
|
+
"Jane Smith, http://example.com, jane@example.com",
|
|
7
|
+
"Just Name",
|
|
8
|
+
"Name (Company)",
|
|
9
|
+
"Name ([Company](http://company.com))"
|
|
10
|
+
];
|
|
11
|
+
console.log("Testing parseBikeshedPerson:");
|
|
12
|
+
for (const tc of testCases) {
|
|
13
|
+
console.log(`Input: ${tc}`);
|
|
14
|
+
console.log(`Result: ${JSON.stringify(parseBikeshedPerson(tc), null, 2)}`);
|
|
15
|
+
console.log("-".repeat(40));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=verify-person.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-person.js","sourceRoot":"","sources":["../../../src/preprocess/config/verify-person.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,SAAS,GAAG;IACd,8FAA8F;IAC9F,sCAAsC;IACtC,0CAA0C;IAC1C,kDAAkD;IAClD,WAAW;IACX,gBAAgB;IAChB,sCAAsC;CACzC,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC5C,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/preprocess/include/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EACR,YAAY,EAKZ,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAK/B;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAGtB,IAAI,EAAE,eAAe,GAAG,mBAAmB;aAC3C,IAAI,EAAE,MAAM;gBAF5B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,eAAe,GAAG,mBAAmB,EAC3C,IAAI,EAAE,MAAM;CAKnC;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/preprocess/include/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EACR,YAAY,EAKZ,eAAe,EAClB,MAAM,uBAAuB,CAAC;AAK/B;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAGtB,IAAI,EAAE,eAAe,GAAG,mBAAmB;aAC3C,IAAI,EAAE,MAAM;gBAF5B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,eAAe,GAAG,mBAAmB,EAC3C,IAAI,EAAE,MAAM;CAKnC;AAsSD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CACjC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,YAAY,GAAG,SAAS,EACrC,YAAY,EAAE,YAAY,GAC3B,OAAO,CAAC,eAAe,CAAC,CAqB1B"}
|