@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
package/dist/node/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/node/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/node/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/node/dataset.d.ts
CHANGED
|
@@ -2,12 +2,25 @@ import { type ProjectionOptions } from "../dataset.js";
|
|
|
2
2
|
export type DatasetOptions = ProjectionOptions & {
|
|
3
3
|
inputDir: string;
|
|
4
4
|
outDir: string;
|
|
5
|
+
/**
|
|
6
|
+
* The collected library the ASTs came from. Its roots tell the generator
|
|
7
|
+
* where a document's scope segment starts, and its private documents are
|
|
8
|
+
* left out. Without it, the scope is the first path segment and nothing is
|
|
9
|
+
* private.
|
|
10
|
+
*/
|
|
11
|
+
library?: string;
|
|
5
12
|
documents?: string[];
|
|
6
13
|
scopes?: string[];
|
|
7
14
|
projectionId?: string;
|
|
8
15
|
requireVersion?: boolean;
|
|
9
16
|
};
|
|
10
|
-
|
|
17
|
+
/**
|
|
18
|
+
* The segment that names a document's scope: the first one after the longest
|
|
19
|
+
* root base that prefixes the id, so `docs/ko/guide` under base `docs` and
|
|
20
|
+
* `terms/ko/token` under base `terms` both belong to `ko`.
|
|
21
|
+
*/
|
|
22
|
+
export declare const scopeOf: (id: string, bases: readonly string[]) => string;
|
|
23
|
+
export declare function generateDataset({ inputDir, outDir, library, documents, scopes, projectionId, requireVersion, ...projection }: DatasetOptions): {
|
|
11
24
|
schemaVersion: string;
|
|
12
25
|
documentCount: number;
|
|
13
26
|
documents: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/node/dataset.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../src/node/dataset.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAWlE,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG;IAC/C,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAyBD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,EAAE,OAAO,SAAS,MAAM,EAAE,KAAG,MAM9D,CAAA;AAED,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,YAAuB,EACvB,cAAqB,EACrB,GAAG,UAAU,EACd,EAAE,cAAc;;;;YAwBK,MAAM;cAAQ,MAAM;oBAAc,MAAM;;EAiC7D"}
|
package/dist/node/dataset.js
CHANGED
|
@@ -2,19 +2,53 @@ import fs from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { validateAstContract } from "../internal/core/ast/validate.js";
|
|
4
4
|
import { projectAst } from "../dataset.js";
|
|
5
|
+
import { LIBRARY_SCHEMA_VERSION } from "./library.js";
|
|
5
6
|
import { hash, sourceFiles, publishDirectory, safePath, posix, writeJson, } from "./storage.js";
|
|
6
|
-
|
|
7
|
+
/** What the generator reads from a library manifest, when it is given one. */
|
|
8
|
+
const readLibraryFacts = (library) => {
|
|
9
|
+
const manifest = JSON.parse(fs.readFileSync(path.join(library, "manifest.json"), "utf8"));
|
|
10
|
+
if (manifest.schemaVersion !== LIBRARY_SCHEMA_VERSION ||
|
|
11
|
+
!Array.isArray(manifest.roots) ||
|
|
12
|
+
!Array.isArray(manifest.documents))
|
|
13
|
+
throw new Error("cudoc: incompatible document manifest; rebuild documents");
|
|
14
|
+
return {
|
|
15
|
+
bases: manifest.roots.map((root) => root.base),
|
|
16
|
+
privateIds: new Set(manifest.documents
|
|
17
|
+
.filter((doc) => doc.private)
|
|
18
|
+
.map((doc) => doc.id)),
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* The segment that names a document's scope: the first one after the longest
|
|
23
|
+
* root base that prefixes the id, so `docs/ko/guide` under base `docs` and
|
|
24
|
+
* `terms/ko/token` under base `terms` both belong to `ko`.
|
|
25
|
+
*/
|
|
26
|
+
export const scopeOf = (id, bases) => {
|
|
27
|
+
const base = [...bases]
|
|
28
|
+
.filter((candidate) => !candidate || id.startsWith(`${candidate}/`))
|
|
29
|
+
.sort((a, b) => b.length - a.length)[0];
|
|
30
|
+
const rest = base ? id.slice(base.length + 1) : id;
|
|
31
|
+
return rest.split("/")[0];
|
|
32
|
+
};
|
|
33
|
+
export function generateDataset({ inputDir, outDir, library, documents, scopes, projectionId = "custom", requireVersion = true, ...projection }) {
|
|
34
|
+
const facts = library
|
|
35
|
+
? readLibraryFacts(library)
|
|
36
|
+
: { bases: [""], privateIds: new Set() };
|
|
7
37
|
const entries = sourceFiles(inputDir, [".json"])
|
|
8
38
|
.filter((file) => !["manifest.json", "meta.json"].includes(path.basename(file)))
|
|
9
39
|
.map((file) => ({
|
|
10
40
|
file,
|
|
11
41
|
id: posix(path.relative(inputDir, file)).replace(/\.json$/, ""),
|
|
12
42
|
}))
|
|
43
|
+
.filter((entry) => !facts.privateIds.has(entry.id))
|
|
13
44
|
.filter((entry) => (!documents || documents.includes(entry.id)) &&
|
|
14
|
-
(!scopes || scopes.includes(entry.id.
|
|
15
|
-
for (const id of documents ?? [])
|
|
45
|
+
(!scopes || scopes.includes(scopeOf(entry.id, facts.bases))));
|
|
46
|
+
for (const id of documents ?? []) {
|
|
47
|
+
if (facts.privateIds.has(id))
|
|
48
|
+
throw new Error(`cudoc: dataset document is private: ${id}`);
|
|
16
49
|
if (!entries.some((e) => e.id === id))
|
|
17
50
|
throw new Error(`cudoc: dataset document missing: ${id}`);
|
|
51
|
+
}
|
|
18
52
|
const inputs = [];
|
|
19
53
|
publishDirectory(inputDir, outDir, (staging) => {
|
|
20
54
|
for (const { file, id } of entries) {
|
|
@@ -38,7 +72,9 @@ export function generateDataset({ inputDir, outDir, documents, scopes, projectio
|
|
|
38
72
|
projectionId,
|
|
39
73
|
projection,
|
|
40
74
|
documentCount: inputs.length,
|
|
41
|
-
scopes: scopes ?? [
|
|
75
|
+
scopes: scopes ?? [
|
|
76
|
+
...new Set(entries.map((e) => scopeOf(e.id, facts.bases))),
|
|
77
|
+
],
|
|
42
78
|
documents: inputs,
|
|
43
79
|
});
|
|
44
80
|
});
|
package/dist/node/dataset.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/node/dataset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,UAAU,EAA0B,MAAM,eAAe,CAAA;AAClE,OAAO,EACL,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,KAAK,EACL,SAAS,GACV,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"dataset.js","sourceRoot":"","sources":["../../src/node/dataset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The small glob dialect collection options use to name files.
|
|
3
|
+
*
|
|
4
|
+
* Patterns are matched against a document's library path — its root base
|
|
5
|
+
* followed by its path under the root directory, in POSIX form — so one
|
|
6
|
+
* vocabulary serves `exclude`, `private` and any later option that names
|
|
7
|
+
* documents. The dialect is deliberately small: `*` and `?` within a segment,
|
|
8
|
+
* `**` for any number of segments, and a pattern without `/` matching a file
|
|
9
|
+
* or directory name anywhere. There are no brace sets, character classes or
|
|
10
|
+
* negations, because a mistyped pattern that silently matches nothing is
|
|
11
|
+
* worse than a pattern an author has to spell out.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Compiles one pattern. A trailing `**` also matches the directory itself, so
|
|
15
|
+
* a walker can prune `drafts/**` at `drafts` instead of visiting every file
|
|
16
|
+
* beneath it.
|
|
17
|
+
*/
|
|
18
|
+
export declare function globToRegExp(pattern: string): RegExp;
|
|
19
|
+
/** A predicate over library paths for a list of patterns; empty lists match nothing. */
|
|
20
|
+
export declare function globMatcher(patterns: readonly string[] | undefined, option: string): (libraryPath: string) => boolean;
|
|
21
|
+
//# sourceMappingURL=glob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/node/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2BpD;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CACzB,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACvC,MAAM,EAAE,MAAM,GACb,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAUlC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The small glob dialect collection options use to name files.
|
|
3
|
+
*
|
|
4
|
+
* Patterns are matched against a document's library path — its root base
|
|
5
|
+
* followed by its path under the root directory, in POSIX form — so one
|
|
6
|
+
* vocabulary serves `exclude`, `private` and any later option that names
|
|
7
|
+
* documents. The dialect is deliberately small: `*` and `?` within a segment,
|
|
8
|
+
* `**` for any number of segments, and a pattern without `/` matching a file
|
|
9
|
+
* or directory name anywhere. There are no brace sets, character classes or
|
|
10
|
+
* negations, because a mistyped pattern that silently matches nothing is
|
|
11
|
+
* worse than a pattern an author has to spell out.
|
|
12
|
+
*/
|
|
13
|
+
const escape = (value) => value.replace(/[.+^${}()|[\]\\]/g, "\\$&");
|
|
14
|
+
const segment = (value) => escape(value).replace(/\*/g, "[^/]*").replace(/\?/g, "[^/]");
|
|
15
|
+
/**
|
|
16
|
+
* Compiles one pattern. A trailing `**` also matches the directory itself, so
|
|
17
|
+
* a walker can prune `drafts/**` at `drafts` instead of visiting every file
|
|
18
|
+
* beneath it.
|
|
19
|
+
*/
|
|
20
|
+
export function globToRegExp(pattern) {
|
|
21
|
+
if (typeof pattern !== "string" || !pattern.trim())
|
|
22
|
+
throw new Error("cudoc: a glob pattern must be a non-empty string");
|
|
23
|
+
const segments = pattern
|
|
24
|
+
.replace(/\\/g, "/")
|
|
25
|
+
.replace(/^\.?\//, "")
|
|
26
|
+
.split("/")
|
|
27
|
+
.filter((part) => part !== "" && part !== ".");
|
|
28
|
+
if (!segments.length || segments.includes(".."))
|
|
29
|
+
throw new Error(`cudoc: invalid glob pattern: ${pattern}`);
|
|
30
|
+
if (segments.length === 1 && segments[0] !== "**")
|
|
31
|
+
return new RegExp(`(?:^|/)${segment(segments[0])}$`);
|
|
32
|
+
let source = "^";
|
|
33
|
+
let separator = false;
|
|
34
|
+
segments.forEach((part, index) => {
|
|
35
|
+
const last = index === segments.length - 1;
|
|
36
|
+
if (part === "**") {
|
|
37
|
+
if (index === 0)
|
|
38
|
+
source += last ? ".*" : "(?:.*/)?";
|
|
39
|
+
else
|
|
40
|
+
source += last ? "(?:/.*)?" : "/(?:.*/)?";
|
|
41
|
+
separator = false;
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (separator)
|
|
45
|
+
source += "/";
|
|
46
|
+
source += segment(part);
|
|
47
|
+
separator = true;
|
|
48
|
+
});
|
|
49
|
+
return new RegExp(`${source}$`);
|
|
50
|
+
}
|
|
51
|
+
/** A predicate over library paths for a list of patterns; empty lists match nothing. */
|
|
52
|
+
export function globMatcher(patterns, option) {
|
|
53
|
+
if (patterns === undefined)
|
|
54
|
+
return () => false;
|
|
55
|
+
if (!Array.isArray(patterns) ||
|
|
56
|
+
patterns.some((pattern) => typeof pattern !== "string"))
|
|
57
|
+
throw new Error(`cudoc: ${option} must be an array of glob patterns`);
|
|
58
|
+
const expressions = patterns.map(globToRegExp);
|
|
59
|
+
return (libraryPath) => expressions.some((expression) => expression.test(libraryPath));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=glob.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/node/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;AAE5E,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE,CAChC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAE9D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;IACrE,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,CAAC,CAAA;IAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAA;IAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI;QAC/C,OAAO,IAAI,MAAM,CAAC,UAAU,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAA;IACvD,IAAI,MAAM,GAAG,GAAG,CAAA;IAChB,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,KAAK,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QAC1C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,KAAK,KAAK,CAAC;gBAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAA;;gBAC9C,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAA;YAC9C,SAAS,GAAG,KAAK,CAAA;YACjB,OAAM;QACR,CAAC;QACD,IAAI,SAAS;YAAE,MAAM,IAAI,GAAG,CAAA;QAC5B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;QACvB,SAAS,GAAG,IAAI,CAAA;IAClB,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAA;AACjC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,WAAW,CACzB,QAAuC,EACvC,MAAc;IAEd,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,GAAG,EAAE,CAAC,KAAK,CAAA;IAC9C,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC;QAEvD,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,oCAAoC,CAAC,CAAA;IACvE,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC9C,OAAO,CAAC,WAAW,EAAE,EAAE,CACrB,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;AAClE,CAAC"}
|
package/dist/node/library.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { Root } from "mdast";
|
|
2
2
|
import { type CompiledDocument } from "../markdown.js";
|
|
3
3
|
import type { DocumentOptions } from "../document.js";
|
|
4
|
+
import type { TableExtractor } from "./resolve-embed.js";
|
|
5
|
+
import { type ResolvedRoot, type SourceRoot } from "./roots.js";
|
|
6
|
+
export type { SourceRoot, ResolvedRoot } from "./roots.js";
|
|
7
|
+
export { resolveRoots, documentIdOf, libraryPathOf, sourceFileOf, } from "./roots.js";
|
|
8
|
+
/** The manifest layout this build writes and `loadLibrary` accepts. */
|
|
9
|
+
export declare const LIBRARY_SCHEMA_VERSION = 2;
|
|
4
10
|
export type SourceSnapshot = {
|
|
5
11
|
text: string;
|
|
6
12
|
hash: string;
|
|
@@ -14,11 +20,19 @@ export type SourceSnapshot = {
|
|
|
14
20
|
};
|
|
15
21
|
export type StoredDocument = {
|
|
16
22
|
id: string;
|
|
23
|
+
/** The library path with its extension: the root base, then the path under the root. */
|
|
17
24
|
sourcePath: string;
|
|
18
25
|
route: string;
|
|
19
26
|
tree: Root;
|
|
20
27
|
source: SourceSnapshot;
|
|
21
28
|
frontmatter: Record<string, unknown>;
|
|
29
|
+
/**
|
|
30
|
+
* Set when a `private` pattern matched the document. It is collected and
|
|
31
|
+
* checked like any other, and left out of exports and datasets.
|
|
32
|
+
*/
|
|
33
|
+
private?: true;
|
|
34
|
+
/** Local names the document's own `import` statements bind, when it has any. */
|
|
35
|
+
imports?: string[];
|
|
22
36
|
};
|
|
23
37
|
export type DocumentCompiler = (source: string, context: {
|
|
24
38
|
id: string;
|
|
@@ -30,12 +44,41 @@ export type Library = {
|
|
|
30
44
|
documents: StoredDocument[];
|
|
31
45
|
options: DocumentOptions;
|
|
32
46
|
configuration: string;
|
|
33
|
-
|
|
47
|
+
/** Where the documents were read from. Runtime only; a loaded library has it when the caller supplies roots. */
|
|
48
|
+
roots?: ResolvedRoot[];
|
|
49
|
+
/** The base of every root, in root order, as the manifest records them. */
|
|
50
|
+
bases?: string[];
|
|
51
|
+
/** Cell extractors an embed table may name. Runtime only; their versions are in the configuration. */
|
|
52
|
+
extractors?: Record<string, TableExtractor>;
|
|
34
53
|
compiler?: DocumentCompiler;
|
|
35
54
|
asyncCompiler?: AsyncDocumentCompiler;
|
|
55
|
+
/** What an incremental build did. Runtime only; present when `previous` was given. */
|
|
56
|
+
incremental?: {
|
|
57
|
+
compiled: string[];
|
|
58
|
+
reused: string[];
|
|
59
|
+
};
|
|
36
60
|
};
|
|
37
61
|
export type BuildDocumentsOptions = DocumentOptions & {
|
|
38
|
-
|
|
62
|
+
/** One directory at the top of the library: shorthand for `roots: [{ dir }]`. */
|
|
63
|
+
sourceRoot?: string;
|
|
64
|
+
/** Directories to collect, each under its own base. Exactly one of `sourceRoot` and `roots` is given. */
|
|
65
|
+
roots?: SourceRoot[];
|
|
66
|
+
/**
|
|
67
|
+
* Glob patterns, matched against library paths, for files and directories
|
|
68
|
+
* that are not documents at all: drafts, agent notes, work folders.
|
|
69
|
+
*/
|
|
70
|
+
exclude?: string[];
|
|
71
|
+
/**
|
|
72
|
+
* Glob patterns, matched against library paths, for documents that are
|
|
73
|
+
* collected and checked but never exported or put in a dataset.
|
|
74
|
+
*/
|
|
75
|
+
private?: string[];
|
|
76
|
+
/**
|
|
77
|
+
* Functions an embed table's `{ extractor }` column may name. Each carries
|
|
78
|
+
* a `version` that enters the library configuration, so prepared embeds go
|
|
79
|
+
* stale when an extractor's output changes.
|
|
80
|
+
*/
|
|
81
|
+
extractors?: Record<string, TableExtractor>;
|
|
39
82
|
outDir?: string;
|
|
40
83
|
routeBase?: string;
|
|
41
84
|
routeSuffix?: string;
|
|
@@ -45,12 +88,35 @@ export type BuildDocumentsOptions = DocumentOptions & {
|
|
|
45
88
|
compiler?: DocumentCompiler;
|
|
46
89
|
/** Identifies external compiler/plugins/configuration for persisted metadata. */
|
|
47
90
|
compilerId?: string;
|
|
91
|
+
/**
|
|
92
|
+
* A library collected earlier. A document whose source text is unchanged
|
|
93
|
+
* is taken from it instead of compiled again, as long as the configuration
|
|
94
|
+
* hash is the same; a document that is new, changed or collected under a
|
|
95
|
+
* different configuration compiles as usual. The publication is complete
|
|
96
|
+
* either way.
|
|
97
|
+
*/
|
|
98
|
+
previous?: Library;
|
|
48
99
|
};
|
|
49
100
|
/** Collect async framework compilers before publishing or resolving any embeds. */
|
|
50
101
|
export declare function buildDocumentsAsync(options: Omit<BuildDocumentsOptions, "compiler"> & {
|
|
51
102
|
compiler: AsyncDocumentCompiler;
|
|
52
103
|
}): Promise<Library>;
|
|
53
104
|
export declare function snapshotSource(text: string, tree: Root, format: "md" | "mdx"): SourceSnapshot;
|
|
54
|
-
export declare function buildDocuments({ sourceRoot, outDir, compiler, compilerId, routeBase, routeSuffix, routes, ...options }: BuildDocumentsOptions): Library;
|
|
55
|
-
export
|
|
105
|
+
export declare function buildDocuments({ sourceRoot, roots: givenRoots, exclude, private: privatePatterns, extractors, outDir, compiler, compilerId, routeBase, routeSuffix, routes, previous, ...options }: BuildDocumentsOptions): Library;
|
|
106
|
+
export type LoadLibraryOptions = {
|
|
107
|
+
/**
|
|
108
|
+
* Keep the loaded documents in memory and reuse them while `manifest.json`
|
|
109
|
+
* is byte-for-byte unchanged. For a server that renders from the library on
|
|
110
|
+
* every request; a one-off build has nothing to gain. The documents are
|
|
111
|
+
* shared between calls, so treat them as read-only.
|
|
112
|
+
*/
|
|
113
|
+
cache?: boolean;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Reads a published library back. `roots` restores where the documents live
|
|
117
|
+
* on disk, which replacement and asset resolution need; a single directory is
|
|
118
|
+
* the shorthand for one root at the top. The bases given have to be the ones
|
|
119
|
+
* the library was collected with, because ids were derived from them.
|
|
120
|
+
*/
|
|
121
|
+
export declare function loadLibrary(outDir?: string, compiler?: DocumentCompiler, roots?: string | SourceRoot[], options?: LoadLibraryOptions): Library;
|
|
56
122
|
//# sourceMappingURL=library.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/node/library.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../src/node/library.ts"],"names":[],"mappings":"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"}
|