@dogsbay/format-dita 0.2.0-beta.121 → 0.2.0-beta.123

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.js CHANGED
@@ -16,4 +16,6 @@ export { DITA_TOPIC_TYPES, renameDitaHref, relativeIncludePath, } from "./types.
16
16
  export { ditaTopicToTree } from "./parse.js";
17
17
  export { ditaTopicToDogsbayMd } from "./markdown.js";
18
18
  export { planConrefs, } from "./conref.js";
19
- //# sourceMappingURL=index.js.map
19
+ // The closed db- qualifier vocabulary (tones, tab variants, scoped themes)
20
+ export { DB_QUALIFIERS } from "./blocks.js";
21
+ export { checkWellFormed } from "./well-formed.js";
package/dist/inline.d.ts CHANGED
@@ -1,11 +1,3 @@
1
- /**
2
- * DITA inline elements → InlineNode[] (Notion-style flat annotations).
3
- *
4
- * DITA's semantic inlines (uicontrol, filepath, apiname, …) map to their
5
- * conventional visual rendering; the semantic distinction itself cannot be
6
- * carried by the closed InlineNode union, so mappings that lose semantics
7
- * are recorded as conversion notes exactly once per construct per topic.
8
- */
9
1
  import type { Element, AnyNode } from "domhandler";
10
2
  import type { InlineNode } from "@dogsbay/types";
11
3
  import { type ConrefSiteContext, type ConrefSnippetRef, type PublishContext } from "./types.js";
@@ -78,4 +70,3 @@ export declare const convertInline: (nodes: AnyNode[], ctx: InlineContext, forma
78
70
  /** Trim leading/trailing whitespace-only fringe from an inline run. */
79
71
  export declare const trimInline: (nodes: InlineNode[]) => InlineNode[];
80
72
  export {};
81
- //# sourceMappingURL=inline.d.ts.map
package/dist/inline.js CHANGED
@@ -1,3 +1,12 @@
1
+ /**
2
+ * DITA inline elements → InlineNode[] (Notion-style flat annotations).
3
+ *
4
+ * DITA's semantic inlines (uicontrol, filepath, apiname, …) map to their
5
+ * conventional visual rendering; the semantic distinction itself cannot be
6
+ * carried by the closed InlineNode union, so mappings that lose semantics
7
+ * are recorded as conversion notes exactly once per construct per topic.
8
+ */
9
+ import { DB_QUALIFIERS, outputTokens } from "./qualifiers.js";
1
10
  import { publishHref } from "./types.js";
2
11
  import { anchorId } from "./anchors.js";
3
12
  /**
@@ -65,7 +74,7 @@ const codeText = (name, text, ctx) => {
65
74
  };
66
75
  // `em` and `strong` are DITA 2.0's emphasis domain
67
76
  const ITALIC_LIKE = new Set(["i", "em", "term", "cite", "q", "var"]);
68
- const BOLD_LIKE = new Set(["b", "strong", "uicontrol", "wintitle", "menucascade", "shortcut"]);
77
+ const BOLD_LIKE = new Set(["b", "strong", "uicontrol", "wintitle", "menucascade"]);
69
78
  /**
70
79
  * Publishing: the name to convert an element as. An element the converter
71
80
  * does not know is converted as the nearest base element it does know,
@@ -85,7 +94,7 @@ export const elementName = (el, ctx, known) => {
85
94
  return raw;
86
95
  };
87
96
  const KNOWN_INLINE = new Set([
88
- "xref", "link", "image", "u", "sub", "sup", "overline", "line-through", "indexterm", "draft-comment", "data", "menucascade", "tm", "fn",
97
+ "xref", "link", "image", "u", "sub", "sup", "overline", "line-through", "indexterm", "draft-comment", "data", "menucascade", "tm", "fn", "shortcut",
89
98
  "foreign", "unknown", "required-cleanup",
90
99
  ]);
91
100
  export const isKnownInline = (name) => KNOWN_INLINE.has(name) || CODE_LIKE.has(name) || TRANSPARENT.has(name) || ITALIC_LIKE.has(name) ||
@@ -99,6 +108,26 @@ export const textOf = (nodes) => nodes
99
108
  return "";
100
109
  })
101
110
  .join("");
111
+ /**
112
+ * A <shortcut>'s keys (`Ctrl+Shift+S` → Ctrl, Shift, S), or undefined when it
113
+ * is an access-key letter: inside a <uicontrol> (by name or @class) that
114
+ * holds other text or elements beside it.
115
+ */
116
+ const shortcutKeys = (el, ctx) => {
117
+ const text = textOf(el.children).replace(/\s+/g, " ").trim();
118
+ if (!text)
119
+ return undefined;
120
+ const parent = el.parent;
121
+ const parentName = parent && isElement(parent) ? elementName(parent, ctx, isKnownInline) : "";
122
+ if (parentName === "uicontrol") {
123
+ const besides = parent.children.some((c) => c !== el && (isElement(c) || (isText(c) && c.data.trim().length > 0)));
124
+ if (besides)
125
+ return undefined;
126
+ }
127
+ // `+` joins keys; a lone `+` (or a trailing one, `Ctrl++`) is the plus key.
128
+ const keys = text.split(/\s*\+\s*(?=\S)/).map((k) => k.trim()).filter(Boolean);
129
+ return keys.length > 0 ? keys : [text];
130
+ };
102
131
  /** An empty anchor element for an @id (DITA-OT puts the id on the element itself). */
103
132
  export const idAnchor = (id) => `<a id="${id.replace(/&/g, "&amp;").replace(/"/g, "&quot;")}"></a>`;
104
133
  /** A DITA length in pixels, as DITA-OT's length-to-pixels (96 per inch); undefined for percentages and unknown units. */
@@ -229,6 +258,31 @@ export const convertInline = (nodes, ctx, formatting = {}) => {
229
258
  }
230
259
  ctx.note(node.attribs.conref ? "@conref" : "@conkeyref", `<${name}> pulls content from "${ref}" — ${conrefLedgerDetail(node.attribs, snippet, ctx.conref !== undefined)}`);
231
260
  }
261
+ // `<ph outputclass="db-badge tone-success">Beta</ph>`: a badge, in running
262
+ // text or a title. DITA-OT shows the plain text.
263
+ if (name === "ph" && /(^|\s)db-badge(\s|$)/.test(node.attribs?.outputclass ?? "")) {
264
+ const key = node.attribs?.keyref && ctx.publish ? ctx.publish.keys.get(node.attribs.keyref) : undefined;
265
+ const text = collapseWhitespace(textOf(children)).trim() || key?.text || key?.linktext || "";
266
+ if (text) {
267
+ let variant;
268
+ for (const t of outputTokens(node.attribs?.outputclass)) {
269
+ const tone = /^tone-(.+)$/.exec(t);
270
+ if (!tone)
271
+ continue;
272
+ if (DB_QUALIFIERS.tones.includes(tone[1]))
273
+ variant = tone[1];
274
+ else
275
+ noteOnce(ctx, `db-badge ${t}`, `"${t}" is not a tone (${DB_QUALIFIERS.tones.join(", ")}) — default badge`);
276
+ }
277
+ out.push({ type: "badge", text, ...(variant ? { variant } : {}) });
278
+ continue;
279
+ }
280
+ // A content-less keyref falls through to the key's text ({{ key }}): the badge look is what is lost
281
+ if (node.attribs?.keyref)
282
+ noteOnce(ctx, "db-badge keyref", `db-badge with only a keyref ("${node.attribs.keyref}") — shown as the key's text, without the badge`);
283
+ else
284
+ noteOnce(ctx, "db-badge", "db-badge with no text — nothing to show");
285
+ }
232
286
  // Key-based text reuse (<ph keyref="product-name"/>, <keyword keyref=…>).
233
287
  // Authored fallback content always wins — it is the only text that is
234
288
  // guaranteed to exist (href-only keys have no text to resolve). Only
@@ -342,13 +396,34 @@ export const convertInline = (nodes, ctx, formatting = {}) => {
342
396
  pushText(" ");
343
397
  continue;
344
398
  }
345
- if (name === "menucascade" && ctx.publish) {
346
- // Publishing: "File > Save Project", as DITA-OT's HTML renders it
347
- node.children.filter(isElement).forEach((part, i) => {
348
- if (i > 0)
399
+ if (name === "menucascade") {
400
+ // "File > Save Project", as DITA-OT's HTML renders it: each step keeps
401
+ // its own look (a <uicontrol> is bold), joined by " > "
402
+ // Separators only between steps that produced something: a step that
403
+ // converts to nothing (an unresolved conref) left a leading " > ", which
404
+ // a line start reads as a blockquote
405
+ let any = false;
406
+ for (const part of node.children.filter(isElement)) {
407
+ const converted = convertInline([part], ctx, formatting);
408
+ if (!converted.length)
409
+ continue;
410
+ if (any)
349
411
  pushText(" > ");
350
- out.push(...convertInline([part], ctx, formatting));
351
- });
412
+ out.push(...converted);
413
+ any = true;
414
+ }
415
+ continue;
416
+ }
417
+ if (name === "shortcut") {
418
+ // A keystroke (`<shortcut>Ctrl+S</shortcut>`) is a keycap. Inside a
419
+ // <uicontrol> beside other text it is the label's access-key letter
420
+ // (`<uicontrol><shortcut>D</shortcut>elete</uicontrol>`, the form real
421
+ // corpora use, which DITA-OT underlines): keep it as the label's text.
422
+ const keys = shortcutKeys(node, ctx);
423
+ if (keys)
424
+ out.push({ type: "kbd", keys });
425
+ else
426
+ out.push(...convertInline(children, ctx, formatting));
352
427
  continue;
353
428
  }
354
429
  if (BOLD_LIKE.has(name)) {
@@ -446,10 +521,13 @@ export const convertInline = (nodes, ctx, formatting = {}) => {
446
521
  out.push({ type: "image", src: imgHref, ...(alt ? { alt } : {}), ...(attrs ? { attrs } : {}) });
447
522
  continue;
448
523
  }
524
+ // The <alt> element (DITA 1.1+) wins over the deprecated @alt, as in publishing.
525
+ const altEl = (children).find((c) => isElement(c) && c.name.toLowerCase() === "alt");
526
+ const alt = altEl ? collapseWhitespace(textOf(altEl.children)).trim() : node.attribs?.alt;
449
527
  out.push({
450
528
  type: "image",
451
529
  src: imgHref,
452
- ...(node.attribs?.alt ? { alt: node.attribs.alt } : {}),
530
+ ...(alt ? { alt } : {}),
453
531
  });
454
532
  continue;
455
533
  }
@@ -514,4 +592,3 @@ export const trimInline = (nodes) => {
514
592
  }
515
593
  return result;
516
594
  };
517
- //# sourceMappingURL=inline.js.map
@@ -9,4 +9,3 @@ export interface DitaMarkdownResult extends DitaTopicResult {
9
9
  * (`dita.id`, original path) for round-trip.
10
10
  */
11
11
  export declare function ditaTopicToDogsbayMd(xml: string, options?: DitaParseOptions): DitaMarkdownResult;
12
- //# sourceMappingURL=markdown.d.ts.map
package/dist/markdown.js CHANGED
@@ -1,4 +1,4 @@
1
- import { treeToDogsbayMd } from "@dogsbay/format-dogsbay-md";
1
+ import { treeToDogsbayMd } from "@dogsbay/format-dogsbay-md/browser";
2
2
  import { ditaTopicToTree } from "./parse.js";
3
3
  /** DITA topic type → dogsbay contentType frontmatter value. */
4
4
  const CONTENT_TYPE_MAP = {
@@ -69,4 +69,3 @@ export function ditaTopicToDogsbayMd(xml, options = {}) {
69
69
  });
70
70
  return { ...result, markdown: markdown.endsWith("\n") ? markdown : `${markdown}\n` };
71
71
  }
72
- //# sourceMappingURL=markdown.js.map
package/dist/parse.d.ts CHANGED
@@ -10,4 +10,3 @@ import { type DitaParseOptions, type DitaTopicResult } from "./types.js";
10
10
  * so multi-topic (chunked) files lose nothing.
11
11
  */
12
12
  export declare function ditaTopicToTree(xml: string, options?: DitaParseOptions): DitaTopicResult;
13
- //# sourceMappingURL=parse.d.ts.map
package/dist/parse.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { checkWellFormed } from "./well-formed.js";
1
2
  import { parseDocument } from "htmlparser2";
2
3
  import { convertChildren, convertItemContent } from "./blocks.js";
3
4
  import { textOf, convertInline, trimInline, collapseWhitespace } from "./inline.js";
@@ -219,6 +220,10 @@ export function ditaTopicToTree(xml, options = {}) {
219
220
  const topicPath = options.topicPath ?? "";
220
221
  const notes = [];
221
222
  const note = (construct, detail) => notes.push({ topicPath, construct, detail });
223
+ // The parser repairs malformed XML silently: say so, with a line
224
+ const malformed = checkWellFormed(xml);
225
+ if (malformed)
226
+ note("<xml>", `not well-formed XML, line ${malformed.line}: ${malformed.message} — the converted content may be incomplete`);
222
227
  const doc = parseDocument(xml, { xmlMode: true });
223
228
  const roots = findTopicRoots(doc.children, !!options.publish);
224
229
  const root = roots[0] ?? null;
@@ -284,6 +289,10 @@ export function ditaTopicToTree(xml, options = {}) {
284
289
  continue;
285
290
  const name = child.name.toLowerCase();
286
291
  if (name === "title" || name === "glossterm") {
292
+ // The page title is plain text: a badge in it keeps only its words
293
+ if (hasBadge(child)) {
294
+ note("@outputclass", `db-badge in the topic title is plain text in the page title — put it in a section title or the body to show it`);
295
+ }
287
296
  // glossentry topics carry their title in <glossterm>
288
297
  if (options.publish) {
289
298
  // Publishing: a footnote in the title is the page's first note; the title text leaves it out
@@ -392,4 +401,5 @@ export function ditaTopicToTree(xml, options = {}) {
392
401
  }
393
402
  return { tree, meta, notes };
394
403
  }
395
- //# sourceMappingURL=parse.js.map
404
+ /** A `<ph outputclass="db-badge">` anywhere inside an element. */
405
+ const hasBadge = (el) => el.children.some((c) => isElement(c) && (/(^|\s)db-badge(\s|$)/.test(c.attribs?.outputclass ?? "") || hasBadge(c)));
@@ -8,4 +8,3 @@ export { renamedElementIds } from "./anchors.js";
8
8
  export { convertInline, trimInline, type InlineContext } from "./inline.js";
9
9
  export { PUBLISH_PREREQUISITES_MARKER, PUBLISH_RELATED_LINKS_MARKER } from "./blocks.js";
10
10
  export { publishHref, publishLabel, publishLanguage, publishString, type PublishContext, type PublishKey, type PublishStrings, } from "./types.js";
11
- //# sourceMappingURL=publish-support.d.ts.map
@@ -8,4 +8,3 @@ export { renamedElementIds } from "./anchors.js";
8
8
  export { convertInline, trimInline } from "./inline.js";
9
9
  export { PUBLISH_PREREQUISITES_MARKER, PUBLISH_RELATED_LINKS_MARKER } from "./blocks.js";
10
10
  export { publishHref, publishLabel, publishLanguage, publishString, } from "./types.js";
11
- //# sourceMappingURL=publish-support.js.map
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The closed `db-` vocabulary (plans/dita-variants-themes.md,
3
+ * plans/dita-components-phase3.md): the looks a component may take and the
4
+ * scoped themes. Tones, tab variants and themes mirror format-astro's
5
+ * tone-classes.ts, which the renderers draw from; the CLI test
6
+ * db-qualifiers.test.ts fails when they drift. Closed lists, so a Schematron
7
+ * house rule can enforce them.
8
+ */
9
+ export declare const DB_QUALIFIERS: {
10
+ readonly tones: readonly ["info", "success", "warning", "danger"];
11
+ readonly tabVariants: readonly ["pills", "underline"];
12
+ readonly themes: readonly ["dark"];
13
+ /** db-button: Button's variants (the default needs no token; `primary` is its alias). */
14
+ readonly buttonVariants: readonly ["primary", "secondary", "outline", "ghost", "link", "destructive"];
15
+ /** db-grid `cols-N` and a cell's `span-N`. */
16
+ readonly gridColumns: readonly [1, 2, 3, 4, 5, 6];
17
+ };
18
+ /** The `@outputclass` tokens of an element, `db-theme-*` (a scope, not a component) excluded. */
19
+ export declare const outputTokens: (outputclass: string | undefined) => string[];
20
+ /**
21
+ * A YouTube video id from the URL forms people paste: watch?v=, youtu.be/,
22
+ * /embed/, /shorts/, /live/. Undefined for anything else (a db-video that is
23
+ * not YouTube stays a link).
24
+ */
25
+ export declare const youtubeId: (href: string) => string | undefined;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * The closed `db-` vocabulary (plans/dita-variants-themes.md,
3
+ * plans/dita-components-phase3.md): the looks a component may take and the
4
+ * scoped themes. Tones, tab variants and themes mirror format-astro's
5
+ * tone-classes.ts, which the renderers draw from; the CLI test
6
+ * db-qualifiers.test.ts fails when they drift. Closed lists, so a Schematron
7
+ * house rule can enforce them.
8
+ */
9
+ export const DB_QUALIFIERS = {
10
+ tones: ["info", "success", "warning", "danger"],
11
+ tabVariants: ["pills", "underline"],
12
+ themes: ["dark"],
13
+ /** db-button: Button's variants (the default needs no token; `primary` is its alias). */
14
+ buttonVariants: ["primary", "secondary", "outline", "ghost", "link", "destructive"],
15
+ /** db-grid `cols-N` and a cell's `span-N`. */
16
+ gridColumns: [1, 2, 3, 4, 5, 6],
17
+ };
18
+ /** The `@outputclass` tokens of an element, `db-theme-*` (a scope, not a component) excluded. */
19
+ export const outputTokens = (outputclass) => (outputclass ?? "").split(/\s+/).filter((t) => t && !/^db-theme-/i.test(t));
20
+ /**
21
+ * A YouTube video id from the URL forms people paste: watch?v=, youtu.be/,
22
+ * /embed/, /shorts/, /live/. Undefined for anything else (a db-video that is
23
+ * not YouTube stays a link).
24
+ */
25
+ export const youtubeId = (href) => {
26
+ let url;
27
+ try {
28
+ url = new URL(href);
29
+ }
30
+ catch {
31
+ return undefined;
32
+ }
33
+ const host = url.hostname.replace(/^(www|m)\./, "");
34
+ const id = host === "youtu.be"
35
+ ? url.pathname.slice(1).split("/")[0]
36
+ : host === "youtube.com" || host === "youtube-nocookie.com"
37
+ ? url.searchParams.get("v") ?? /^\/(?:embed|shorts|live)\/([^/]+)/.exec(url.pathname)?.[1]
38
+ : undefined;
39
+ return id && /^[A-Za-z0-9_-]{6,20}$/.test(id) ? id : undefined;
40
+ };
package/dist/types.d.ts CHANGED
@@ -166,4 +166,3 @@ export declare const relativeIncludePath: (fromDir: string, targetFile: string)
166
166
  /** A link to a DITA topic as a page link: `renameDitaHref`, or the publisher's renaming, which also knows repeated element ids. */
167
167
  export declare const publishHref: (publish: PublishContext | undefined, href: string) => string;
168
168
  export declare const renameDitaHref: (href: string) => string;
169
- //# sourceMappingURL=types.d.ts.map
package/dist/types.js CHANGED
@@ -71,4 +71,3 @@ export const renameDitaHref = (href) => {
71
71
  ? `${renamed}#${parts.slice(1).join("/")}`
72
72
  : `${renamed}#${fragment}`;
73
73
  };
74
- //# sourceMappingURL=types.js.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A well-formedness check for a topic's XML. htmlparser2 (xmlMode) is
3
+ * lenient: an unclosed element is closed for you and a stray end tag is
4
+ * dropped, so a malformed topic converts to a plausible partial tree with no
5
+ * sign of trouble. This scans the tags (skipping comments, CDATA, processing
6
+ * instructions and the DOCTYPE, quotes respected) and reports the FIRST
7
+ * problem with its line, which the converter puts on the note ledger.
8
+ * It checks tag balance and names, not the DTD.
9
+ */
10
+ export interface WellFormedProblem {
11
+ line: number;
12
+ message: string;
13
+ }
14
+ export declare function checkWellFormed(xml: string): WellFormedProblem | undefined;
@@ -0,0 +1,110 @@
1
+ // XML names are Unicode (<über>, <ñ>), not ASCII
2
+ const NAME = /^[\p{L}_:][\p{L}\p{M}\p{N}_:.\-\u00B7]*/u;
3
+ export function checkWellFormed(xml) {
4
+ const stack = [];
5
+ let line = 1;
6
+ let i = 0;
7
+ let roots = 0;
8
+ const advance = (to) => {
9
+ // \n, \r\n and a lone \r (old Mac files) each end a line
10
+ for (let k = i; k < to; k++) {
11
+ const c = xml.charCodeAt(k);
12
+ if (c === 10 || (c === 13 && xml.charCodeAt(k + 1) !== 10))
13
+ line++;
14
+ }
15
+ i = to;
16
+ };
17
+ const skipTo = (end, what) => {
18
+ const at = xml.indexOf(end, i);
19
+ if (at < 0)
20
+ return { line, message: `unterminated ${what}` };
21
+ advance(at + end.length);
22
+ return undefined;
23
+ };
24
+ while (i < xml.length) {
25
+ const lt = xml.indexOf("<", i);
26
+ if (lt < 0) {
27
+ advance(xml.length);
28
+ break;
29
+ }
30
+ if (!stack.length && roots > 0 && xml.slice(i, lt).trim())
31
+ return { line, message: "text after the root element" };
32
+ advance(lt);
33
+ let p;
34
+ if (xml.startsWith("<!--", i))
35
+ p = skipTo("-->", "comment");
36
+ else if (xml.startsWith("<![CDATA[", i))
37
+ p = skipTo("]]>", "CDATA section");
38
+ else if (xml.startsWith("<?", i))
39
+ p = skipTo("?>", "processing instruction");
40
+ else if (xml.startsWith("<!", i)) {
41
+ // <!DOCTYPE …>, possibly with an internal subset in [ … ]: quoted
42
+ // literals ("a[b.dtd", an ENTITY value holding '>') are skipped
43
+ let k = i + 2, quote = "", subset = false;
44
+ for (; k < xml.length; k++) {
45
+ const c = xml[k];
46
+ if (quote) {
47
+ if (c === quote)
48
+ quote = "";
49
+ }
50
+ else if (c === '"' || c === "'")
51
+ quote = c;
52
+ else if (c === "[")
53
+ subset = true;
54
+ else if (c === "]")
55
+ subset = false;
56
+ else if (c === ">" && !subset)
57
+ break;
58
+ }
59
+ if (k >= xml.length)
60
+ return { line, message: "unterminated DOCTYPE" };
61
+ advance(k + 1);
62
+ }
63
+ else {
64
+ const start = line;
65
+ const closing = xml[i + 1] === "/";
66
+ const name = NAME.exec(xml.slice(i + (closing ? 2 : 1)))?.[0];
67
+ if (!name)
68
+ return { line, message: "a '<' that starts no tag (write &lt; in text)" };
69
+ // The tag's end, past quoted attribute values (which may hold '>')
70
+ let k = i + (closing ? 2 : 1) + name.length;
71
+ let quote = "";
72
+ for (; k < xml.length; k++) {
73
+ const c = xml[k];
74
+ if (quote) {
75
+ if (c === quote)
76
+ quote = "";
77
+ }
78
+ else if (c === '"' || c === "'")
79
+ quote = c;
80
+ else if (c === "<")
81
+ return { line: start, message: `<${closing ? "/" : ""}${name}> is not closed with '>'` };
82
+ else if (c === ">")
83
+ break;
84
+ }
85
+ if (k >= xml.length)
86
+ return { line: start, message: `<${closing ? "/" : ""}${name}> is not closed with '>'` };
87
+ const selfClosing = !closing && xml[k - 1] === "/";
88
+ advance(k + 1);
89
+ if (closing) {
90
+ const open = stack.pop();
91
+ if (!open)
92
+ return { line: start, message: `</${name}> has no matching start tag` };
93
+ if (open.name !== name)
94
+ return { line: start, message: `</${name}> closes <${open.name}> (opened on line ${open.line})` };
95
+ }
96
+ else {
97
+ if (!stack.length && roots++ > 0)
98
+ return { line: start, message: `<${name}>: a second root element` };
99
+ if (!selfClosing)
100
+ stack.push({ name, line: start });
101
+ }
102
+ }
103
+ if (p)
104
+ return p;
105
+ }
106
+ const open = stack.pop();
107
+ if (open)
108
+ return { line: open.line, message: `<${open.name}> is never closed` };
109
+ return undefined;
110
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dogsbay/format-dita",
3
- "version": "0.2.0-beta.121",
4
- "description": "DITA topic XML → TreeNode importer with conversion-note ledger; composes with format-dogsbay-md for .dita → .md migration",
3
+ "version": "0.2.0-beta.123",
4
+ "description": "DITA topic XML → TreeNode importer with conversion-note ledger; composes with format-dogsbay-md for .dita → .md migration. Browser-safe: no Node built-ins",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -21,14 +21,15 @@
21
21
  ],
22
22
  "devDependencies": {
23
23
  "@types/node": "^25.9.5",
24
+ "esbuild": "0.28.1",
24
25
  "typescript": "^5.9.3",
25
26
  "vitest": "^4.1.10"
26
27
  },
27
28
  "dependencies": {
28
29
  "domhandler": "^5.0.3",
29
30
  "htmlparser2": "^10.1.0",
30
- "@dogsbay/format-dogsbay-md": "0.2.0-beta.121",
31
- "@dogsbay/types": "0.2.0-beta.121"
31
+ "@dogsbay/format-dogsbay-md": "0.2.0-beta.123",
32
+ "@dogsbay/types": "0.2.0-beta.123"
32
33
  },
33
34
  "license": "MIT",
34
35
  "repository": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"anchors.d.ts","sourceRoot":"","sources":["../src/anchors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,YAAY,CAAC;AAKnD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,EAAE,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAqBtE,CAAC;AAEF,6GAA6G;AAC7G,eAAO,MAAM,QAAQ,GAAI,KAAK;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,EAAE,IAAI,MAAM,KAAG,MACjB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"anchors.js","sourceRoot":"","sources":["../src/anchors.ts"],"names":[],"mappings":"AASA,MAAM,SAAS,GAAG,CAAC,IAAa,EAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;AAC1E,MAAM,OAAO,GAAG,CAAC,EAAW,EAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AAEnG;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAgB,EAAuB,EAAE;IACzE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,IAAe,EAAE,OAA2B,EAAQ,EAAE;QACnE,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC7B,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChB,KAAK,CAAC,EAAE,CAAC,QAAqB,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1B,IAAI,EAAE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACjC,IAAI,KAAK,KAAK,SAAS;oBAAE,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;qBAChD,IAAI,KAAK,KAAK,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,KAAK,CAAC,EAAE,CAAC,QAAqB,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,6GAA6G;AAC7G,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAA0D,EAAE,EAAU,EAAU,EAAE,CACzG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../src/blocks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EASL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAA6D,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGtI,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA4CD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,gBAAgB,EACzB,MAAM,iBAAiB,EACvB,cAAc,MAAM,KACnB,MAOF,CAAC;AAkeF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,OAAO,EACf,KAAK,YAAY,KAChB;IAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAAC,QAAQ,EAAE,QAAQ,EAAE,CAAA;CA4BrD,CAAC;AAwCF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,IAAI,OAAO,EAAE,KAAK,YAAY,KAAG,QAAQ,EAQ3E,CAAC;AAUF,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAE7E,qGAAqG;AACrG,eAAO,MAAM,4BAA4B,QAA4C,CAAC;AAiHtF,mFAAmF;AACnF,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,OAAmC,CAAC;AAKjF;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,GAAG,QAAQ,EAAE,CAcvE;AAoaD,wBAAgB,eAAe,CAC7B,EAAE,EAAE,OAAO,EACX,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,GAAG,CAAC,MAAM,CAAa,GAC5B,QAAQ,EAAE,CA6BZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../src/blocks.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"conref.d.ts","sourceRoot":"","sources":["../src/conref.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE;AAED,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,kEAAkE;IAClE,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AA2GD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,UAAU,CA0MjE"}