@cudoment/cudoc 0.3.0 → 0.5.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/README.md +1 -1
- package/dist/document.d.ts +11 -1
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +38 -3
- package/dist/document.js.map +1 -1
- package/dist/internal/core/mdx/imports.d.ts +21 -0
- package/dist/internal/core/mdx/imports.d.ts.map +1 -0
- package/dist/internal/core/mdx/imports.js +80 -0
- package/dist/internal/core/mdx/imports.js.map +1 -0
- package/dist/internal/core/mdx/index.d.ts +1 -0
- package/dist/internal/core/mdx/index.d.ts.map +1 -1
- package/dist/internal/core/mdx/index.js +1 -0
- package/dist/internal/core/mdx/index.js.map +1 -1
- package/dist/internal/transforms/table-column-layout/create-table.d.ts.map +1 -1
- package/dist/internal/transforms/table-column-layout/create-table.js +40 -17
- package/dist/internal/transforms/table-column-layout/create-table.js.map +1 -1
- package/dist/internal/transforms/table-column-layout/index.d.ts +32 -0
- package/dist/internal/transforms/table-column-layout/index.d.ts.map +1 -1
- package/dist/internal/transforms/table-column-layout/index.js +66 -0
- package/dist/internal/transforms/table-column-layout/index.js.map +1 -1
- package/dist/markdown.d.ts +8 -0
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js +9 -1
- package/dist/markdown.js.map +1 -1
- package/dist/node/check.d.ts +61 -0
- package/dist/node/check.d.ts.map +1 -0
- package/dist/node/check.js +543 -0
- package/dist/node/check.js.map +1 -0
- package/dist/node/cli.js +57 -11
- package/dist/node/cli.js.map +1 -1
- package/dist/node/dataset.d.ts +14 -1
- package/dist/node/dataset.d.ts.map +1 -1
- package/dist/node/dataset.js +40 -4
- package/dist/node/dataset.js.map +1 -1
- package/dist/node/glob.d.ts +21 -0
- package/dist/node/glob.d.ts.map +1 -0
- package/dist/node/glob.js +61 -0
- package/dist/node/glob.js.map +1 -0
- package/dist/node/library.d.ts +70 -4
- package/dist/node/library.d.ts.map +1 -1
- package/dist/node/library.js +196 -32
- package/dist/node/library.js.map +1 -1
- package/dist/node/local-target.d.ts +63 -0
- package/dist/node/local-target.d.ts.map +1 -0
- package/dist/node/local-target.js +81 -0
- package/dist/node/local-target.js.map +1 -0
- package/dist/node/prepare-embeds.d.ts +16 -2
- package/dist/node/prepare-embeds.d.ts.map +1 -1
- package/dist/node/prepare-embeds.js +42 -9
- package/dist/node/prepare-embeds.js.map +1 -1
- package/dist/node/report.d.ts +9 -0
- package/dist/node/report.d.ts.map +1 -0
- package/dist/node/report.js +48 -0
- package/dist/node/report.js.map +1 -0
- package/dist/node/resolve-embed.d.ts +88 -1
- package/dist/node/resolve-embed.d.ts.map +1 -1
- package/dist/node/resolve-embed.js +321 -63
- package/dist/node/resolve-embed.js.map +1 -1
- package/dist/node/roots.d.ts +67 -0
- package/dist/node/roots.d.ts.map +1 -0
- package/dist/node/roots.js +134 -0
- package/dist/node/roots.js.map +1 -0
- package/dist/node/storage.d.ts +21 -3
- package/dist/node/storage.d.ts.map +1 -1
- package/dist/node/storage.js +41 -12
- package/dist/node/storage.js.map +1 -1
- package/dist/node/watch.d.ts +81 -0
- package/dist/node/watch.d.ts.map +1 -0
- package/dist/node/watch.js +140 -0
- package/dist/node/watch.js.map +1 -0
- package/dist/paged.d.ts +34 -0
- package/dist/paged.d.ts.map +1 -0
- package/dist/paged.js +44 -0
- package/dist/paged.js.map +1 -0
- package/package.json +27 -2
- package/styles.css +5 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-readable rendering of a {@link CheckResult}.
|
|
3
|
+
*
|
|
4
|
+
* Issues are grouped by document and carry source coordinates, so an editor or
|
|
5
|
+
* a terminal that linkifies `path:line:column` jumps straight to the reference.
|
|
6
|
+
*/
|
|
7
|
+
import type { CheckResult } from "./check.js";
|
|
8
|
+
export declare function formatCheckResult(result: CheckResult): string;
|
|
9
|
+
//# sourceMappingURL=report.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/node/report.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAA;AAU7D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA6C7D"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-readable rendering of a {@link CheckResult}.
|
|
3
|
+
*
|
|
4
|
+
* Issues are grouped by document and carry source coordinates, so an editor or
|
|
5
|
+
* a terminal that linkifies `path:line:column` jumps straight to the reference.
|
|
6
|
+
*/
|
|
7
|
+
/** How many real anchor names to show before summarising the rest. */
|
|
8
|
+
const SHOWN_ANCHORS = 4;
|
|
9
|
+
const location = (issue) => issue.position
|
|
10
|
+
? `${issue.position.start.line}:${issue.position.start.column}`
|
|
11
|
+
: "";
|
|
12
|
+
export function formatCheckResult(result) {
|
|
13
|
+
const errors = result.issues.filter((i) => i.severity === "error").length;
|
|
14
|
+
const warnings = result.issues.length - errors;
|
|
15
|
+
if (!result.issues.length)
|
|
16
|
+
return `checked ${result.checkedReferences} references in ${result.documentCount} documents; no problems found`;
|
|
17
|
+
const byDocument = new Map();
|
|
18
|
+
for (const issue of result.issues) {
|
|
19
|
+
const list = byDocument.get(issue.sourcePath) ?? [];
|
|
20
|
+
list.push(issue);
|
|
21
|
+
byDocument.set(issue.sourcePath, list);
|
|
22
|
+
}
|
|
23
|
+
const width = Math.max(...result.issues.map((issue) => location(issue).length));
|
|
24
|
+
const lines = [];
|
|
25
|
+
for (const [sourcePath, issues] of byDocument) {
|
|
26
|
+
lines.push(sourcePath);
|
|
27
|
+
for (const issue of issues) {
|
|
28
|
+
lines.push(` ${location(issue).padStart(width)} ${issue.severity.padEnd(7)} ${issue.code.padEnd(20)} ${issue.reference}`);
|
|
29
|
+
lines.push(` ${" ".repeat(width)} ${issue.message}`);
|
|
30
|
+
if (issue.available?.length) {
|
|
31
|
+
const shown = issue.available.slice(0, SHOWN_ANCHORS);
|
|
32
|
+
const rest = issue.available.length - shown.length;
|
|
33
|
+
lines.push(` ${" ".repeat(width)} available: ${shown.map((id) => `#${id}`).join(", ")}${rest > 0 ? ` (+${rest} more)` : ""}`);
|
|
34
|
+
}
|
|
35
|
+
else if (issue.available) {
|
|
36
|
+
lines.push(` ${" ".repeat(width)} available: none`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
lines.push("");
|
|
40
|
+
}
|
|
41
|
+
const counts = [
|
|
42
|
+
errors ? `${errors} error${errors === 1 ? "" : "s"}` : "",
|
|
43
|
+
warnings ? `${warnings} warning${warnings === 1 ? "" : "s"}` : "",
|
|
44
|
+
].filter(Boolean);
|
|
45
|
+
lines.push(`${counts.join(", ")} in ${byDocument.size} of ${result.documentCount} documents`);
|
|
46
|
+
return lines.join("\n");
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/node/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,37 @@ export type Replacement = {
|
|
|
7
7
|
regex?: boolean;
|
|
8
8
|
flags?: string;
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* Where a table cell's text comes from.
|
|
12
|
+
*
|
|
13
|
+
* `title`, `summary` and `parent` read the row's section; the coordinate form
|
|
14
|
+
* reads one cell of one table inside it, counting tables after those whose
|
|
15
|
+
* header row names a heading in `skipTablesWithHeaders`; `extractor` names a
|
|
16
|
+
* function the collection config registered.
|
|
17
|
+
*/
|
|
18
|
+
export type CellValue = "title" | "summary" | "parent" | {
|
|
19
|
+
table?: number;
|
|
20
|
+
row: number;
|
|
21
|
+
column: number;
|
|
22
|
+
skipTablesWithHeaders?: string[];
|
|
23
|
+
} | {
|
|
24
|
+
extractor: string;
|
|
25
|
+
};
|
|
26
|
+
/** Where a cell links to: the row's section, the heading above it, or its document. */
|
|
27
|
+
export type CellLink = "section" | "parent" | "document";
|
|
28
|
+
export type TableColumn = "title" | "link" | "summary" | {
|
|
29
|
+
header?: string;
|
|
30
|
+
value: CellValue;
|
|
31
|
+
link?: CellLink;
|
|
32
|
+
/** A CSS length written onto the header cell's `style` as `min-width`. */
|
|
33
|
+
minWidth?: string;
|
|
34
|
+
};
|
|
10
35
|
export type EmbedSpec = {
|
|
11
36
|
sources: string[];
|
|
12
37
|
select?: SectionSelection;
|
|
13
38
|
render?: "section" | {
|
|
14
39
|
type: "table";
|
|
15
|
-
columns?:
|
|
40
|
+
columns?: TableColumn[];
|
|
16
41
|
};
|
|
17
42
|
replace?: Replacement[];
|
|
18
43
|
};
|
|
@@ -20,11 +45,73 @@ export type EmbedContext = {
|
|
|
20
45
|
documentId: string;
|
|
21
46
|
prefix?: string;
|
|
22
47
|
};
|
|
48
|
+
/** What a cell shows: text, and a link when the column or extractor gives one. */
|
|
49
|
+
export type ExtractedCell = {
|
|
50
|
+
text: string;
|
|
51
|
+
url?: string;
|
|
52
|
+
};
|
|
53
|
+
/** One row of an extracted table: the selected section and where it sits. */
|
|
54
|
+
export type EmbedRow = {
|
|
55
|
+
document: StoredDocument;
|
|
56
|
+
section: {
|
|
57
|
+
anchorId?: string;
|
|
58
|
+
title: string;
|
|
59
|
+
tree: Root;
|
|
60
|
+
};
|
|
61
|
+
/** The nearest heading above the section that is shallower than it. */
|
|
62
|
+
parent?: {
|
|
63
|
+
title: string;
|
|
64
|
+
anchorId?: string;
|
|
65
|
+
};
|
|
66
|
+
/** The row section's own address. */
|
|
67
|
+
url: string;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* A function the collection config registers to compute a cell. `version`
|
|
71
|
+
* enters the library configuration, so changing what the function returns
|
|
72
|
+
* for the same input invalidates prepared embeds.
|
|
73
|
+
*/
|
|
74
|
+
export type TableExtractor = {
|
|
75
|
+
version: string;
|
|
76
|
+
extract: (row: EmbedRow, context: {
|
|
77
|
+
library: Library;
|
|
78
|
+
documentId: string;
|
|
79
|
+
column: TableColumn;
|
|
80
|
+
}) => string | ExtractedCell | undefined;
|
|
81
|
+
};
|
|
23
82
|
export declare function parseEmbedSpec(value: string): EmbedSpec;
|
|
83
|
+
/**
|
|
84
|
+
* Parses one fenced block, naming the document and block when it fails.
|
|
85
|
+
*
|
|
86
|
+
* A bare YAML error reads `Missing closing "quote at line 3, column 24` and
|
|
87
|
+
* stops there, which is a poor thing to hand an author: line 3 of which block
|
|
88
|
+
* of which document? Every caller that walks fenced blocks knows both, so the
|
|
89
|
+
* context is attached here instead of being repeated at each of them.
|
|
90
|
+
*/
|
|
91
|
+
export declare function parseEmbedBlock(value: string, documentId: string, number?: number): EmbedSpec;
|
|
24
92
|
export declare function resolveDocumentReference(library: Library, reference: string, from: string): {
|
|
25
93
|
document: StoredDocument;
|
|
26
94
|
anchor?: string;
|
|
27
95
|
};
|
|
96
|
+
/** The default columns of a summary table, as they have always been. */
|
|
97
|
+
export declare const DEFAULT_TABLE_COLUMNS: TableColumn[];
|
|
98
|
+
/**
|
|
99
|
+
* One row for a selected section: what it is called, where it lives and which
|
|
100
|
+
* heading introduces the part of the document it sits in.
|
|
101
|
+
*/
|
|
102
|
+
export declare function buildEmbedRow(document: StoredDocument, anchorId: string | undefined, tree: Root): EmbedRow;
|
|
103
|
+
/**
|
|
104
|
+
* The text and link one column shows for one row, and why it is empty when it
|
|
105
|
+
* is. The resolver renders the cell either way; the checker reports the
|
|
106
|
+
* problem, which is worded as what the column asked for and what the section
|
|
107
|
+
* has, so an author can tell a wrong coordinate from a missing table.
|
|
108
|
+
*/
|
|
109
|
+
export declare function extractCell(library: Library, column: TableColumn, row: EmbedRow, context: EmbedContext): {
|
|
110
|
+
cell: ExtractedCell;
|
|
111
|
+
problem?: string;
|
|
112
|
+
};
|
|
113
|
+
/** The mdast table the extracted cells make, header cells carrying any width. */
|
|
114
|
+
export declare function buildEmbedTable(library: Library, columns: TableColumn[], rows: EmbedRow[], context: EmbedContext): Root;
|
|
28
115
|
/** Resolve a configured embed from immutable persisted documents. */
|
|
29
116
|
export declare function resolveEmbed(library: Library, input: EmbedSpec, context: EmbedContext): Root;
|
|
30
117
|
export declare function resolveDocumentEmbeds(library: Library, documentId: string): Root;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-embed.d.ts","sourceRoot":"","sources":["../../src/node/resolve-embed.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAGjC,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"resolve-embed.d.ts","sourceRoot":"","sources":["../../src/node/resolve-embed.ts"],"names":[],"mappings":"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"}
|