rspress-plugin-api-extractor 0.1.2 → 0.2.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 +2 -2
- package/api-extracted-package.js +426 -0
- package/build-program.js +120 -0
- package/build-stages.js +664 -0
- package/category-resolver.js +50 -0
- package/code-post-processor.js +38 -0
- package/config-helpers.js +106 -0
- package/config-utils.js +258 -0
- package/content-hash.js +79 -0
- package/errors.js +29 -0
- package/formatter.js +69 -0
- package/hide-cut-transformer.js +96 -0
- package/index.d.ts +901 -831
- package/index.js +4 -6128
- package/layers/ConfigServiceLive.js +377 -0
- package/layers/ObservabilityLive.js +136 -0
- package/layers/PathDerivationServiceLive.js +16 -0
- package/layers/SnapshotServiceLive.js +94 -0
- package/layers/TypeRegistryServiceLive.js +46 -0
- package/llms-processing.js +270 -0
- package/llms-program.js +262 -0
- package/loader.js +186 -0
- package/markdown/cross-linker.js +156 -0
- package/markdown/helpers.js +364 -0
- package/markdown/index.js +11 -0
- package/markdown/page-generators/class-page.js +357 -0
- package/markdown/page-generators/enum-page.js +152 -0
- package/markdown/page-generators/function-page.js +127 -0
- package/markdown/page-generators/index-pages.js +27 -0
- package/markdown/page-generators/interface-page.js +307 -0
- package/markdown/page-generators/namespace-page.js +280 -0
- package/markdown/page-generators/type-alias-page.js +110 -0
- package/markdown/page-generators/variable-page.js +110 -0
- package/markdown/shiki-utils.js +48 -0
- package/migrations/001_create_snapshots.js +25 -0
- package/model-loader.js +95 -0
- package/multi-entry-resolver.js +70 -0
- package/og-resolver.js +271 -0
- package/package.json +63 -73
- package/path-derivation.js +48 -0
- package/plugin.js +218 -0
- package/prettier-formatter.js +73 -0
- package/public/tsconfig/rspress.json +44 -0
- package/remark-api-codeblocks.js +130 -0
- package/remark-with-api.js +172 -0
- package/route-collisions.js +52 -0
- package/runtime/components/ApiExample/index.js +29 -25
- package/runtime/components/ApiLlmsPackageActions/index.js +252 -323
- package/runtime/components/ApiLlmsViewOptions/index.js +269 -340
- package/runtime/components/ApiMember/index.js +49 -47
- package/runtime/components/ApiSignature/index.js +32 -28
- package/runtime/components/EnumMembersTable/{index_module.css → index.css} +18 -19
- package/runtime/components/EnumMembersTable/index.js +36 -67
- package/runtime/components/EnumMembersTable/index.module.js +9 -6
- package/runtime/components/ExampleBlock/{index_module.css → index.css} +2 -3
- package/runtime/components/ExampleBlock/index.js +23 -28
- package/runtime/components/ExampleBlock/index.module.js +8 -5
- package/runtime/components/MarkdownContent/index.js +26 -18
- package/runtime/components/MarkdownText/index.js +28 -22
- package/runtime/components/MemberSignature/{index_module.css → index.css} +5 -6
- package/runtime/components/MemberSignature/index.js +46 -46
- package/runtime/components/MemberSignature/index.module.js +9 -6
- package/runtime/components/ParametersTable/{index_module.css → index.css} +19 -20
- package/runtime/components/ParametersTable/index.js +36 -67
- package/runtime/components/ParametersTable/index.module.js +9 -6
- package/runtime/components/SignatureBlock/{index_module.css → index.css} +5 -6
- package/runtime/components/SignatureBlock/index.js +30 -29
- package/runtime/components/SignatureBlock/index.module.js +9 -6
- package/runtime/components/SignatureCode/{index_module.css → index.css} +9 -10
- package/runtime/components/SignatureCode/index.js +40 -32
- package/runtime/components/SignatureCode/index.module.js +9 -6
- package/runtime/components/SignatureToolbar/{index_module.css → index.css} +18 -20
- package/runtime/components/SignatureToolbar/index.js +48 -51
- package/runtime/components/SignatureToolbar/index.module.js +13 -10
- package/runtime/components/buttons/ButtonGroup.js +13 -6
- package/runtime/components/buttons/CopyCodeButton.js +40 -38
- package/runtime/components/buttons/WrapSignatureButton.js +20 -16
- package/runtime/components/buttons/{index_module.css → index.css} +5 -6
- package/runtime/components/buttons/index.module.js +8 -5
- package/runtime/components/icons/CheckIcon/index.js +20 -17
- package/runtime/components/icons/CopyIcon/index.js +20 -17
- package/runtime/components/icons/UnwrapIcon/index.js +22 -18
- package/runtime/components/icons/WrapIcon/index.js +20 -17
- package/runtime/components/shared/_twoslash.css +3 -10
- package/runtime/components/shared/variables.css +0 -3
- package/runtime/hooks/useWrapToggle.js +32 -9
- package/runtime/index.d.ts +513 -173
- package/runtime/index.js +11 -9
- package/runtime/utils/decode-hast.js +31 -16
- package/runtime/utils/hast-renderer.js +21 -7
- package/schemas/config.js +199 -0
- package/schemas/index.js +5 -0
- package/schemas/opengraph.js +26 -0
- package/schemas/performance.js +19 -0
- package/serve.js +133 -0
- package/services/ConfigService.js +7 -0
- package/services/PathDerivationService.js +7 -0
- package/services/SnapshotService.js +7 -0
- package/services/TypeRegistryService.js +7 -0
- package/shiki-transformer.js +758 -0
- package/tsconfig-parser.js +127 -0
- package/tsdoc-metadata.json +11 -11
- package/twoslash-patterns.js +87 -0
- package/twoslash-transformer.js +316 -0
- package/type-reference-extractor.js +201 -0
- package/typescript-config.js +168 -0
- package/vfs-registry.js +121 -0
- package/0~llms-program.js +0 -344
- package/runtime/components/ApiLlmsPackageActions/index.module.js +0 -2
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
//#region src/hide-cut-transformer.ts
|
|
2
|
+
/**
|
|
3
|
+
* Extract text content from a HAST line element.
|
|
4
|
+
*
|
|
5
|
+
* @param line - The line element to extract text from
|
|
6
|
+
* @returns The text content of the line
|
|
7
|
+
*/
|
|
8
|
+
function extractLineText(line) {
|
|
9
|
+
let text = "";
|
|
10
|
+
for (const child of line.children) if (child.type === "text") text += child.value;
|
|
11
|
+
else if (child.type === "element" && "children" in child) {
|
|
12
|
+
for (const grandchild of child.children) if (grandchild.type === "text") text += grandchild.value;
|
|
13
|
+
}
|
|
14
|
+
return text;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Shiki transformer that hides cut directive and all preceding lines.
|
|
18
|
+
*
|
|
19
|
+
* This transformer is used for full signature blocks (class/interface skeletons)
|
|
20
|
+
* where we want to hide hidden imports but keep the full signature visible.
|
|
21
|
+
*
|
|
22
|
+
* When `// ---cut---` is present:
|
|
23
|
+
* - All lines before and including the cut directive are hidden
|
|
24
|
+
* - Everything after the cut directive remains visible
|
|
25
|
+
*
|
|
26
|
+
* If no cut directive is found, no changes are made.
|
|
27
|
+
*/
|
|
28
|
+
const HideCutLinesTransformer = {
|
|
29
|
+
name: "hide-cut-lines",
|
|
30
|
+
code(node) {
|
|
31
|
+
const lines = node.children.filter((child) => child.type === "element" && child.tagName === "span");
|
|
32
|
+
let cutIndex = -1;
|
|
33
|
+
for (let i = 0; i < lines.length; i++) if (extractLineText(lines[i]).trim() === "// ---cut---") {
|
|
34
|
+
cutIndex = i;
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
if (cutIndex >= 0) for (let i = 0; i <= cutIndex; i++) {
|
|
38
|
+
lines[i].properties = lines[i].properties || {};
|
|
39
|
+
lines[i].properties.style = "display: none;";
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Shiki transformer that formats member signature blocks for display.
|
|
45
|
+
*
|
|
46
|
+
* Member signature blocks are generated with a 3-line structure:
|
|
47
|
+
* - Line 0: class/interface opening (e.g., `class Foo {`)
|
|
48
|
+
* - Line 1+: member signature (may span multiple lines)
|
|
49
|
+
* - Line N: closing brace (`}`)
|
|
50
|
+
*
|
|
51
|
+
* This transformer:
|
|
52
|
+
* - Detects `// ---cut---` directive and hides all preceding lines
|
|
53
|
+
* - Hides the first line (class/interface wrapper) if no cut directive
|
|
54
|
+
* - Removes left padding from the first visible member signature line
|
|
55
|
+
* - Hides the closing brace
|
|
56
|
+
*
|
|
57
|
+
* When `// ---cut---` is present:
|
|
58
|
+
* - All lines before and including the cut directive are hidden
|
|
59
|
+
* - The wrapper opening line after the cut is also hidden
|
|
60
|
+
* - Padding is removed from the first visible content line
|
|
61
|
+
*
|
|
62
|
+
* Only applies to blocks with 3+ lines to avoid affecting regular code blocks.
|
|
63
|
+
*/
|
|
64
|
+
const MemberFormatTransformer = {
|
|
65
|
+
name: "member-format",
|
|
66
|
+
code(node) {
|
|
67
|
+
const lines = node.children.filter((child) => child.type === "element" && child.tagName === "span");
|
|
68
|
+
if (lines.length < 3) return;
|
|
69
|
+
let cutIndex = -1;
|
|
70
|
+
for (let i = 0; i < lines.length; i++) if (extractLineText(lines[i]).trim() === "// ---cut---") {
|
|
71
|
+
cutIndex = i;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
if (cutIndex >= 0) {
|
|
75
|
+
for (let i = 0; i <= cutIndex + 1; i++) {
|
|
76
|
+
lines[i].properties = lines[i].properties || {};
|
|
77
|
+
lines[i].properties.style = "display: none;";
|
|
78
|
+
}
|
|
79
|
+
if (cutIndex + 2 < lines.length) {
|
|
80
|
+
lines[cutIndex + 2].properties = lines[cutIndex + 2].properties || {};
|
|
81
|
+
lines[cutIndex + 2].properties.style = "padding-left: 0;";
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
lines[0].properties = lines[0].properties || {};
|
|
85
|
+
lines[0].properties.style = "display: none;";
|
|
86
|
+
lines[1].properties = lines[1].properties || {};
|
|
87
|
+
lines[1].properties.style = "padding-left: 0;";
|
|
88
|
+
}
|
|
89
|
+
const lastIndex = lines.length - 1;
|
|
90
|
+
lines[lastIndex].properties = lines[lastIndex].properties || {};
|
|
91
|
+
lines[lastIndex].properties.style = "display: none;";
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
//#endregion
|
|
96
|
+
export { HideCutLinesTransformer, MemberFormatTransformer };
|