@openuji/speculator 0.6.1 → 0.7.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/parse/__tests__/shorthands.test.js +22 -0
- package/dist/parse/__tests__/shorthands.test.js.map +1 -1
- package/dist/parse/assembler.d.ts.map +1 -1
- package/dist/parse/assembler.js +10 -16
- package/dist/parse/assembler.js.map +1 -1
- package/dist/parse/html/CodeHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/CodeHtmlParser.js +1 -0
- 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 +7 -0
- package/dist/parse/html/HeadingsHtmlParser.js.map +1 -1
- package/dist/parse/html/MiscHtmlParser.d.ts.map +1 -1
- package/dist/parse/html/MiscHtmlParser.js +1 -0
- 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 +3 -0
- package/dist/parse/html/SectionsHtmlParser.js.map +1 -1
- package/dist/parse/html/SpecStatementHtmlParser.d.ts +9 -0
- package/dist/parse/html/SpecStatementHtmlParser.d.ts.map +1 -0
- package/dist/parse/html/SpecStatementHtmlParser.js +52 -0
- package/dist/parse/html/SpecStatementHtmlParser.js.map +1 -0
- package/dist/parse/markdown/CodeMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/CodeMarkdownParser.js +1 -0
- 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 +25 -5
- package/dist/parse/markdown/HeadingsMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/HtmlBlockMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HtmlBlockMarkdownParser.js +5 -20
- package/dist/parse/markdown/HtmlBlockMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/HtmlParagraphMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/HtmlParagraphMarkdownParser.js +19 -18
- package/dist/parse/markdown/HtmlParagraphMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/MiscMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/MiscMarkdownParser.js +2 -0
- package/dist/parse/markdown/MiscMarkdownParser.js.map +1 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.d.ts.map +1 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.js +23 -1
- package/dist/parse/markdown/ShorthandsMarkdownParser.js.map +1 -1
- package/dist/parse/normalize.d.ts +22 -0
- package/dist/parse/normalize.d.ts.map +1 -1
- package/dist/parse/normalize.js +36 -0
- package/dist/parse/normalize.js.map +1 -1
- package/dist/parse/parsers.d.ts +1 -0
- package/dist/parse/parsers.d.ts.map +1 -1
- package/dist/parse/parsers.js +3 -0
- package/dist/parse/parsers.js.map +1 -1
- package/dist/parse/pipeline.d.ts.map +1 -1
- package/dist/parse/pipeline.js +1 -1
- package/dist/parse/pipeline.js.map +1 -1
- package/dist/parse/utils/hast-utils.d.ts +5 -1
- package/dist/parse/utils/hast-utils.d.ts.map +1 -1
- package/dist/parse/utils/hast-utils.js +76 -5
- package/dist/parse/utils/hast-utils.js.map +1 -1
- package/dist/parse/utils/markdown-utils.d.ts +9 -0
- package/dist/parse/utils/markdown-utils.d.ts.map +1 -0
- package/dist/parse/utils/markdown-utils.js +27 -0
- package/dist/parse/utils/markdown-utils.js.map +1 -0
- package/dist/parse/utils/normative.d.ts +31 -0
- package/dist/parse/utils/normative.d.ts.map +1 -0
- package/dist/parse/utils/normative.js +66 -0
- package/dist/parse/utils/normative.js.map +1 -0
- package/dist/pipeline/runner.d.ts +2 -0
- package/dist/pipeline/runner.d.ts.map +1 -1
- package/dist/pipeline/runner.js +38 -16
- package/dist/pipeline/runner.js.map +1 -1
- package/dist/pipeline/types.d.ts +9 -2
- package/dist/pipeline/types.d.ts.map +1 -1
- package/dist/pipeline/types.js.map +1 -1
- package/dist/pipeline/workspace-index.d.ts +6 -6
- package/dist/pipeline/workspace-index.d.ts.map +1 -1
- package/dist/pipeline/workspace-index.js +26 -47
- package/dist/pipeline/workspace-index.js.map +1 -1
- package/dist/postprocess/__tests__/bibliography.test.d.ts +2 -0
- package/dist/postprocess/__tests__/bibliography.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/bibliography.test.js +104 -0
- package/dist/postprocess/__tests__/bibliography.test.js.map +1 -0
- package/dist/postprocess/__tests__/conformance.test.d.ts +2 -0
- package/dist/postprocess/__tests__/conformance.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/conformance.test.js +61 -0
- package/dist/postprocess/__tests__/conformance.test.js.map +1 -0
- package/dist/postprocess/__tests__/section-resolve.test.d.ts +5 -0
- package/dist/postprocess/__tests__/section-resolve.test.d.ts.map +1 -0
- package/dist/postprocess/__tests__/section-resolve.test.js +58 -0
- package/dist/postprocess/__tests__/section-resolve.test.js.map +1 -0
- package/dist/postprocess/index.d.ts +7 -0
- package/dist/postprocess/index.d.ts.map +1 -1
- package/dist/postprocess/index.js +21 -0
- package/dist/postprocess/index.js.map +1 -1
- package/dist/postprocess/plugins/biblio-index.d.ts +9 -0
- package/dist/postprocess/plugins/biblio-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/biblio-index.js +32 -0
- package/dist/postprocess/plugins/biblio-index.js.map +1 -0
- package/dist/postprocess/plugins/bibliography-generator.d.ts +9 -0
- package/dist/postprocess/plugins/bibliography-generator.d.ts.map +1 -0
- package/dist/postprocess/plugins/bibliography-generator.js +111 -0
- package/dist/postprocess/plugins/bibliography-generator.js.map +1 -0
- package/dist/postprocess/plugins/citation-index.d.ts +8 -0
- package/dist/postprocess/plugins/citation-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/citation-index.js +42 -0
- package/dist/postprocess/plugins/citation-index.js.map +1 -0
- package/dist/postprocess/plugins/conformance-boilerplate.d.ts +9 -0
- package/dist/postprocess/plugins/conformance-boilerplate.d.ts.map +1 -0
- package/dist/postprocess/plugins/conformance-boilerplate.js +82 -0
- package/dist/postprocess/plugins/conformance-boilerplate.js.map +1 -0
- package/dist/postprocess/plugins/dfn-index.d.ts.map +1 -1
- package/dist/postprocess/plugins/dfn-index.js +20 -2
- package/dist/postprocess/plugins/dfn-index.js.map +1 -1
- package/dist/postprocess/plugins/jsonld-compute.d.ts +14 -0
- package/dist/postprocess/plugins/jsonld-compute.d.ts.map +1 -0
- package/dist/postprocess/plugins/jsonld-compute.js +122 -0
- package/dist/postprocess/plugins/jsonld-compute.js.map +1 -0
- package/dist/postprocess/plugins/section-resolve.d.ts +9 -0
- package/dist/postprocess/plugins/section-resolve.d.ts.map +1 -0
- package/dist/postprocess/plugins/section-resolve.js +35 -0
- package/dist/postprocess/plugins/section-resolve.js.map +1 -0
- package/dist/postprocess/plugins/statement-index.d.ts +11 -0
- package/dist/postprocess/plugins/statement-index.d.ts.map +1 -0
- package/dist/postprocess/plugins/statement-index.js +135 -0
- package/dist/postprocess/plugins/statement-index.js.map +1 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.d.ts +14 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.d.ts.map +1 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.js +124 -0
- package/dist/postprocess/plugins/statementsJsonLd-compute.js.map +1 -0
- package/dist/postprocess/plugins/toc.d.ts.map +1 -1
- package/dist/postprocess/plugins/toc.js +14 -7
- package/dist/postprocess/plugins/toc.js.map +1 -1
- package/dist/postprocess/walk-ast.js +1 -1
- package/dist/postprocess/walk-ast.js.map +1 -1
- package/dist/preprocess/config/doc-config.d.ts +1 -1
- package/dist/preprocess/config/doc-config.d.ts.map +1 -1
- package/dist/preprocess/config/doc-config.js +4 -2
- package/dist/preprocess/config/doc-config.js.map +1 -1
- package/dist/preprocess/config/env.d.ts +14 -0
- package/dist/preprocess/config/env.d.ts.map +1 -0
- package/dist/preprocess/config/env.js +22 -0
- package/dist/preprocess/config/env.js.map +1 -0
- package/dist/preprocess/config/loader.d.ts +1 -1
- package/dist/preprocess/config/loader.d.ts.map +1 -1
- package/dist/preprocess/config/loader.js +4 -2
- package/dist/preprocess/config/loader.js.map +1 -1
- package/dist/preprocess/config/normalize.d.ts.map +1 -1
- package/dist/preprocess/config/normalize.js +20 -4
- package/dist/preprocess/config/normalize.js.map +1 -1
- package/dist/preprocess/config/types.d.ts +5 -0
- package/dist/preprocess/config/types.d.ts.map +1 -1
- package/dist/preprocess/index.d.ts +1 -1
- package/dist/preprocess/index.d.ts.map +1 -1
- package/dist/preprocess/pipeline.d.ts +2 -0
- 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 +20 -2
- package/dist/preprocess/types.d.ts.map +1 -1
- package/dist/types/ast.generated.d.ts +152 -37
- package/dist/types/ast.generated.d.ts.map +1 -1
- package/dist/types/ast.generated.js +5 -3
- package/dist/types/ast.generated.js.map +1 -1
- package/dist/utils/mapping.d.ts +26 -0
- package/dist/utils/mapping.d.ts.map +1 -0
- package/dist/utils/mapping.js +46 -0
- package/dist/utils/mapping.js.map +1 -0
- package/dist/workspace/builder.d.ts +15 -7
- package/dist/workspace/builder.d.ts.map +1 -1
- package/dist/workspace/builder.js +7 -13
- package/dist/workspace/builder.js.map +1 -1
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/package.json +5 -5
- package/schema/spec-ast.schema.json +247 -20
- package/dist/parse/AsideHtmlParser.d.ts +0 -12
- package/dist/parse/AsideHtmlParser.d.ts.map +0 -1
- package/dist/parse/AsideHtmlParser.js +0 -74
- package/dist/parse/AsideHtmlParser.js.map +0 -1
- package/dist/parse/BlockquoteHtmlParser.d.ts +0 -11
- package/dist/parse/BlockquoteHtmlParser.d.ts.map +0 -1
- package/dist/parse/BlockquoteHtmlParser.js +0 -28
- package/dist/parse/BlockquoteHtmlParser.js.map +0 -1
- package/dist/parse/BlockquoteMarkdownParser.d.ts +0 -11
- package/dist/parse/BlockquoteMarkdownParser.d.ts.map +0 -1
- package/dist/parse/BlockquoteMarkdownParser.js +0 -26
- package/dist/parse/BlockquoteMarkdownParser.js.map +0 -1
- package/dist/parse/CodeHtmlParser.d.ts +0 -11
- package/dist/parse/CodeHtmlParser.d.ts.map +0 -1
- package/dist/parse/CodeHtmlParser.js +0 -38
- package/dist/parse/CodeHtmlParser.js.map +0 -1
- package/dist/parse/CodeMarkdownParser.d.ts +0 -11
- package/dist/parse/CodeMarkdownParser.d.ts.map +0 -1
- package/dist/parse/CodeMarkdownParser.js +0 -29
- package/dist/parse/CodeMarkdownParser.js.map +0 -1
- package/dist/parse/DfnHtmlParser.d.ts +0 -12
- package/dist/parse/DfnHtmlParser.d.ts.map +0 -1
- package/dist/parse/DfnHtmlParser.js +0 -53
- package/dist/parse/DfnHtmlParser.js.map +0 -1
- package/dist/parse/HeadingsHtmlParser.d.ts +0 -11
- package/dist/parse/HeadingsHtmlParser.d.ts.map +0 -1
- package/dist/parse/HeadingsHtmlParser.js +0 -30
- package/dist/parse/HeadingsHtmlParser.js.map +0 -1
- package/dist/parse/HeadingsMarkdownParser.d.ts +0 -11
- package/dist/parse/HeadingsMarkdownParser.d.ts.map +0 -1
- package/dist/parse/HeadingsMarkdownParser.js +0 -26
- package/dist/parse/HeadingsMarkdownParser.js.map +0 -1
- package/dist/parse/InlinesHtmlParser.d.ts +0 -12
- package/dist/parse/InlinesHtmlParser.d.ts.map +0 -1
- package/dist/parse/InlinesHtmlParser.js +0 -150
- package/dist/parse/InlinesHtmlParser.js.map +0 -1
- package/dist/parse/InlinesMarkdownParser.d.ts +0 -11
- package/dist/parse/InlinesMarkdownParser.d.ts.map +0 -1
- package/dist/parse/InlinesMarkdownParser.js +0 -91
- package/dist/parse/InlinesMarkdownParser.js.map +0 -1
- package/dist/parse/ListsHtmlParser.d.ts +0 -11
- package/dist/parse/ListsHtmlParser.d.ts.map +0 -1
- package/dist/parse/ListsHtmlParser.js +0 -71
- package/dist/parse/ListsHtmlParser.js.map +0 -1
- package/dist/parse/ListsMarkdownParser.d.ts +0 -11
- package/dist/parse/ListsMarkdownParser.d.ts.map +0 -1
- package/dist/parse/ListsMarkdownParser.js +0 -46
- package/dist/parse/ListsMarkdownParser.js.map +0 -1
- package/dist/parse/MiscHtmlParser.d.ts +0 -12
- package/dist/parse/MiscHtmlParser.d.ts.map +0 -1
- package/dist/parse/MiscHtmlParser.js +0 -85
- package/dist/parse/MiscHtmlParser.js.map +0 -1
- package/dist/parse/MiscMarkdownParser.d.ts +0 -11
- package/dist/parse/MiscMarkdownParser.d.ts.map +0 -1
- package/dist/parse/MiscMarkdownParser.js +0 -38
- package/dist/parse/MiscMarkdownParser.js.map +0 -1
- package/dist/parse/ParagraphsHtmlParser.d.ts +0 -11
- package/dist/parse/ParagraphsHtmlParser.d.ts.map +0 -1
- package/dist/parse/ParagraphsHtmlParser.js +0 -30
- package/dist/parse/ParagraphsHtmlParser.js.map +0 -1
- package/dist/parse/ParagraphsMarkdownParser.d.ts +0 -11
- package/dist/parse/ParagraphsMarkdownParser.d.ts.map +0 -1
- package/dist/parse/ParagraphsMarkdownParser.js +0 -25
- package/dist/parse/ParagraphsMarkdownParser.js.map +0 -1
- package/dist/parse/SectionsHtmlParser.d.ts +0 -12
- package/dist/parse/SectionsHtmlParser.d.ts.map +0 -1
- package/dist/parse/SectionsHtmlParser.js +0 -58
- package/dist/parse/SectionsHtmlParser.js.map +0 -1
- package/dist/parse/TablesHtmlParser.d.ts +0 -11
- package/dist/parse/TablesHtmlParser.d.ts.map +0 -1
- package/dist/parse/TablesHtmlParser.js +0 -81
- package/dist/parse/TablesHtmlParser.js.map +0 -1
- package/dist/parse/TablesMarkdownParser.d.ts +0 -11
- package/dist/parse/TablesMarkdownParser.d.ts.map +0 -1
- package/dist/parse/TablesMarkdownParser.js +0 -56
- package/dist/parse/TablesMarkdownParser.js.map +0 -1
- package/dist/parse/XrefHtmlParser.d.ts +0 -12
- package/dist/parse/XrefHtmlParser.d.ts.map +0 -1
- package/dist/parse/XrefHtmlParser.js +0 -124
- package/dist/parse/XrefHtmlParser.js.map +0 -1
- package/dist/parse/html/XrefHtmlParser.d.ts +0 -12
- package/dist/parse/html/XrefHtmlParser.d.ts.map +0 -1
- package/dist/parse/html/XrefHtmlParser.js +0 -125
- package/dist/parse/html/XrefHtmlParser.js.map +0 -1
- package/dist/parse/html/handlers/blockquote.d.ts +0 -9
- package/dist/parse/html/handlers/blockquote.d.ts.map +0 -1
- package/dist/parse/html/handlers/blockquote.js +0 -21
- package/dist/parse/html/handlers/blockquote.js.map +0 -1
- package/dist/parse/html/handlers/code.d.ts +0 -9
- package/dist/parse/html/handlers/code.d.ts.map +0 -1
- package/dist/parse/html/handlers/code.js +0 -31
- package/dist/parse/html/handlers/code.js.map +0 -1
- package/dist/parse/html/handlers/containers.d.ts +0 -16
- package/dist/parse/html/handlers/containers.d.ts.map +0 -1
- package/dist/parse/html/handlers/containers.js +0 -25
- package/dist/parse/html/handlers/containers.js.map +0 -1
- package/dist/parse/html/handlers/heading.d.ts +0 -9
- package/dist/parse/html/handlers/heading.d.ts.map +0 -1
- package/dist/parse/html/handlers/heading.js +0 -26
- package/dist/parse/html/handlers/heading.js.map +0 -1
- package/dist/parse/html/handlers/index.d.ts +0 -23
- package/dist/parse/html/handlers/index.d.ts.map +0 -1
- package/dist/parse/html/handlers/index.js +0 -47
- package/dist/parse/html/handlers/index.js.map +0 -1
- package/dist/parse/html/handlers/inline.d.ts +0 -35
- package/dist/parse/html/handlers/inline.d.ts.map +0 -1
- package/dist/parse/html/handlers/inline.js +0 -119
- package/dist/parse/html/handlers/inline.js.map +0 -1
- package/dist/parse/html/handlers/list.d.ts +0 -9
- package/dist/parse/html/handlers/list.d.ts.map +0 -1
- package/dist/parse/html/handlers/list.js +0 -63
- package/dist/parse/html/handlers/list.js.map +0 -1
- package/dist/parse/html/handlers/paragraph.d.ts +0 -9
- package/dist/parse/html/handlers/paragraph.d.ts.map +0 -1
- package/dist/parse/html/handlers/paragraph.js +0 -20
- package/dist/parse/html/handlers/paragraph.js.map +0 -1
- package/dist/parse/html/handlers/section.d.ts +0 -9
- package/dist/parse/html/handlers/section.d.ts.map +0 -1
- package/dist/parse/html/handlers/section.js +0 -53
- package/dist/parse/html/handlers/section.js.map +0 -1
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.d.ts +0 -12
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.d.ts.map +0 -1
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.js +0 -187
- package/dist/parse/markdown/HtmlInlinesMarkdownParser.js.map +0 -1
- package/dist/parse/markdown/handlers/blockquote.d.ts +0 -9
- package/dist/parse/markdown/handlers/blockquote.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/blockquote.js +0 -22
- package/dist/parse/markdown/handlers/blockquote.js.map +0 -1
- package/dist/parse/markdown/handlers/code.d.ts +0 -9
- package/dist/parse/markdown/handlers/code.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/code.js +0 -25
- package/dist/parse/markdown/handlers/code.js.map +0 -1
- package/dist/parse/markdown/handlers/heading.d.ts +0 -9
- package/dist/parse/markdown/handlers/heading.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/heading.js +0 -22
- package/dist/parse/markdown/handlers/heading.js.map +0 -1
- package/dist/parse/markdown/handlers/index.d.ts +0 -23
- package/dist/parse/markdown/handlers/index.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/index.js +0 -47
- package/dist/parse/markdown/handlers/index.js.map +0 -1
- package/dist/parse/markdown/handlers/inline.d.ts +0 -35
- package/dist/parse/markdown/handlers/inline.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/inline.js +0 -126
- package/dist/parse/markdown/handlers/inline.js.map +0 -1
- package/dist/parse/markdown/handlers/list.d.ts +0 -9
- package/dist/parse/markdown/handlers/list.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/list.js +0 -42
- package/dist/parse/markdown/handlers/list.js.map +0 -1
- package/dist/parse/markdown/handlers/misc.d.ts +0 -15
- package/dist/parse/markdown/handlers/misc.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/misc.js +0 -38
- package/dist/parse/markdown/handlers/misc.js.map +0 -1
- package/dist/parse/markdown/handlers/paragraph.d.ts +0 -9
- package/dist/parse/markdown/handlers/paragraph.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/paragraph.js +0 -21
- package/dist/parse/markdown/handlers/paragraph.js.map +0 -1
- package/dist/parse/markdown/handlers/table.d.ts +0 -9
- package/dist/parse/markdown/handlers/table.d.ts.map +0 -1
- package/dist/parse/markdown/handlers/table.js +0 -52
- package/dist/parse/markdown/handlers/table.js.map +0 -1
- package/dist/plugins/__tests__/citation-transform.test.d.ts +0 -7
- package/dist/plugins/__tests__/citation-transform.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/citation-transform.test.js +0 -89
- package/dist/plugins/__tests__/citation-transform.test.js.map +0 -1
- package/dist/plugins/__tests__/dfn-parsing.test.d.ts +0 -2
- package/dist/plugins/__tests__/dfn-parsing.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/dfn-parsing.test.js +0 -65
- package/dist/plugins/__tests__/dfn-parsing.test.js.map +0 -1
- package/dist/plugins/__tests__/dfn-resolve.test.d.ts +0 -5
- package/dist/plugins/__tests__/dfn-resolve.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/dfn-resolve.test.js +0 -152
- package/dist/plugins/__tests__/dfn-resolve.test.js.map +0 -1
- package/dist/plugins/__tests__/xref-parsing.test.d.ts +0 -2
- package/dist/plugins/__tests__/xref-parsing.test.d.ts.map +0 -1
- package/dist/plugins/__tests__/xref-parsing.test.js +0 -66
- package/dist/plugins/__tests__/xref-parsing.test.js.map +0 -1
- package/dist/plugins/aside.d.ts +0 -12
- package/dist/plugins/aside.d.ts.map +0 -1
- package/dist/plugins/aside.js +0 -78
- package/dist/plugins/aside.js.map +0 -1
- package/dist/plugins/blockquote.d.ts +0 -11
- package/dist/plugins/blockquote.d.ts.map +0 -1
- package/dist/plugins/blockquote.js +0 -47
- package/dist/plugins/blockquote.js.map +0 -1
- package/dist/plugins/citation-transform.d.ts +0 -19
- package/dist/plugins/citation-transform.d.ts.map +0 -1
- package/dist/plugins/citation-transform.js +0 -176
- package/dist/plugins/citation-transform.js.map +0 -1
- package/dist/plugins/citation.d.ts +0 -21
- package/dist/plugins/citation.d.ts.map +0 -1
- package/dist/plugins/citation.js +0 -131
- package/dist/plugins/citation.js.map +0 -1
- package/dist/plugins/code.d.ts +0 -11
- package/dist/plugins/code.d.ts.map +0 -1
- package/dist/plugins/code.js +0 -60
- package/dist/plugins/code.js.map +0 -1
- package/dist/plugins/core-html.d.ts +0 -27
- package/dist/plugins/core-html.d.ts.map +0 -1
- package/dist/plugins/core-html.js +0 -53
- package/dist/plugins/core-html.js.map +0 -1
- package/dist/plugins/core-markdown.d.ts +0 -26
- package/dist/plugins/core-markdown.d.ts.map +0 -1
- package/dist/plugins/core-markdown.js +0 -55
- package/dist/plugins/core-markdown.js.map +0 -1
- package/dist/plugins/data-cite.d.ts +0 -12
- package/dist/plugins/data-cite.d.ts.map +0 -1
- package/dist/plugins/data-cite.js +0 -50
- package/dist/plugins/data-cite.js.map +0 -1
- package/dist/plugins/dfn-resolve.d.ts +0 -15
- package/dist/plugins/dfn-resolve.d.ts.map +0 -1
- package/dist/plugins/dfn-resolve.js +0 -257
- package/dist/plugins/dfn-resolve.js.map +0 -1
- package/dist/plugins/dfn.d.ts +0 -12
- package/dist/plugins/dfn.d.ts.map +0 -1
- package/dist/plugins/dfn.js +0 -57
- package/dist/plugins/dfn.js.map +0 -1
- package/dist/plugins/directives.d.ts +0 -8
- package/dist/plugins/directives.d.ts.map +0 -1
- package/dist/plugins/directives.js +0 -34
- package/dist/plugins/directives.js.map +0 -1
- package/dist/plugins/heading.d.ts +0 -11
- package/dist/plugins/heading.d.ts.map +0 -1
- package/dist/plugins/heading.js +0 -49
- package/dist/plugins/heading.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -12
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -26
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/inline.d.ts +0 -12
- package/dist/plugins/inline.d.ts.map +0 -1
- package/dist/plugins/inline.js +0 -234
- package/dist/plugins/inline.js.map +0 -1
- package/dist/plugins/list.d.ts +0 -11
- package/dist/plugins/list.d.ts.map +0 -1
- package/dist/plugins/list.js +0 -110
- package/dist/plugins/list.js.map +0 -1
- package/dist/plugins/misc.d.ts +0 -12
- package/dist/plugins/misc.d.ts.map +0 -1
- package/dist/plugins/misc.js +0 -116
- package/dist/plugins/misc.js.map +0 -1
- package/dist/plugins/paragraph.d.ts +0 -11
- package/dist/plugins/paragraph.d.ts.map +0 -1
- package/dist/plugins/paragraph.js +0 -48
- package/dist/plugins/paragraph.js.map +0 -1
- package/dist/plugins/section.d.ts +0 -12
- package/dist/plugins/section.d.ts.map +0 -1
- package/dist/plugins/section.js +0 -62
- package/dist/plugins/section.js.map +0 -1
- package/dist/plugins/table.d.ts +0 -11
- package/dist/plugins/table.d.ts.map +0 -1
- package/dist/plugins/table.js +0 -130
- package/dist/plugins/table.js.map +0 -1
- package/dist/plugins/xref.d.ts +0 -12
- package/dist/plugins/xref.d.ts.map +0 -1
- package/dist/plugins/xref.js +0 -92
- package/dist/plugins/xref.js.map +0 -1
- package/dist/postprocess/__tests__/citation-transform.test.d.ts +0 -7
- package/dist/postprocess/__tests__/citation-transform.test.d.ts.map +0 -1
- package/dist/postprocess/__tests__/citation-transform.test.js +0 -89
- package/dist/postprocess/__tests__/citation-transform.test.js.map +0 -1
- package/dist/postprocess/citation-transform.d.ts +0 -19
- package/dist/postprocess/citation-transform.d.ts.map +0 -1
- package/dist/postprocess/citation-transform.js +0 -176
- package/dist/postprocess/citation-transform.js.map +0 -1
- package/dist/postprocess/dfn-index.d.ts +0 -16
- package/dist/postprocess/dfn-index.d.ts.map +0 -1
- package/dist/postprocess/dfn-index.js +0 -72
- package/dist/postprocess/dfn-index.js.map +0 -1
- package/dist/postprocess/dfn-resolve.d.ts +0 -15
- package/dist/postprocess/dfn-resolve.d.ts.map +0 -1
- package/dist/postprocess/dfn-resolve.js +0 -257
- package/dist/postprocess/dfn-resolve.js.map +0 -1
- package/dist/postprocess/plugins/citation-transform.d.ts +0 -19
- package/dist/postprocess/plugins/citation-transform.d.ts.map +0 -1
- package/dist/postprocess/plugins/citation-transform.js +0 -179
- package/dist/postprocess/plugins/citation-transform.js.map +0 -1
- package/dist/postprocess/plugins/walk-ast.d.ts +0 -38
- package/dist/postprocess/plugins/walk-ast.d.ts.map +0 -1
- package/dist/postprocess/plugins/walk-ast.js +0 -92
- package/dist/postprocess/plugins/walk-ast.js.map +0 -1
- package/dist/postprocess/reference-resolve.d.ts +0 -19
- package/dist/postprocess/reference-resolve.d.ts.map +0 -1
- package/dist/postprocess/reference-resolve.js +0 -105
- package/dist/postprocess/reference-resolve.js.map +0 -1
package/dist/pipeline/runner.js
CHANGED
|
@@ -8,7 +8,7 @@ import { preprocess } from '#src/preprocess/pipeline';
|
|
|
8
8
|
import { parseWithRegistry } from '#src/parse/pipeline';
|
|
9
9
|
import { ParseHandlerRegistry } from '#src/parse/registry';
|
|
10
10
|
import { coreHtmlParsers, coreMarkdownParsers } from '#src/parse/parsers';
|
|
11
|
-
import {
|
|
11
|
+
import { finalizeWorkspace } from './workspace-index.js';
|
|
12
12
|
// Default order for plugins that don't specify
|
|
13
13
|
const DEFAULT_ORDER = 100;
|
|
14
14
|
/**
|
|
@@ -52,7 +52,8 @@ export class SpeculatorPipeline {
|
|
|
52
52
|
async run(options) {
|
|
53
53
|
return this.runWorkspace({
|
|
54
54
|
entries: [{ entry: options.entry, configPath: options.configPath }],
|
|
55
|
-
fileProvider: options.fileProvider
|
|
55
|
+
fileProvider: options.fileProvider,
|
|
56
|
+
env: options.env
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
/**
|
|
@@ -67,13 +68,18 @@ export class SpeculatorPipeline {
|
|
|
67
68
|
entry: entryConfig.entry,
|
|
68
69
|
configPath: entryConfig.configPath,
|
|
69
70
|
fileProvider: options.fileProvider,
|
|
71
|
+
env: options.env,
|
|
70
72
|
});
|
|
71
73
|
const registry = new ParseHandlerRegistry();
|
|
72
74
|
registerCoreParsers(registry);
|
|
73
75
|
const parseResult = parseWithRegistry(preprocessedSpec, registry);
|
|
74
76
|
if (!parseResult.result)
|
|
75
77
|
continue;
|
|
76
|
-
results.push({
|
|
78
|
+
results.push({
|
|
79
|
+
doc: parseResult.result.document,
|
|
80
|
+
entry: entryConfig.entry,
|
|
81
|
+
config: preprocessedSpec.config
|
|
82
|
+
});
|
|
77
83
|
}
|
|
78
84
|
catch {
|
|
79
85
|
// Preprocess errors are now thrown, skip this entry
|
|
@@ -93,7 +99,12 @@ export class SpeculatorPipeline {
|
|
|
93
99
|
for (const res of results) {
|
|
94
100
|
const level = runtimeWorkspace.documentLevels.get(res.entry) ?? 0;
|
|
95
101
|
for (const plugin of transformPlugins) {
|
|
96
|
-
await plugin.transform({
|
|
102
|
+
await plugin.transform({
|
|
103
|
+
document: res.doc,
|
|
104
|
+
level,
|
|
105
|
+
workspace: runtimeWorkspace,
|
|
106
|
+
config: res.config
|
|
107
|
+
});
|
|
97
108
|
}
|
|
98
109
|
}
|
|
99
110
|
// 3. INDEX phase
|
|
@@ -101,32 +112,43 @@ export class SpeculatorPipeline {
|
|
|
101
112
|
for (const res of results) {
|
|
102
113
|
const level = runtimeWorkspace.documentLevels.get(res.entry) ?? 0;
|
|
103
114
|
for (const plugin of indexPlugins) {
|
|
104
|
-
await plugin.index({
|
|
115
|
+
await plugin.index({
|
|
116
|
+
document: res.doc,
|
|
117
|
+
level,
|
|
118
|
+
workspace: runtimeWorkspace,
|
|
119
|
+
config: res.config
|
|
120
|
+
});
|
|
105
121
|
}
|
|
106
122
|
}
|
|
107
|
-
// 4.
|
|
108
|
-
runtimeWorkspace.globalIndex = buildGlobalIndex(runtimeWorkspace.documents, runtimeWorkspace.documentLevels);
|
|
109
|
-
// 5. RESOLVE phase
|
|
123
|
+
// 4. RESOLVE phase
|
|
110
124
|
const resolvePlugins = sortPluginsForPhase(this.plugins.filter(p => p.resolve), 'resolve');
|
|
111
125
|
for (const res of results) {
|
|
112
126
|
const level = runtimeWorkspace.documentLevels.get(res.entry) ?? 0;
|
|
113
127
|
for (const plugin of resolvePlugins) {
|
|
114
|
-
await plugin.resolve({
|
|
128
|
+
await plugin.resolve({
|
|
129
|
+
document: res.doc,
|
|
130
|
+
level,
|
|
131
|
+
workspace: runtimeWorkspace,
|
|
132
|
+
config: res.config
|
|
133
|
+
});
|
|
115
134
|
}
|
|
116
135
|
}
|
|
117
|
-
//
|
|
136
|
+
// 5. COMPUTE phase
|
|
118
137
|
const computePlugins = sortPluginsForPhase(this.plugins.filter(p => p.compute), 'compute');
|
|
119
138
|
for (const res of results) {
|
|
120
139
|
const level = runtimeWorkspace.documentLevels.get(res.entry) ?? 0;
|
|
121
140
|
for (const plugin of computePlugins) {
|
|
122
|
-
await plugin.compute({
|
|
141
|
+
await plugin.compute({
|
|
142
|
+
document: res.doc,
|
|
143
|
+
level,
|
|
144
|
+
workspace: runtimeWorkspace,
|
|
145
|
+
config: res.config
|
|
146
|
+
});
|
|
123
147
|
}
|
|
124
148
|
}
|
|
125
|
-
//
|
|
126
|
-
const
|
|
127
|
-
return {
|
|
128
|
-
workspace: workspaceAST
|
|
129
|
-
};
|
|
149
|
+
// 6. FINALIZE Workspace AST
|
|
150
|
+
const workspace = await finalizeWorkspace(runtimeWorkspace.documents, runtimeWorkspace.globalIndex);
|
|
151
|
+
return { workspace };
|
|
130
152
|
}
|
|
131
153
|
}
|
|
132
154
|
//# sourceMappingURL=runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Workspace, Document, IndexDefinitionEntry, IndexBiblioEntry,
|
|
2
|
-
|
|
1
|
+
import type { Workspace, Document, IndexDefinitionEntry, IndexBiblioEntry, IndexStatementEntry, GlobalIndex } from '#src/types/ast.generated';
|
|
2
|
+
import type { SpecConfig } from '#src/preprocess/types';
|
|
3
|
+
export type { Workspace, Document, IndexDefinitionEntry, IndexBiblioEntry, IndexStatementEntry, GlobalIndex as GlobalIndexAST };
|
|
3
4
|
/**
|
|
4
5
|
* Aggregated index for runtime lookups during postprocess phases.
|
|
5
6
|
|
|
@@ -44,21 +45,25 @@ export interface TransformContext {
|
|
|
44
45
|
readonly document: Document;
|
|
45
46
|
readonly level: number;
|
|
46
47
|
readonly workspace?: RuntimeWorkspace;
|
|
48
|
+
readonly config: SpecConfig;
|
|
47
49
|
}
|
|
48
50
|
export interface IndexContext {
|
|
49
51
|
readonly document: Document;
|
|
50
52
|
readonly level: number;
|
|
51
53
|
readonly workspace?: RuntimeWorkspace;
|
|
54
|
+
readonly config: SpecConfig;
|
|
52
55
|
}
|
|
53
56
|
export interface ResolveContext {
|
|
54
57
|
readonly document: Document;
|
|
55
58
|
readonly level: number;
|
|
56
59
|
readonly workspace?: RuntimeWorkspace;
|
|
60
|
+
readonly config: SpecConfig;
|
|
57
61
|
}
|
|
58
62
|
export interface ComputeContext {
|
|
59
63
|
readonly document: Document;
|
|
60
64
|
readonly level: number;
|
|
61
65
|
readonly workspace?: RuntimeWorkspace;
|
|
66
|
+
readonly config: SpecConfig;
|
|
62
67
|
}
|
|
63
68
|
/**
|
|
64
69
|
* Postprocess plugin interface.
|
|
@@ -95,6 +100,8 @@ export interface SpeculateOptions {
|
|
|
95
100
|
plugins: Plugin[];
|
|
96
101
|
/** File provider for reading files (defaults to NodeFileProvider) */
|
|
97
102
|
fileProvider?: import('#src/file-provider/types').FileProvider;
|
|
103
|
+
/** Optional environment object for variable interpolation */
|
|
104
|
+
env?: Record<string, string | undefined>;
|
|
98
105
|
}
|
|
99
106
|
/**
|
|
100
107
|
* Result from speculate()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,EACT,QAAQ,EACR,oBAAoB,EACpB,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"AAoDA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAuB,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAOnG;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAY,kBAAkB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { Document, RuntimeGlobalIndex, RuntimeWorkspace, Workspace } from './types.js';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
2
|
+
* Workspace Indexer
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for finalizing the workspace AST after pipeline processing.
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
+
import type { Document, RuntimeGlobalIndex, Workspace } from './types.js';
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
-
* This flattens the maps into arrays as defined by the schema.
|
|
8
|
+
* Finalize the workspace AST.
|
|
9
9
|
*/
|
|
10
|
-
export declare function finalizeWorkspace(
|
|
10
|
+
export declare function finalizeWorkspace(documents: Map<string, Document>, globalIndex: RuntimeGlobalIndex): Promise<Workspace>;
|
|
11
11
|
//# sourceMappingURL=workspace-index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-index.d.ts","sourceRoot":"","sources":["../../src/pipeline/workspace-index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,QAAQ,
|
|
1
|
+
{"version":3,"file":"workspace-index.d.ts","sourceRoot":"","sources":["../../src/pipeline/workspace-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACR,QAAQ,EACR,kBAAkB,EAClB,SAAS,EAEZ,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAsB,iBAAiB,CACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAChC,WAAW,EAAE,kBAAkB,GAChC,OAAO,CAAC,SAAS,CAAC,CA8BpB"}
|
|
@@ -1,57 +1,36 @@
|
|
|
1
|
-
import { normalizeTerm } from '#src/parse/normalize';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
2
|
+
* Workspace Indexer
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for finalizing the workspace AST after pipeline processing.
|
|
4
5
|
*/
|
|
5
|
-
export function buildGlobalIndex(documents, _documentLevels) {
|
|
6
|
-
const definitions = new Map();
|
|
7
|
-
const bibliography = new Map();
|
|
8
|
-
for (const [, doc] of documents) {
|
|
9
|
-
// Aggregate definitions
|
|
10
|
-
if (doc.indexes?.definitions) {
|
|
11
|
-
for (const entry of doc.indexes.definitions) {
|
|
12
|
-
const linkTexts = entry.linkTexts || [entry.term];
|
|
13
|
-
// Add primary term and all aliases to definitions lookup
|
|
14
|
-
const termsToProcess = new Set([entry.term, ...linkTexts]);
|
|
15
|
-
for (const term of termsToProcess) {
|
|
16
|
-
const key = normalizeTerm(term);
|
|
17
|
-
const existing = definitions.get(key) || [];
|
|
18
|
-
// Add entry to definitions
|
|
19
|
-
existing.push(entry);
|
|
20
|
-
definitions.set(key, existing);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
// Aggregate bibliography
|
|
25
|
-
if (doc.indexes?.bibliography) {
|
|
26
|
-
for (const entry of doc.indexes.bibliography) {
|
|
27
|
-
if (!bibliography.has(entry.key)) {
|
|
28
|
-
bibliography.set(entry.key, entry);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
definitions,
|
|
35
|
-
bibliography,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
6
|
/**
|
|
39
|
-
*
|
|
40
|
-
* This flattens the maps into arrays as defined by the schema.
|
|
7
|
+
* Finalize the workspace AST.
|
|
41
8
|
*/
|
|
42
|
-
export function finalizeWorkspace(
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
9
|
+
export async function finalizeWorkspace(documents, globalIndex) {
|
|
10
|
+
const definitions = [];
|
|
11
|
+
const bibliography = [];
|
|
12
|
+
// 1. Convert global definitions map to array
|
|
13
|
+
for (const [term, entries] of globalIndex.definitions) {
|
|
14
|
+
// Just take the first entry as the primary definition for now
|
|
15
|
+
// In a more advanced version, we might want to handle multiple definitions
|
|
16
|
+
const entry = entries[0];
|
|
17
|
+
definitions.push({
|
|
18
|
+
...entry,
|
|
19
|
+
term // ensure term matches key
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
// 2. Convert global bibliography map to array
|
|
23
|
+
for (const entry of globalIndex.bibliography.values()) {
|
|
24
|
+
bibliography.push(entry);
|
|
25
|
+
}
|
|
26
|
+
const globalIndexAST = {
|
|
27
|
+
definitions: definitions.sort((a, b) => a.term.localeCompare(b.term)),
|
|
28
|
+
bibliography: bibliography.sort((a, b) => a.key.localeCompare(b.key))
|
|
49
29
|
};
|
|
50
30
|
return {
|
|
51
31
|
type: 'workspace',
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
globalIndex
|
|
32
|
+
documents: Array.from(documents.values()),
|
|
33
|
+
globalIndex: globalIndexAST
|
|
55
34
|
};
|
|
56
35
|
}
|
|
57
36
|
//# sourceMappingURL=workspace-index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-index.js","sourceRoot":"","sources":["../../src/pipeline/workspace-index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workspace-index.js","sourceRoot":"","sources":["../../src/pipeline/workspace-index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,SAAgC,EAChC,WAA+B;IAE/B,MAAM,WAAW,GAAG,EAAE,CAAC;IACvB,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,6CAA6C;IAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QACpD,8DAA8D;QAC9D,2EAA2E;QAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,WAAW,CAAC,IAAI,CAAC;YACb,GAAG,KAAK;YACR,IAAI,CAAC,0BAA0B;SAClC,CAAC,CAAC;IACP,CAAC;IAED,8CAA8C;IAC9C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;QACpD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,cAAc,GAAmB;QACnC,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACxE,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACzC,WAAW,EAAE,cAAc;KAC9B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bibliography.test.d.ts","sourceRoot":"","sources":["../../../src/postprocess/__tests__/bibliography.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { bibliographyGeneratorPlugin } from '../plugins/bibliography-generator';
|
|
3
|
+
describe('bibliography-generator', () => {
|
|
4
|
+
// Mock setup helper
|
|
5
|
+
function createMockContext(citations, bibliography) {
|
|
6
|
+
const document = {
|
|
7
|
+
type: 'document',
|
|
8
|
+
id: 'doc-1',
|
|
9
|
+
sourcePos: { file: 'doc.md', line: 1, column: 1 },
|
|
10
|
+
children: [],
|
|
11
|
+
indexes: {
|
|
12
|
+
citations,
|
|
13
|
+
bibliography: [], // unused by plugin here directly?
|
|
14
|
+
definitions: [],
|
|
15
|
+
requirements: [],
|
|
16
|
+
issues: [],
|
|
17
|
+
examples: []
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const bibMap = new Map();
|
|
21
|
+
bibliography.forEach(entry => bibMap.set(entry.key, entry));
|
|
22
|
+
const globalIndex = {
|
|
23
|
+
definitions: new Map(),
|
|
24
|
+
bibliography: bibMap
|
|
25
|
+
};
|
|
26
|
+
const workspace = {
|
|
27
|
+
documents: new Map([['doc.md', document]]),
|
|
28
|
+
documentLevels: new Map(),
|
|
29
|
+
globalIndex
|
|
30
|
+
};
|
|
31
|
+
return {
|
|
32
|
+
document,
|
|
33
|
+
level: 0,
|
|
34
|
+
workspace
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
it('should generate normative and informative reference sections', async () => {
|
|
38
|
+
const citations = [
|
|
39
|
+
{ key: 'RFC2119', kind: 'normative', sourcePos: { file: 'doc.md', line: 1, column: 1 } },
|
|
40
|
+
{ key: 'HTML', kind: 'informative', sourcePos: { file: 'doc.md', line: 2, column: 1 } }
|
|
41
|
+
];
|
|
42
|
+
const bibliography = [
|
|
43
|
+
{
|
|
44
|
+
key: 'RFC2119',
|
|
45
|
+
title: 'Key words for use in RFCs to Indicate Requirement Levels',
|
|
46
|
+
url: 'https://tools.ietf.org/html/rfc2119',
|
|
47
|
+
authors: ['S. Bradner'],
|
|
48
|
+
date: 'March 1997',
|
|
49
|
+
publisher: 'IETF',
|
|
50
|
+
status: 'Best Current Practice',
|
|
51
|
+
sourcePos: { file: 'config.json', line: 1, column: 1 }
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
key: 'HTML',
|
|
55
|
+
title: 'HTML Standard',
|
|
56
|
+
url: 'https://html.spec.whatwg.org/multipage/',
|
|
57
|
+
publisher: 'WHATWG',
|
|
58
|
+
sourcePos: { file: 'config.json', line: 1, column: 1 }
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
const ctx = createMockContext(citations, bibliography);
|
|
62
|
+
await bibliographyGeneratorPlugin.compute(ctx);
|
|
63
|
+
const children = ctx.document.children;
|
|
64
|
+
const refSection = children.find(c => c.type === 'section' && c.id === 'references');
|
|
65
|
+
expect(refSection).toBeDefined();
|
|
66
|
+
expect(refSection.unnumbered).toBe(true);
|
|
67
|
+
expect(refSection.children).toHaveLength(2);
|
|
68
|
+
const normativeSec = refSection.children.find(c => c.type === 'section' && c.id === 'normative-references');
|
|
69
|
+
expect(normativeSec).toBeDefined();
|
|
70
|
+
const normHtml = normativeSec.children[0].value;
|
|
71
|
+
expect(normHtml).toContain('[RFC2119]');
|
|
72
|
+
expect(normHtml).toContain('S. Bradner');
|
|
73
|
+
expect(normHtml).toContain('March 1997');
|
|
74
|
+
const informativeSec = refSection.children.find(c => c.type === 'section' && c.id === 'informative-references');
|
|
75
|
+
expect(informativeSec).toBeDefined();
|
|
76
|
+
const infoHtml = informativeSec.children[0].value;
|
|
77
|
+
expect(infoHtml).toContain('[HTML]');
|
|
78
|
+
expect(infoHtml).toContain('WHATWG');
|
|
79
|
+
});
|
|
80
|
+
it('should not generate section if no citations', async () => {
|
|
81
|
+
const ctx = createMockContext([], []);
|
|
82
|
+
await bibliographyGeneratorPlugin.compute(ctx);
|
|
83
|
+
const refSection = ctx.document.children.find(c => c.type === 'section' && c.id === 'references');
|
|
84
|
+
expect(refSection).toBeUndefined();
|
|
85
|
+
});
|
|
86
|
+
it('should combine mixed citations into normative if at least one is normative', async () => {
|
|
87
|
+
const citations = [
|
|
88
|
+
{ key: 'RFC2119', kind: 'informative', sourcePos: { file: 'doc.md', line: 1, column: 1 } },
|
|
89
|
+
{ key: 'RFC2119', kind: 'normative', sourcePos: { file: 'doc.md', line: 2, column: 1 } }
|
|
90
|
+
];
|
|
91
|
+
const bibliography = [
|
|
92
|
+
{ key: 'RFC2119', title: 'RFC 2119', sourcePos: { file: 'config.json', line: 1, column: 1 } }
|
|
93
|
+
];
|
|
94
|
+
const ctx = createMockContext(citations, bibliography);
|
|
95
|
+
await bibliographyGeneratorPlugin.compute(ctx);
|
|
96
|
+
const refSection = ctx.document.children.find(c => c.type === 'section' && c.id === 'references');
|
|
97
|
+
expect(refSection).toBeDefined();
|
|
98
|
+
const normativeSec = refSection.children.find(c => c.type === 'section' && c.id === 'normative-references');
|
|
99
|
+
expect(normativeSec).toBeDefined();
|
|
100
|
+
const informativeSec = refSection.children.find(c => c.type === 'section' && c.id === 'informative-references');
|
|
101
|
+
expect(informativeSec).toBeUndefined();
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=bibliography.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bibliography.test.js","sourceRoot":"","sources":["../../../src/postprocess/__tests__/bibliography.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.test.d.ts","sourceRoot":"","sources":["../../../src/postprocess/__tests__/conformance.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { conformanceBoilerplatePlugin } from '../plugins/conformance-boilerplate';
|
|
3
|
+
describe('conformance-boilerplate', () => {
|
|
4
|
+
function createMockContext(children = []) {
|
|
5
|
+
const document = {
|
|
6
|
+
type: 'document',
|
|
7
|
+
id: 'doc-1',
|
|
8
|
+
sourcePos: { file: 'doc.md', line: 1, column: 1 },
|
|
9
|
+
children
|
|
10
|
+
};
|
|
11
|
+
return {
|
|
12
|
+
document,
|
|
13
|
+
level: 0
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
it('should inject conformance section if missing', async () => {
|
|
17
|
+
const ctx = createMockContext([]);
|
|
18
|
+
await conformanceBoilerplatePlugin.transform(ctx);
|
|
19
|
+
const conformance = ctx.document.children.find(c => c.type === 'section' && c.id === 'conformance');
|
|
20
|
+
expect(conformance).toBeDefined();
|
|
21
|
+
// Use type guard or cast to check children of section
|
|
22
|
+
const p2 = conformance.children[1];
|
|
23
|
+
expect(p2.type).toBe('paragraph');
|
|
24
|
+
// Check for normative citations
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
const children = p2.children;
|
|
27
|
+
const rfc2119 = children.find((c) => c.type === 'cite' && c.key === 'RFC2119');
|
|
28
|
+
const rfc8174 = children.find((c) => c.type === 'cite' && c.key === 'RFC8174');
|
|
29
|
+
expect(rfc2119).toBeDefined();
|
|
30
|
+
expect(rfc2119.forcedNormative).toBe(true);
|
|
31
|
+
expect(rfc8174).toBeDefined();
|
|
32
|
+
expect(rfc8174.forcedNormative).toBe(true);
|
|
33
|
+
});
|
|
34
|
+
it('should NOT inject conformance section if already present', async () => {
|
|
35
|
+
const existingConformance = {
|
|
36
|
+
type: 'section',
|
|
37
|
+
id: 'conformance',
|
|
38
|
+
heading: { type: 'heading', depth: 2, children: [{ type: 'text', value: 'Existing' }] },
|
|
39
|
+
children: []
|
|
40
|
+
};
|
|
41
|
+
const ctx = createMockContext([existingConformance]);
|
|
42
|
+
await conformanceBoilerplatePlugin.transform(ctx);
|
|
43
|
+
expect(ctx.document.children).toHaveLength(1);
|
|
44
|
+
expect(ctx.document.children[0]).toBe(existingConformance);
|
|
45
|
+
});
|
|
46
|
+
it('should inject after Introduction if present', async () => {
|
|
47
|
+
const intro = {
|
|
48
|
+
type: 'section',
|
|
49
|
+
id: 'intro',
|
|
50
|
+
heading: { type: 'heading', depth: 2, children: [{ type: 'text', value: 'Introduction' }] },
|
|
51
|
+
children: []
|
|
52
|
+
};
|
|
53
|
+
const ctx = createMockContext([intro]);
|
|
54
|
+
await conformanceBoilerplatePlugin.transform(ctx);
|
|
55
|
+
expect(ctx.document.children).toHaveLength(2);
|
|
56
|
+
expect(ctx.document.children[0]).toBe(intro);
|
|
57
|
+
const conformance = ctx.document.children[1];
|
|
58
|
+
expect(conformance.id).toBe('conformance');
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=conformance.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conformance.test.js","sourceRoot":"","sources":["../../../src/postprocess/__tests__/conformance.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-resolve.test.d.ts","sourceRoot":"","sources":["../../../src/postprocess/__tests__/section-resolve.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section Resolve Plugin Tests
|
|
3
|
+
*/
|
|
4
|
+
import { describe, it, expect } from 'vitest';
|
|
5
|
+
import { MarkdownUnitParser } from '#src/parse/markdown/index.js';
|
|
6
|
+
import { assembleDocument } from '#src/parse/assembler.js';
|
|
7
|
+
import { sectionIdPlugin } from '../plugins/section-id.js';
|
|
8
|
+
import { tocPlugin } from '../plugins/toc.js';
|
|
9
|
+
import { sectionResolvePlugin } from '../plugins/section-resolve.js';
|
|
10
|
+
describe('sectionResolvePlugin', () => {
|
|
11
|
+
const parser = new MarkdownUnitParser();
|
|
12
|
+
it('resolves section number and title', async () => {
|
|
13
|
+
const content = `
|
|
14
|
+
# Intro {#intro}
|
|
15
|
+
See [§#details].
|
|
16
|
+
|
|
17
|
+
## Details {#details}
|
|
18
|
+
Content.
|
|
19
|
+
`;
|
|
20
|
+
const blocks = parser.parse({ file: 'test.md', format: 'markdown', content, startLine: 1 });
|
|
21
|
+
const document = assembleDocument(blocks, { id: 'test', title: 'Test' }, 'test.md');
|
|
22
|
+
// Run plugins in order
|
|
23
|
+
// 1. section-id (already has IDs but index phase)
|
|
24
|
+
await sectionIdPlugin.index({ document, level: 0 });
|
|
25
|
+
// 2. toc (compute headingNumbers and headingTitles)
|
|
26
|
+
await tocPlugin.compute({ document, level: 0 });
|
|
27
|
+
// 3. section-resolve
|
|
28
|
+
await sectionResolvePlugin.compute({ document, level: 0 });
|
|
29
|
+
const section = document.children[0];
|
|
30
|
+
const para = section.children[0];
|
|
31
|
+
const ref = para.children[1];
|
|
32
|
+
expect(ref.type).toBe('sectionReference');
|
|
33
|
+
expect(ref.targetId).toBe('details');
|
|
34
|
+
expect(ref.targetNumber).toBe('1.1');
|
|
35
|
+
expect(ref.targetTitle).toBe('Details');
|
|
36
|
+
});
|
|
37
|
+
it('handles custom labels', async () => {
|
|
38
|
+
const content = `
|
|
39
|
+
# Intro {#intro}
|
|
40
|
+
See [§#details|the details].
|
|
41
|
+
|
|
42
|
+
## Details {#details}
|
|
43
|
+
Content.
|
|
44
|
+
`;
|
|
45
|
+
const blocks = parser.parse({ file: 'test.md', format: 'markdown', content, startLine: 1 });
|
|
46
|
+
const document = assembleDocument(blocks, { id: 'test-alias', title: 'Test' }, 'test.md');
|
|
47
|
+
await sectionIdPlugin.index({ document, level: 0 });
|
|
48
|
+
await tocPlugin.compute({ document, level: 0 });
|
|
49
|
+
await sectionResolvePlugin.compute({ document, level: 0 });
|
|
50
|
+
const section = document.children[0];
|
|
51
|
+
const para = section.children[0];
|
|
52
|
+
const ref = para.children[1];
|
|
53
|
+
expect(ref.targetNumber).toBe('1.1');
|
|
54
|
+
expect(ref.children).toBeDefined();
|
|
55
|
+
expect(ref.children[0]).toMatchObject({ type: 'text', value: 'the details' });
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=section-resolve.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-resolve.test.js","sourceRoot":"","sources":["../../../src/postprocess/__tests__/section-resolve.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,18 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Note: Parsing logic has been moved to dedicated parser modules in src/parse/.
|
|
8
8
|
*/
|
|
9
|
+
export { conformanceBoilerplatePlugin } from './plugins/conformance-boilerplate.js';
|
|
9
10
|
export { sectionIdPlugin } from './plugins/section-id.js';
|
|
10
11
|
export { dfnIndexPlugin } from './plugins/dfn-index.js';
|
|
12
|
+
export { biblioIndexPlugin } from './plugins/biblio-index.js';
|
|
13
|
+
export { citationIndexPlugin } from './plugins/citation-index.js';
|
|
14
|
+
export { statementIndexPlugin } from './plugins/statement-index.js';
|
|
11
15
|
export { referenceResolvePlugin } from './plugins/reference-resolve.js';
|
|
12
16
|
export { citationResolvePlugin } from './plugins/citation-resolve.js';
|
|
17
|
+
export { bibliographyGeneratorPlugin } from './plugins/bibliography-generator.js';
|
|
13
18
|
export { tocPlugin } from './plugins/toc.js';
|
|
19
|
+
export { sectionResolvePlugin } from './plugins/section-resolve.js';
|
|
20
|
+
export { statementsJsonLdComputePlugin } from './plugins/statementsJsonLd-compute.js';
|
|
14
21
|
export { walkDocument, type AstVisitor } from './walk-ast.js';
|
|
15
22
|
export declare const corePlugins: import("../index.js").Plugin[];
|
|
16
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/postprocess/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/postprocess/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAGpF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAGtF,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAoB9D,eAAO,MAAM,WAAW,gCAiBvB,CAAC"}
|