@cudoment/cudoc 0.4.0 → 0.6.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 +4 -3
- package/dist/document.d.ts +36 -1
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +54 -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/core/query/sections.d.ts +6 -0
- package/dist/internal/core/query/sections.d.ts.map +1 -1
- package/dist/internal/core/query/sections.js +8 -2
- package/dist/internal/core/query/sections.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 +12 -6
- package/dist/node/check.d.ts.map +1 -1
- package/dist/node/check.js +460 -79
- package/dist/node/check.js.map +1 -1
- package/dist/node/cli.js +2 -56
- package/dist/node/cli.js.map +1 -1
- package/dist/node/collect.d.ts +41 -0
- package/dist/node/collect.d.ts.map +1 -0
- package/dist/node/collect.js +351 -0
- package/dist/node/collect.js.map +1 -0
- package/dist/node/command.d.ts +23 -0
- package/dist/node/command.d.ts.map +1 -0
- package/dist/node/command.js +116 -0
- package/dist/node/command.js.map +1 -0
- package/dist/node/dataset.d.ts +14 -1
- package/dist/node/dataset.d.ts.map +1 -1
- package/dist/node/dataset.js +44 -5
- 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 +76 -6
- package/dist/node/library.d.ts.map +1 -1
- package/dist/node/library.js +63 -137
- package/dist/node/library.js.map +1 -1
- package/dist/node/load-ast.d.ts.map +1 -1
- package/dist/node/load-ast.js +4 -1
- package/dist/node/load-ast.js.map +1 -1
- package/dist/node/local-target.d.ts +39 -8
- package/dist/node/local-target.d.ts.map +1 -1
- package/dist/node/local-target.js +94 -13
- package/dist/node/local-target.js.map +1 -1
- package/dist/node/prepare-embeds.d.ts +52 -3
- package/dist/node/prepare-embeds.d.ts.map +1 -1
- package/dist/node/prepare-embeds.js +134 -8
- package/dist/node/prepare-embeds.js.map +1 -1
- package/dist/node/references.d.ts +39 -0
- package/dist/node/references.d.ts.map +1 -0
- package/dist/node/references.js +101 -0
- package/dist/node/references.js.map +1 -0
- package/dist/node/replace.d.ts +65 -0
- package/dist/node/replace.d.ts.map +1 -0
- package/dist/node/replace.js +285 -0
- package/dist/node/replace.js.map +1 -0
- package/dist/node/resolve-embed.d.ts +79 -1
- package/dist/node/resolve-embed.d.ts.map +1 -1
- package/dist/node/resolve-embed.js +480 -143
- package/dist/node/resolve-embed.js.map +1 -1
- package/dist/node/roots.d.ts +78 -0
- package/dist/node/roots.d.ts.map +1 -0
- package/dist/node/roots.js +170 -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 +242 -20
- package/dist/node/storage.js.map +1 -1
- package/dist/node/watch.d.ts +86 -0
- package/dist/node/watch.d.ts.map +1 -0
- package/dist/node/watch.js +174 -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/dist/render.d.ts +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +14 -0
- package/dist/render.js.map +1 -1
- package/dist/sections.d.ts.map +1 -1
- package/dist/sections.js +7 -3
- package/dist/sections.js.map +1 -1
- package/package.json +29 -16
- package/styles.css +5 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../../../src/internal/transforms/table-column-layout/create-table.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAO3D,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,SAAS,EAA6B,MAAM,iBAAiB,CAAA;AAEtE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACF,CAAA;AAaV,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,aAA8B,EAAE,EACP,EAAE;IAC3B,MAAM,QAAQ,GAAG,EAAE,GAAG,wBAAwB,EAAE,GAAG,UAAU,EAAE,CAAA;IAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,IAAI,SAAS,CAAC,cAAc,GAAG,6BAA6B,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CACxB,IAAe,EACf,IAAY,EACZ,aAAgC,EAAE,EACf,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAE7E,MAAM,
|
|
1
|
+
{"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../../../src/internal/transforms/table-column-layout/create-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,32 @@ import { type DelimiterPair } from "../../core/index.js";
|
|
|
11
11
|
import { type ResolvedTableComponents, type TableComponents } from "./create-table.js";
|
|
12
12
|
import { resolveSplitOptions, type SplitOptions } from "./split-cell.js";
|
|
13
13
|
export declare const DEFAULT_SPAN_ATTRIBUTE = "colSpan";
|
|
14
|
+
/** A CSS length a header cell can carry: a number and a unit, nothing else. */
|
|
15
|
+
export declare const CSS_LENGTH: RegExp;
|
|
16
|
+
/**
|
|
17
|
+
* Minimum widths for columns, by header text.
|
|
18
|
+
*
|
|
19
|
+
* A header cell whose text is a key gets `min-width` in its `style`, which
|
|
20
|
+
* every renderer reads: the HTML output as a style attribute, a layout table
|
|
21
|
+
* as its head element's `style` prop, and the Word export as the column's
|
|
22
|
+
* floor. This replaces a `<div style={{ minWidth }}>` written into a header
|
|
23
|
+
* cell by hand.
|
|
24
|
+
*/
|
|
25
|
+
export type TableColumnWidthOptions = {
|
|
26
|
+
/** Limit the rule to tables under this heading. Every table when absent. */
|
|
27
|
+
section?: SectionSelector;
|
|
28
|
+
/** Header text, compared after collapsing spaces, to a CSS length. */
|
|
29
|
+
widths: Record<string, string>;
|
|
30
|
+
metadataDelimiters?: DelimiterPair[];
|
|
31
|
+
ignoreElements?: string[];
|
|
32
|
+
};
|
|
33
|
+
export type ResolvedTableColumnWidthOptions = {
|
|
34
|
+
section?: SectionSelector;
|
|
35
|
+
widths: Record<string, string>;
|
|
36
|
+
metadataDelimiters: DelimiterPair[];
|
|
37
|
+
ignoreElements: string[];
|
|
38
|
+
};
|
|
39
|
+
export declare const resolveTableColumnWidthOptions: (options: TableColumnWidthOptions, optionPath?: string) => ResolvedTableColumnWidthOptions;
|
|
14
40
|
export type TableColumnLayoutOptions = {
|
|
15
41
|
/** The heading that introduces the table this rule applies to. */
|
|
16
42
|
section: SectionSelector;
|
|
@@ -38,6 +64,12 @@ export type ResolvedTableColumnLayoutOptions = {
|
|
|
38
64
|
ignoreElements: string[];
|
|
39
65
|
};
|
|
40
66
|
export declare const resolveTableColumnLayoutOptions: (options: TableColumnLayoutOptions, optionPath?: string) => ResolvedTableColumnLayoutOptions;
|
|
67
|
+
/**
|
|
68
|
+
* Writes `min-width` onto matching header cells of a Markdown table. It runs
|
|
69
|
+
* before any layout rule, which carries the style into the head element it
|
|
70
|
+
* builds, so the width survives whichever shape the table ends up in.
|
|
71
|
+
*/
|
|
72
|
+
export declare const createTableColumnWidthTransform: (options: ResolvedTableColumnWidthOptions) => ({ ancestors, index, node, parent }: TransformContext) => void;
|
|
41
73
|
/**
|
|
42
74
|
* Runs as a post transform: the cells it reads must already be normalized by
|
|
43
75
|
* the transforms that run on the way down, and any transform that needs to see
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/transforms/table-column-layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAUL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAExE,eAAO,MAAM,sBAAsB,YAAY,CAAA;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,kEAAkE;IAClE,OAAO,EAAE,eAAe,CAAA;IACxB,8EAA8E;IAC9E,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAA;IACpC,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;IAC7C,UAAU,EAAE,uBAAuB,CAAA;IACnC,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,aAAa,EAAE,CAAA;IACnC,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,+BAA+B,GAC1C,SAAS,wBAAwB,EACjC,mBAAgC,KAC/B,gCA8BF,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/transforms/table-column-layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAUL,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAExE,eAAO,MAAM,sBAAsB,YAAY,CAAA;AAE/C,+EAA+E;AAC/E,eAAO,MAAM,UAAU,QAAsC,CAAA;AAE7D;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAA;IACpC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,OAAO,CAAC,EAAE,eAAe,CAAA;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,kBAAkB,EAAE,aAAa,EAAE,CAAA;IACnC,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,8BAA8B,GACzC,SAAS,uBAAuB,EAChC,mBAAgC,KAC/B,+BAuCF,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,kEAAkE;IAClE,OAAO,EAAE,eAAe,CAAA;IACxB,8EAA8E;IAC9E,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAA;IACpC,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,EAAE,eAAe,CAAA;IACxB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,KAAK,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAA;IAC7C,UAAU,EAAE,uBAAuB,CAAA;IACnC,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,aAAa,EAAE,CAAA;IACnC,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,+BAA+B,GAC1C,SAAS,wBAAwB,EACjC,mBAAgC,KAC/B,gCA8BF,CAAA;AAiFD;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,GACzC,SAAS,+BAA+B,MACxC,oCAAoC,gBAAgB,KAAG,IA0BvD,CAAA;AAEH;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAC1C,SAAS,gCAAgC,MACzC,oCAAoC,gBAAgB,KAAG,IAyBvD,CAAA;AAEH,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -10,6 +10,37 @@ import { assertSectionSelector, findPreviousHeading, getInlineText, isMdxTextEle
|
|
|
10
10
|
import { createLayoutTable, resolveTableComponents, } from "./create-table.js";
|
|
11
11
|
import { resolveSplitOptions } from "./split-cell.js";
|
|
12
12
|
export const DEFAULT_SPAN_ATTRIBUTE = "colSpan";
|
|
13
|
+
/** A CSS length a header cell can carry: a number and a unit, nothing else. */
|
|
14
|
+
export const CSS_LENGTH = /^\d+(?:\.\d+)?(?:px|rem|em|ch|%)$/;
|
|
15
|
+
export const resolveTableColumnWidthOptions = (options, optionPath = "tableColumnWidths") => {
|
|
16
|
+
if (!options || typeof options !== "object")
|
|
17
|
+
throw new TypeError(`${optionPath} must be an object`);
|
|
18
|
+
const { widths } = options;
|
|
19
|
+
if (!widths ||
|
|
20
|
+
typeof widths !== "object" ||
|
|
21
|
+
Array.isArray(widths) ||
|
|
22
|
+
!Object.keys(widths).length)
|
|
23
|
+
throw new TypeError(`${optionPath}.widths must map header text to CSS lengths`);
|
|
24
|
+
for (const [header, width] of Object.entries(widths))
|
|
25
|
+
if (!header.trim() || typeof width !== "string" || !CSS_LENGTH.test(width))
|
|
26
|
+
throw new TypeError(`${optionPath}.widths[${JSON.stringify(header)}] must be a CSS length such as 120px or 8rem`);
|
|
27
|
+
return {
|
|
28
|
+
...(options.section
|
|
29
|
+
? {
|
|
30
|
+
section: assertSectionSelector(options.section, `${optionPath}.section`),
|
|
31
|
+
}
|
|
32
|
+
: {}),
|
|
33
|
+
widths: Object.fromEntries(Object.entries(widths).map(([header, width]) => [
|
|
34
|
+
normalizeHeaderText(header),
|
|
35
|
+
width,
|
|
36
|
+
])),
|
|
37
|
+
metadataDelimiters: options.metadataDelimiters ?? [
|
|
38
|
+
DEFAULT_BADGE_DELIMITERS,
|
|
39
|
+
DEFAULT_ID_DELIMITERS,
|
|
40
|
+
],
|
|
41
|
+
ignoreElements: options.ignoreElements ?? ["Badge"],
|
|
42
|
+
};
|
|
43
|
+
};
|
|
13
44
|
export const resolveTableColumnLayoutOptions = (options, optionPath = "tableColumnLayout") => {
|
|
14
45
|
if (!options || typeof options !== "object") {
|
|
15
46
|
throw new TypeError(`${optionPath} must be an object`);
|
|
@@ -69,6 +100,41 @@ const readHeadingText = (heading, options) => stripDelimited(getInlineText(
|
|
|
69
100
|
// way `visibleHeadingText` drops them.
|
|
70
101
|
heading.children.filter((node) => !["badge", "permalink"].includes(node.data?.cudoc
|
|
71
102
|
?.kind ?? ""))), options.metadataDelimiters);
|
|
103
|
+
/** One declaration merged into a cell's existing `style` string. */
|
|
104
|
+
const withDeclaration = (style, declaration) => [
|
|
105
|
+
...(typeof style === "string" && style.trim()
|
|
106
|
+
? style
|
|
107
|
+
.split(";")
|
|
108
|
+
.map((rule) => rule.trim())
|
|
109
|
+
.filter(Boolean)
|
|
110
|
+
: []),
|
|
111
|
+
declaration,
|
|
112
|
+
].join("; ");
|
|
113
|
+
/**
|
|
114
|
+
* Writes `min-width` onto matching header cells of a Markdown table. It runs
|
|
115
|
+
* before any layout rule, which carries the style into the head element it
|
|
116
|
+
* builds, so the width survives whichever shape the table ends up in.
|
|
117
|
+
*/
|
|
118
|
+
export const createTableColumnWidthTransform = (options) => ({ ancestors, index, node, parent }) => {
|
|
119
|
+
if (node.type !== "table" || !parent || typeof index !== "number")
|
|
120
|
+
return;
|
|
121
|
+
if (options.section) {
|
|
122
|
+
const previousHeading = findPreviousHeading(parent, index, ancestors);
|
|
123
|
+
if (!previousHeading ||
|
|
124
|
+
!matchesSectionHeading(previousHeading, options.section, (heading) => readHeadingText(heading, options)))
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const table = node;
|
|
128
|
+
for (const cell of table.children[0]?.children ?? []) {
|
|
129
|
+
const width = options.widths[readHeaderText(cell, options)];
|
|
130
|
+
if (!width)
|
|
131
|
+
continue;
|
|
132
|
+
const data = (cell.data ?? {});
|
|
133
|
+
const properties = { ...(data.hProperties ?? {}) };
|
|
134
|
+
properties.style = withDeclaration(properties.style, `min-width: ${width}`);
|
|
135
|
+
cell.data = { ...data, hProperties: properties };
|
|
136
|
+
}
|
|
137
|
+
};
|
|
72
138
|
/**
|
|
73
139
|
* Runs as a post transform: the cells it reads must already be normalized by
|
|
74
140
|
* the transforms that run on the way down, and any transform that needs to see
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/transforms/table-column-layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAqB,MAAM,iBAAiB,CAAA;AAExE,MAAM,CAAC,MAAM,sBAAsB,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/transforms/table-column-layout/index.ts"],"names":[],"mappings":"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"}
|
package/dist/markdown.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import type { Root } from "mdast";
|
|
2
2
|
import { normalizeDocument, type DocumentOptions } from "./document.js";
|
|
3
|
+
import { importedNames, importedNamesFromSource } from "./internal/core/mdx/imports.js";
|
|
4
|
+
export { importedNames, importedNamesFromSource };
|
|
3
5
|
export type CompiledDocument = {
|
|
4
6
|
tree: Root;
|
|
5
7
|
frontmatter: Record<string, unknown>;
|
|
6
8
|
diagnostics: ReturnType<typeof normalizeDocument>;
|
|
9
|
+
/**
|
|
10
|
+
* Local names the document's own `import` statements bind. The export drops
|
|
11
|
+
* the statements, and the checker needs to know which components an
|
|
12
|
+
* embedded copy of a section would leave behind.
|
|
13
|
+
*/
|
|
14
|
+
imports?: string[];
|
|
7
15
|
};
|
|
8
16
|
/** Standalone Markdown/MDX compiler. Host adapters supply their actual compiler instead. */
|
|
9
17
|
export declare function compileDocument(source: string, options?: DocumentOptions): CompiledDocument;
|
package/dist/markdown.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAQjC,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EAErB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAQjC,OAAO,EACL,iBAAiB,EACjB,KAAK,eAAe,EAErB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,uBAAuB,EACxB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAA;AAEjD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,WAAW,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;IACjD;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,4FAA4F;AAC5F,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,eAAoB,GAC5B,gBAAgB,CA8ClB"}
|
package/dist/markdown.js
CHANGED
|
@@ -6,6 +6,8 @@ import remarkFrontmatter from "remark-frontmatter";
|
|
|
6
6
|
import { compileSync } from "@mdx-js/mdx";
|
|
7
7
|
import { parse as parseYaml } from "yaml";
|
|
8
8
|
import { normalizeDocument, } from "./document.js";
|
|
9
|
+
import { importedNames, importedNamesFromSource, } from "./internal/core/mdx/imports.js";
|
|
10
|
+
export { importedNames, importedNamesFromSource };
|
|
9
11
|
/** Standalone Markdown/MDX compiler. Host adapters supply their actual compiler instead. */
|
|
10
12
|
export function compileDocument(source, options = {}) {
|
|
11
13
|
let tree;
|
|
@@ -40,8 +42,14 @@ export function compileDocument(source, options = {}) {
|
|
|
40
42
|
if (frontmatter !== null &&
|
|
41
43
|
(typeof frontmatter !== "object" || Array.isArray(frontmatter)))
|
|
42
44
|
throw new Error("cudoc: frontmatter must be a mapping");
|
|
45
|
+
const imports = importedNames(tree);
|
|
43
46
|
tree.children = tree.children.filter((n) => !["yaml", "mdxjsEsm"].includes(n.type));
|
|
44
47
|
const diagnostics = normalizeDocument(tree, source, options);
|
|
45
|
-
return {
|
|
48
|
+
return {
|
|
49
|
+
tree,
|
|
50
|
+
frontmatter: frontmatter ?? {},
|
|
51
|
+
diagnostics,
|
|
52
|
+
...(imports.length ? { imports } : {}),
|
|
53
|
+
};
|
|
46
54
|
}
|
|
47
55
|
//# sourceMappingURL=markdown.js.map
|
package/dist/markdown.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAC9C,OAAO,iBAAiB,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,EACL,iBAAiB,GAGlB,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,eAAe,MAAM,kBAAkB,CAAA;AAC9C,OAAO,iBAAiB,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAA;AACzC,OAAO,EACL,iBAAiB,GAGlB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,aAAa,EACb,uBAAuB,GACxB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAA;AAcjD,4FAA4F;AAC5F,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,UAA2B,EAAE;IAE7B,IAAI,IAAU,CAAA;IACd,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,IAAI,QAA0B,CAAA;QAC9B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC,KAAW,EAAE,EAAE;YACpC,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,CAAA;QACD,WAAW,CAAC,MAAM,EAAE;YAClB,aAAa,EAAE;gBACb,SAAS;gBACT,iBAAiB;gBACjB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO;aACR;SACF,CAAC,CAAA;QACF,IAAI,GAAG,QAAS,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,OAAO,EAAE;aACxB,GAAG,CAAC,WAAW,CAAC;aAChB,GAAG,CAAC,SAAS,CAAC;aACd,GAAG,CAAC,iBAAiB,CAAC,CAAA;QACzB,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY;YAAE,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACjE,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAS,CAAA;IAC3D,CAAC;IACD,MAAM,eAAe,GAAI,IAAI,CAAC,QAAsC,CAAC,IAAI,CACvE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CACzB,CAAA;IACD,MAAM,WAAW,GAAG,eAAe;QACjC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,KAAM,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAA;IACN,IACE,WAAW,KAAK,IAAI;QACpB,CAAC,OAAO,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE/D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAC9C,CAAA;IACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5D,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,WAAW,IAAI,EAAE;QAC9B,WAAW;QACX,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvC,CAAA;AACH,CAAC"}
|
package/dist/node/check.d.ts
CHANGED
|
@@ -13,7 +13,8 @@ import type { Root } from "mdast";
|
|
|
13
13
|
import type { Position } from "unist";
|
|
14
14
|
import type { Library } from "./library.js";
|
|
15
15
|
import { type LocalTargetRoots } from "./local-target.js";
|
|
16
|
-
|
|
16
|
+
import { type SourceRoot } from "./roots.js";
|
|
17
|
+
export type ReferenceIssueCode = "missing-document" | "missing-anchor" | "missing-asset" | "duplicate-anchor" | "empty-anchor" | "unstable-anchor-link" | "missing-embed-source" | "missing-embed-anchor" | "invalid-embed-spec" | "unmatched-embed-replacement" | "unreplaceable-embed-section" | "empty-embed-cell" | "unportable-embed-component" | "imported-embed-component" | "cyclic-embed";
|
|
17
18
|
export type ReferenceIssue = {
|
|
18
19
|
code: ReferenceIssueCode;
|
|
19
20
|
severity: "error" | "warning";
|
|
@@ -25,8 +26,10 @@ export type ReferenceIssue = {
|
|
|
25
26
|
reference: string;
|
|
26
27
|
position?: Position;
|
|
27
28
|
/**
|
|
28
|
-
* The anchors the target document actually has
|
|
29
|
-
* `missing-anchor`
|
|
29
|
+
* The anchors the target document actually has, or for
|
|
30
|
+
* `missing-embed-anchor` its headings' ids, which are what a section can be
|
|
31
|
+
* embedded from. Filled in so the author can see the real names instead of
|
|
32
|
+
* a guess.
|
|
30
33
|
*/
|
|
31
34
|
available?: string[];
|
|
32
35
|
};
|
|
@@ -35,9 +38,11 @@ export type CheckResult = {
|
|
|
35
38
|
documentCount: number;
|
|
36
39
|
checkedReferences: number;
|
|
37
40
|
};
|
|
38
|
-
export type CheckOptions = Omit<LocalTargetRoots, "
|
|
39
|
-
/**
|
|
41
|
+
export type CheckOptions = Omit<LocalTargetRoots, "roots"> & {
|
|
42
|
+
/** One root at the top of the library; the shorthand for `roots: [{ dir }]`. */
|
|
40
43
|
sourceRoot?: string;
|
|
44
|
+
/** Where the documents live on disk. Defaults to the library's own roots. */
|
|
45
|
+
roots?: SourceRoot[];
|
|
41
46
|
/** Codes to leave out of the result entirely. */
|
|
42
47
|
ignore?: ReferenceIssueCode[];
|
|
43
48
|
};
|
|
@@ -50,7 +55,8 @@ type Anchor = {
|
|
|
50
55
|
*
|
|
51
56
|
* Both halves matter. The ids answer whether a link resolves; the origin
|
|
52
57
|
* answers whether it will keep resolving, because a generated id depends on how
|
|
53
|
-
* many same-named headings precede it.
|
|
58
|
+
* many same-named headings precede it. Besides headings, an id an element in
|
|
59
|
+
* raw HTML declares is an anchor too, and one the author wrote.
|
|
54
60
|
*/
|
|
55
61
|
export declare function collectAnchors(tree: Root): Anchor[];
|
|
56
62
|
export declare function checkReferences(library: Library, options?: CheckOptions): CheckResult;
|
package/dist/node/check.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/node/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/node/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAQrC,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,cAAc,CAAA;AAgB3D,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAG1D,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,cAAc,GACd,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,oBAAoB,GACpB,6BAA6B,GAC7B,6BAA6B,GAC7B,kBAAkB,GAClB,4BAA4B,GAC5B,0BAA0B,GAC1B,cAAc,CAAA;AAElB,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG;IAC3D,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;IACpB,iDAAiD;IACjD,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC9B,CAAA;AAKD,KAAK,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAA;AAO/C;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAanD;AA0SD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,YAAiB,GACzB,WAAW,CAsiBb"}
|