@cudoment/cudoc 0.4.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.
Files changed (72) hide show
  1. package/README.md +1 -1
  2. package/dist/document.d.ts +11 -1
  3. package/dist/document.d.ts.map +1 -1
  4. package/dist/document.js +33 -2
  5. package/dist/document.js.map +1 -1
  6. package/dist/internal/core/mdx/imports.d.ts +21 -0
  7. package/dist/internal/core/mdx/imports.d.ts.map +1 -0
  8. package/dist/internal/core/mdx/imports.js +80 -0
  9. package/dist/internal/core/mdx/imports.js.map +1 -0
  10. package/dist/internal/core/mdx/index.d.ts +1 -0
  11. package/dist/internal/core/mdx/index.d.ts.map +1 -1
  12. package/dist/internal/core/mdx/index.js +1 -0
  13. package/dist/internal/core/mdx/index.js.map +1 -1
  14. package/dist/internal/transforms/table-column-layout/create-table.d.ts.map +1 -1
  15. package/dist/internal/transforms/table-column-layout/create-table.js +40 -17
  16. package/dist/internal/transforms/table-column-layout/create-table.js.map +1 -1
  17. package/dist/internal/transforms/table-column-layout/index.d.ts +32 -0
  18. package/dist/internal/transforms/table-column-layout/index.d.ts.map +1 -1
  19. package/dist/internal/transforms/table-column-layout/index.js +66 -0
  20. package/dist/internal/transforms/table-column-layout/index.js.map +1 -1
  21. package/dist/markdown.d.ts +8 -0
  22. package/dist/markdown.d.ts.map +1 -1
  23. package/dist/markdown.js +9 -1
  24. package/dist/markdown.js.map +1 -1
  25. package/dist/node/check.d.ts +6 -3
  26. package/dist/node/check.d.ts.map +1 -1
  27. package/dist/node/check.js +101 -23
  28. package/dist/node/check.js.map +1 -1
  29. package/dist/node/cli.js +26 -1
  30. package/dist/node/cli.js.map +1 -1
  31. package/dist/node/dataset.d.ts +14 -1
  32. package/dist/node/dataset.d.ts.map +1 -1
  33. package/dist/node/dataset.js +40 -4
  34. package/dist/node/dataset.js.map +1 -1
  35. package/dist/node/glob.d.ts +21 -0
  36. package/dist/node/glob.d.ts.map +1 -0
  37. package/dist/node/glob.js +61 -0
  38. package/dist/node/glob.js.map +1 -0
  39. package/dist/node/library.d.ts +70 -4
  40. package/dist/node/library.d.ts.map +1 -1
  41. package/dist/node/library.js +196 -32
  42. package/dist/node/library.js.map +1 -1
  43. package/dist/node/local-target.d.ts +28 -8
  44. package/dist/node/local-target.d.ts.map +1 -1
  45. package/dist/node/local-target.js +41 -12
  46. package/dist/node/local-target.js.map +1 -1
  47. package/dist/node/prepare-embeds.d.ts +16 -2
  48. package/dist/node/prepare-embeds.d.ts.map +1 -1
  49. package/dist/node/prepare-embeds.js +41 -5
  50. package/dist/node/prepare-embeds.js.map +1 -1
  51. package/dist/node/resolve-embed.d.ts +79 -1
  52. package/dist/node/resolve-embed.d.ts.map +1 -1
  53. package/dist/node/resolve-embed.js +251 -43
  54. package/dist/node/resolve-embed.js.map +1 -1
  55. package/dist/node/roots.d.ts +67 -0
  56. package/dist/node/roots.d.ts.map +1 -0
  57. package/dist/node/roots.js +134 -0
  58. package/dist/node/roots.js.map +1 -0
  59. package/dist/node/storage.d.ts +21 -3
  60. package/dist/node/storage.d.ts.map +1 -1
  61. package/dist/node/storage.js +41 -12
  62. package/dist/node/storage.js.map +1 -1
  63. package/dist/node/watch.d.ts +81 -0
  64. package/dist/node/watch.d.ts.map +1 -0
  65. package/dist/node/watch.js +140 -0
  66. package/dist/node/watch.js.map +1 -0
  67. package/dist/paged.d.ts +34 -0
  68. package/dist/paged.d.ts.map +1 -0
  69. package/dist/paged.js +44 -0
  70. package/dist/paged.js.map +1 -0
  71. package/package.json +15 -2
  72. package/styles.css +5 -2
@@ -4,9 +4,64 @@ import { parse as parseYaml } from "yaml";
4
4
  import { collectSections } from "../sections.js";
5
5
  import { nodeText, visibleHeadingText } from "../document.js";
6
6
  import { compileDocument } from "../markdown.js";
7
+ import { findHeadingByAnchorId, findParentHeading, getHeadingAnchorId, } from "../internal/core/query/sections.js";
8
+ import { sourceFileOf } from "./roots.js";
7
9
  const SPEC_KEYS = ["sources", "select", "render", "replace"];
8
10
  const SELECTION_KEYS = ["anchors", "titles", "depth", "includeChildren"];
9
11
  const REPLACEMENT_KEYS = ["find", "replace", "regex", "flags"];
12
+ const COLUMN_KEYS = ["header", "value", "link", "minWidth"];
13
+ const CELL_KEYS = ["table", "row", "column", "skipTablesWithHeaders"];
14
+ const SHORTHAND_COLUMNS = ["title", "link", "summary"];
15
+ const CELL_LINKS = ["section", "parent", "document"];
16
+ /** A CSS length a header cell can carry: a number and a unit, nothing else. */
17
+ const CSS_LENGTH = /^\d+(?:\.\d+)?(?:px|rem|em|ch|%)$/;
18
+ const validateColumn = (column, at) => {
19
+ if (typeof column === "string") {
20
+ if (!SHORTHAND_COLUMNS.includes(column))
21
+ throw new Error(`cudoc: ${at}: unknown column "${column}". Known columns: ${SHORTHAND_COLUMNS.join(", ")}, or a mapping with value`);
22
+ return;
23
+ }
24
+ if (!column || typeof column !== "object" || Array.isArray(column))
25
+ throw new Error(`cudoc: ${at} must be a column name or a mapping`);
26
+ const entry = column;
27
+ for (const key of Object.keys(entry))
28
+ if (!COLUMN_KEYS.includes(key))
29
+ throw new Error(`cudoc: ${at}: unknown key "${key}". Known keys: ${COLUMN_KEYS.join(", ")}`);
30
+ if (entry.header !== undefined && typeof entry.header !== "string")
31
+ throw new Error(`cudoc: ${at}.header must be a string`);
32
+ if (entry.link !== undefined && !CELL_LINKS.includes(entry.link))
33
+ throw new Error(`cudoc: ${at}.link must be one of ${CELL_LINKS.join(", ")}`);
34
+ if (entry.minWidth !== undefined &&
35
+ (typeof entry.minWidth !== "string" || !CSS_LENGTH.test(entry.minWidth)))
36
+ throw new Error(`cudoc: ${at}.minWidth must be a CSS length such as 120px or 8rem`);
37
+ const value = entry.value;
38
+ if (typeof value === "string") {
39
+ if (!["title", "summary", "parent"].includes(value))
40
+ throw new Error(`cudoc: ${at}.value: unknown value "${value}". Known values: title, summary, parent, a cell coordinate mapping, or { extractor }`);
41
+ return;
42
+ }
43
+ if (!value || typeof value !== "object" || Array.isArray(value))
44
+ throw new Error(`cudoc: ${at}.value is required`);
45
+ const cell = value;
46
+ if ("extractor" in cell) {
47
+ if (Object.keys(cell).length !== 1 || typeof cell.extractor !== "string")
48
+ throw new Error(`cudoc: ${at}.value.extractor must be a name and nothing else`);
49
+ return;
50
+ }
51
+ for (const key of Object.keys(cell))
52
+ if (!CELL_KEYS.includes(key))
53
+ throw new Error(`cudoc: ${at}.value: unknown key "${key}". Known keys: ${CELL_KEYS.join(", ")}, or extractor`);
54
+ for (const key of ["row", "column"])
55
+ if (!Number.isInteger(cell[key]) || cell[key] < 0)
56
+ throw new Error(`cudoc: ${at}.value.${key} must be a non-negative integer`);
57
+ if (cell.table !== undefined &&
58
+ (!Number.isInteger(cell.table) || cell.table < 0))
59
+ throw new Error(`cudoc: ${at}.value.table must be a non-negative integer`);
60
+ if (cell.skipTablesWithHeaders !== undefined &&
61
+ (!Array.isArray(cell.skipTablesWithHeaders) ||
62
+ cell.skipTablesWithHeaders.some((h) => typeof h !== "string")))
63
+ throw new Error(`cudoc: ${at}.value.skipTablesWithHeaders must be strings`);
64
+ };
10
65
  export function parseEmbedSpec(value) {
11
66
  const spec = parseYaml(value, { maxAliasCount: 100 });
12
67
  if (!spec || typeof spec !== "object" || Array.isArray(spec))
@@ -18,14 +73,21 @@ export function parseEmbedSpec(value) {
18
73
  !spec.sources.length ||
19
74
  spec.sources.some((s) => typeof s !== "string" || !s))
20
75
  throw new Error("cudoc: embed sources must be a non-empty string array");
21
- if (spec.render &&
22
- spec.render !== "section" &&
23
- (spec.render.type !== "table" ||
24
- (spec.render.columns !== undefined &&
25
- (!Array.isArray(spec.render.columns) ||
26
- !spec.render.columns.length ||
27
- spec.render.columns.some((c) => !["title", "link", "summary"].includes(c))))))
28
- throw new Error("cudoc: invalid embed render configuration");
76
+ if (spec.render !== undefined && spec.render !== "section") {
77
+ if (!spec.render ||
78
+ typeof spec.render !== "object" ||
79
+ Array.isArray(spec.render) ||
80
+ spec.render.type !== "table")
81
+ throw new Error('cudoc: render must be "section" or a mapping with type: table');
82
+ for (const key of Object.keys(spec.render))
83
+ if (!["type", "columns"].includes(key))
84
+ throw new Error(`cudoc: render: unknown key "${key}". Known keys: type, columns`);
85
+ if (spec.render.columns !== undefined) {
86
+ if (!Array.isArray(spec.render.columns) || !spec.render.columns.length)
87
+ throw new Error("cudoc: render.columns must be a non-empty array");
88
+ spec.render.columns.forEach((column, index) => validateColumn(column, `render.columns[${index}]`));
89
+ }
90
+ }
29
91
  if (spec.select) {
30
92
  if (typeof spec.select !== "object" || Array.isArray(spec.select))
31
93
  throw new Error("cudoc: select must be a mapping");
@@ -162,9 +224,9 @@ function transformedSection(document, anchor, tree, rules, library, includeChild
162
224
  return library.compiler
163
225
  ? library.compiler(source, {
164
226
  id: document.id,
165
- filePath: library.sourceRoot
166
- ? path.resolve(library.sourceRoot, document.sourcePath)
167
- : document.sourcePath,
227
+ filePath: (library.roots &&
228
+ sourceFileOf(library.roots, document.sourcePath)) ??
229
+ document.sourcePath,
168
230
  options,
169
231
  }).tree
170
232
  : compileDocument(source, options).tree;
@@ -262,6 +324,170 @@ function rebase(tree, document, library, prefix) {
262
324
  attrs[key] = sourceUrl(attrs[key]);
263
325
  });
264
326
  }
327
+ /** The default columns of a summary table, as they have always been. */
328
+ export const DEFAULT_TABLE_COLUMNS = ["title", "link", "summary"];
329
+ /** A shorthand column written out as the mapping it stands for. */
330
+ const columnSpec = (column) => {
331
+ if (column === "title")
332
+ return { header: "title", value: "title" };
333
+ if (column === "link")
334
+ return { header: "link", value: "title", link: "section" };
335
+ if (column === "summary")
336
+ return { header: "summary", value: "summary" };
337
+ return {
338
+ header: column.header ?? (typeof column.value === "string" ? column.value : ""),
339
+ value: column.value,
340
+ link: column.link,
341
+ minWidth: column.minWidth,
342
+ };
343
+ };
344
+ /**
345
+ * One row for a selected section: what it is called, where it lives and which
346
+ * heading introduces the part of the document it sits in.
347
+ */
348
+ export function buildEmbedRow(document, anchorId, tree) {
349
+ const heading = tree.children.find((n) => n.type === "heading");
350
+ const title = heading
351
+ ? visibleHeadingText(heading)
352
+ : String(document.frontmatter.title ?? document.id);
353
+ let parent;
354
+ if (anchorId) {
355
+ const location = findHeadingByAnchorId(document.tree, anchorId);
356
+ const above = location &&
357
+ findParentHeading(location.parent, location.index, location.heading.depth);
358
+ if (above)
359
+ parent = {
360
+ title: visibleHeadingText(above),
361
+ anchorId: getHeadingAnchorId(above),
362
+ };
363
+ }
364
+ return {
365
+ document,
366
+ section: { anchorId, title, tree },
367
+ parent,
368
+ url: `${document.route}${anchorId ? `#${anchorId}` : ""}`,
369
+ };
370
+ }
371
+ /** Tables inside a section, in document order, minus those a coordinate skips. */
372
+ const sectionTables = (tree, skipHeaders) => {
373
+ const tables = [];
374
+ visitNodes(tree, (node) => {
375
+ if (node.type === "table")
376
+ tables.push(node);
377
+ });
378
+ if (!skipHeaders?.length)
379
+ return tables;
380
+ const skip = new Set(skipHeaders.map((header) => header.trim()));
381
+ return tables.filter((table) => !(table.children?.[0]?.children ?? []).some((cell) => skip.has(nodeText(cell).trim())));
382
+ };
383
+ /**
384
+ * The text and link one column shows for one row, and why it is empty when it
385
+ * is. The resolver renders the cell either way; the checker reports the
386
+ * problem, which is worded as what the column asked for and what the section
387
+ * has, so an author can tell a wrong coordinate from a missing table.
388
+ */
389
+ export function extractCell(library, column, row, context) {
390
+ const spec = columnSpec(column);
391
+ const where = `${row.document.id}${row.section.anchorId ? `#${row.section.anchorId}` : ""}`;
392
+ const linkTo = () => {
393
+ if (spec.link === "section")
394
+ return row.url;
395
+ if (spec.link === "document")
396
+ return row.document.route;
397
+ if (spec.link === "parent")
398
+ return row.parent
399
+ ? `${row.document.route}${row.parent.anchorId ? `#${row.parent.anchorId}` : ""}`
400
+ : undefined;
401
+ return undefined;
402
+ };
403
+ const finish = (text, problem, url) => ({
404
+ cell: {
405
+ text: text ?? "",
406
+ ...((url ?? linkTo()) ? { url: url ?? linkTo() } : {}),
407
+ },
408
+ ...(problem ? { problem } : {}),
409
+ });
410
+ const value = spec.value;
411
+ if (value === "title")
412
+ return finish(row.section.title);
413
+ if (value === "summary") {
414
+ const paragraph = row.section.tree.children.find((n) => n.type === "paragraph");
415
+ return paragraph
416
+ ? finish(nodeText(paragraph).trim())
417
+ : finish(undefined, `expected a paragraph in ${where}, found none`);
418
+ }
419
+ if (value === "parent")
420
+ return row.parent
421
+ ? finish(row.parent.title)
422
+ : finish(undefined, `expected a heading above ${where}, found none`);
423
+ if ("extractor" in value) {
424
+ const extractor = library.extractors?.[value.extractor];
425
+ if (!extractor)
426
+ throw new Error(`cudoc: extractor "${value.extractor}" is not registered; add it to extractors in the collection options`);
427
+ const result = extractor.extract(row, {
428
+ library,
429
+ documentId: context.documentId,
430
+ column,
431
+ });
432
+ const text = typeof result === "string" ? result : result?.text;
433
+ if (!text)
434
+ return finish(undefined, `extractor "${value.extractor}" returned nothing for ${where}`);
435
+ return finish(text, undefined, typeof result === "object" ? result.url : undefined);
436
+ }
437
+ const tables = sectionTables(row.section.tree, value.skipTablesWithHeaders);
438
+ const index = value.table ?? 0;
439
+ const table = tables[index];
440
+ if (!table)
441
+ return finish(undefined, `expected table ${index} in ${where}, found ${tables.length} table${tables.length === 1 ? "" : "s"}${value.skipTablesWithHeaders?.length ? " after skipping those headed " + value.skipTablesWithHeaders.map((h) => JSON.stringify(h)).join(", ") : ""}`);
442
+ const tableRow = table.children?.[value.row];
443
+ if (!tableRow)
444
+ return finish(undefined, `expected row ${value.row} of table ${index} in ${where}, found ${table.children?.length ?? 0} rows`);
445
+ const cell = tableRow.children?.[value.column];
446
+ if (!cell)
447
+ return finish(undefined, `expected column ${value.column} of row ${value.row} in table ${index} of ${where}, found ${tableRow.children?.length ?? 0} cells`);
448
+ const text = nodeText(cell).trim();
449
+ return text
450
+ ? finish(text)
451
+ : finish(undefined, `cell ${value.row}:${value.column} of table ${index} in ${where} is empty`);
452
+ }
453
+ /** The mdast table the extracted cells make, header cells carrying any width. */
454
+ export function buildEmbedTable(library, columns, rows, context) {
455
+ const cell = (value, style) => ({
456
+ type: "tableCell",
457
+ children: value.url
458
+ ? [
459
+ {
460
+ type: "link",
461
+ url: value.url,
462
+ children: [{ type: "text", value: value.text }],
463
+ },
464
+ ]
465
+ : [{ type: "text", value: value.text }],
466
+ ...(style ? { data: { hProperties: { style } } } : {}),
467
+ });
468
+ return {
469
+ type: "root",
470
+ children: [
471
+ {
472
+ type: "table",
473
+ align: columns.map(() => null),
474
+ children: [
475
+ {
476
+ type: "tableRow",
477
+ children: columns.map((column) => {
478
+ const spec = columnSpec(column);
479
+ return cell({ text: spec.header }, spec.minWidth ? `min-width: ${spec.minWidth}` : undefined);
480
+ }),
481
+ },
482
+ ...rows.map((row) => ({
483
+ type: "tableRow",
484
+ children: columns.map((column) => cell(extractCell(library, column, row, context).cell)),
485
+ })),
486
+ ],
487
+ },
488
+ ],
489
+ };
490
+ }
265
491
  /** Resolve a configured embed from immutable persisted documents. */
266
492
  export function resolveEmbed(library, input, context) {
267
493
  const spec = parseEmbedSpec(JSON.stringify(input));
@@ -273,11 +499,15 @@ export function resolveEmbed(library, input, context) {
273
499
  idsInNode(node).forEach((id) => reserved.add(id));
274
500
  });
275
501
  const active = [];
502
+ // Every document a block read, so a later preparation can tell whether the
503
+ // block is still current; `*` when an extractor ran, which may read anything.
504
+ const dependencies = new Set();
276
505
  const expand = (spec, from) => {
277
506
  const children = [];
278
507
  const rows = [];
279
508
  for (const source of spec.sources) {
280
509
  const { document, anchor } = resolveDocumentReference(library, source, from);
510
+ dependencies.add(document.id);
281
511
  const key = `${document.id}#${anchor ?? "*"}`;
282
512
  if (active.includes(key) || active.length >= 64)
283
513
  throw new Error(`cudoc: cyclic embed: ${[...active, key].join(" -> ")}`);
@@ -310,15 +540,9 @@ export function resolveEmbed(library, input, context) {
310
540
  });
311
541
  };
312
542
  expandNodes(section);
313
- const paragraph = section.children.find((n) => n.type === "paragraph");
314
- const heading = section.children.find((n) => n.type === "heading");
315
- rows.push({
316
- title: heading
317
- ? visibleHeadingText(heading)
318
- : selectedSection.title,
319
- link: `${document.route}${selectedSection.anchorId ? `#${selectedSection.anchorId}` : ""}`,
320
- summary: paragraph ? nodeText(paragraph) : "",
321
- });
543
+ // Rows read the section before its ids are rebased, so a cell's link
544
+ // points into the source document rather than at the copy.
545
+ rows.push(buildEmbedRow(document, selectedSection.anchorId, structuredClone(section)));
322
546
  let prefix;
323
547
  const sectionIds = [];
324
548
  visitNodes(section, (node) => {
@@ -337,29 +561,12 @@ export function resolveEmbed(library, input, context) {
337
561
  }
338
562
  }
339
563
  if (spec.render && spec.render !== "section") {
340
- const columns = spec.render.columns ?? ["title", "link", "summary"];
341
- const cell = (value, url) => ({
342
- type: "tableCell",
343
- children: url
344
- ? [{ type: "link", url, children: [{ type: "text", value }] }]
345
- : [{ type: "text", value }],
346
- });
347
- return {
348
- type: "root",
349
- children: [
350
- {
351
- type: "table",
352
- align: columns.map(() => null),
353
- children: [
354
- { type: "tableRow", children: columns.map((c) => cell(c)) },
355
- ...rows.map((row) => ({
356
- type: "tableRow",
357
- children: columns.map((c) => cell(c === "link" ? row.title : row[c], c === "link" ? row.link : undefined)),
358
- })),
359
- ],
360
- },
361
- ],
362
- };
564
+ const columns = spec.render.columns ?? DEFAULT_TABLE_COLUMNS;
565
+ if (columns.some((column) => typeof column === "object" &&
566
+ typeof column.value === "object" &&
567
+ "extractor" in column.value))
568
+ dependencies.add("*");
569
+ return buildEmbedTable(library, columns, rows, context);
363
570
  }
364
571
  return { type: "root", children };
365
572
  };
@@ -367,6 +574,7 @@ export function resolveEmbed(library, input, context) {
367
574
  result.data = {
368
575
  ...result.data,
369
576
  cudocEmbedPrefix: `cudoc-${encodeURIComponent(context.documentId)}-${context.prefix ?? "embed"}-`,
577
+ cudocDependencies: [...dependencies].sort(),
370
578
  };
371
579
  return result;
372
580
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-embed.js","sourceRoot":"","sources":["../../src/node/resolve-embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-embed.js","sourceRoot":"","sources":["../../src/node/resolve-embed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Where documents come from, and how a library path maps back to a file.
3
+ *
4
+ * A library has one coordinate system: the library path, which is a root's
5
+ * `base` followed by the file's path under that root. Document ids, links,
6
+ * embed sources and the checker all speak that system, so a project can
7
+ * collect `content/` under `docs` and `glossary/` under `terms` and have
8
+ * `/docs/guide` and `/terms/token` mean what they mean on the site. These
9
+ * helpers are the one place that knows which directory a library path lives
10
+ * in, so nothing else has to.
11
+ */
12
+ /** A directory to collect and the path segment(s) its documents sit under. */
13
+ export type SourceRoot = {
14
+ /** Directory scanned for `.md` and `.mdx` files. */
15
+ dir: string;
16
+ /**
17
+ * Segment(s) prefixed to every document id from this root, such as `docs`
18
+ * for documents served under `/docs`. Empty or omitted puts the root's
19
+ * documents at the top of the library.
20
+ */
21
+ base?: string;
22
+ };
23
+ /** A root as the library holds it: absolute directory, normalized base. */
24
+ export type ResolvedRoot = {
25
+ dir: string;
26
+ base: string;
27
+ };
28
+ /** `/docs/` and `docs` are the same base; `..`, `?` and `#` never are one. */
29
+ export declare function normalizeBase(base: string | undefined): string;
30
+ /**
31
+ * The roots a collection or a consumer was given. `sourceRoot` is the
32
+ * single-root shorthand for `roots: [{ dir: sourceRoot }]`; giving both is an
33
+ * error rather than a merge, because the two spell the same thing.
34
+ */
35
+ export declare function resolveRoots(options: {
36
+ sourceRoot?: string;
37
+ roots?: SourceRoot[];
38
+ }): ResolvedRoot[];
39
+ /** `base/relative`, or just `relative` for a root at the top. */
40
+ export declare const libraryPath: (root: ResolvedRoot, relative: string) => string;
41
+ /**
42
+ * The library path of a file, from the innermost root that contains it.
43
+ *
44
+ * Nested root directories are allowed — a project may collect `docs/` and
45
+ * give `docs/api/` its own base — and the deeper one owns the file.
46
+ */
47
+ export declare function libraryPathOf(roots: readonly ResolvedRoot[], file: string): string | undefined;
48
+ /** The document id a file collects as: its library path without the extension. */
49
+ export declare const documentIdOf: (roots: readonly ResolvedRoot[], file: string) => string | undefined;
50
+ /**
51
+ * Every file a library path could name, most specific base first.
52
+ *
53
+ * Two roots may share a base, and one base may extend another, so the answer
54
+ * is a list: the caller that wants the file that exists checks each, and the
55
+ * caller that wants to know whether the path could exist at all takes the
56
+ * first. A path that would escape a root's directory is left out.
57
+ */
58
+ export declare function candidateFiles(roots: readonly ResolvedRoot[], target: string): string[];
59
+ /**
60
+ * The file a library path names, preferring one that exists.
61
+ *
62
+ * When none exists — the caller is about to compile a slice of a document
63
+ * that has since been deleted, say — the first candidate is returned so an
64
+ * error names a real location.
65
+ */
66
+ export declare function sourceFileOf(roots: readonly ResolvedRoot[], target: string): string | undefined;
67
+ //# sourceMappingURL=roots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roots.d.ts","sourceRoot":"","sources":["../../src/node/roots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,8EAA8E;AAC9E,MAAM,MAAM,UAAU,GAAG;IACvB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,2EAA2E;AAC3E,MAAM,MAAM,YAAY,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAExD,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAY9D;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE;IACpC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;CACrB,GAAG,YAAY,EAAE,CAqBjB;AAeD,iEAAiE;AACjE,eAAO,MAAM,WAAW,GAAI,MAAM,YAAY,EAAE,UAAU,MAAM,KAAG,MAChB,CAAA;AAEnD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAWpB;AAED,kFAAkF;AAClF,eAAO,MAAM,YAAY,GACvB,OAAO,SAAS,YAAY,EAAE,EAC9B,MAAM,MAAM,KACX,MAAM,GAAG,SAAgE,CAAA;AAW5E;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CAeV;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAGpB"}