@fundamental-ngx/mcp 0.62.0-rc.100
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 +109 -0
- package/package.json +21 -0
- package/src/data/components.json +61370 -0
- package/src/extractors/build-metadata.d.ts +8 -0
- package/src/extractors/build-metadata.js +214 -0
- package/src/extractors/build-metadata.js.map +1 -0
- package/src/extractors/cem-extractor.d.ts +17 -0
- package/src/extractors/cem-extractor.js +434 -0
- package/src/extractors/cem-extractor.js.map +1 -0
- package/src/extractors/changelog-extractor.d.ts +6 -0
- package/src/extractors/changelog-extractor.js +118 -0
- package/src/extractors/changelog-extractor.js.map +1 -0
- package/src/extractors/description-extractor.d.ts +11 -0
- package/src/extractors/description-extractor.js +61 -0
- package/src/extractors/description-extractor.js.map +1 -0
- package/src/extractors/example-extractor.d.ts +19 -0
- package/src/extractors/example-extractor.js +70 -0
- package/src/extractors/example-extractor.js.map +1 -0
- package/src/extractors/token-extractor.d.ts +6 -0
- package/src/extractors/token-extractor.js +348 -0
- package/src/extractors/token-extractor.js.map +1 -0
- package/src/extractors/typedoc-extractor.d.ts +16 -0
- package/src/extractors/typedoc-extractor.js +580 -0
- package/src/extractors/typedoc-extractor.js.map +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/src/server.d.ts +1 -0
- package/src/server.js +796 -0
- package/src/server.js.map +1 -0
- package/src/types/component-metadata.d.ts +177 -0
- package/src/types/component-metadata.js +24 -0
- package/src/types/component-metadata.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cem-extractor.js","sourceRoot":"","sources":["../../../../../libs/mcp-server/src/extractors/cem-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ChangelogEntry } from '../types/component-metadata';
|
|
2
|
+
/**
|
|
3
|
+
* Extract changelog entries from all library CHANGELOG.md files.
|
|
4
|
+
* Parses conventional-changelog format into structured entries.
|
|
5
|
+
*/
|
|
6
|
+
export declare function extractChangelogs(basePath: string): Promise<ChangelogEntry[]>;
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractChangelogs = extractChangelogs;
|
|
4
|
+
const promises_1 = require("fs/promises");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const LIBRARY_CHANGELOGS = [
|
|
7
|
+
{ path: 'libs/core/CHANGELOG.md', library: '@fundamental-ngx/core' },
|
|
8
|
+
{ path: 'libs/platform/CHANGELOG.md', library: '@fundamental-ngx/platform' },
|
|
9
|
+
{ path: 'libs/btp/CHANGELOG.md', library: '@fundamental-ngx/btp' },
|
|
10
|
+
{ path: 'libs/cx/CHANGELOG.md', library: '@fundamental-ngx/cx' },
|
|
11
|
+
{ path: 'libs/cdk/CHANGELOG.md', library: '@fundamental-ngx/cdk' },
|
|
12
|
+
{ path: 'libs/i18n/CHANGELOG.md', library: '@fundamental-ngx/i18n' }
|
|
13
|
+
];
|
|
14
|
+
/**
|
|
15
|
+
* Extract changelog entries from all library CHANGELOG.md files.
|
|
16
|
+
* Parses conventional-changelog format into structured entries.
|
|
17
|
+
*/
|
|
18
|
+
async function extractChangelogs(basePath) {
|
|
19
|
+
const allEntries = [];
|
|
20
|
+
for (const config of LIBRARY_CHANGELOGS) {
|
|
21
|
+
try {
|
|
22
|
+
const content = await (0, promises_1.readFile)((0, path_1.resolve)(basePath, config.path), 'utf-8');
|
|
23
|
+
const entries = parseChangelog(content, config.library);
|
|
24
|
+
allEntries.push(...entries);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// CHANGELOG.md may not exist for all libraries
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return allEntries;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Parse a CHANGELOG.md into structured entries.
|
|
34
|
+
*
|
|
35
|
+
* Supports two formats:
|
|
36
|
+
*
|
|
37
|
+
* Lerna (pre-0.58):
|
|
38
|
+
* ```
|
|
39
|
+
* # [0.58.0-rc.25](url) (2025-11-26)
|
|
40
|
+
* ### Bug Fixes
|
|
41
|
+
* * **core:** description (#1234) (hash)
|
|
42
|
+
* ### Features
|
|
43
|
+
* * **platform:** description (#1234) (hash)
|
|
44
|
+
* ### BREAKING CHANGES
|
|
45
|
+
* * **core:** description
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* NX Release (0.58+):
|
|
49
|
+
* ```
|
|
50
|
+
* ## 0.62.0-rc.67 (2026-04-11)
|
|
51
|
+
* ### 🩹 Fixes
|
|
52
|
+
* - **core:** description ([#1234](url))
|
|
53
|
+
* ### 🚀 Features
|
|
54
|
+
* - **platform:** description ([#1234](url))
|
|
55
|
+
* ### ⚠️ Breaking Changes
|
|
56
|
+
* - **core:** description
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
function parseChangelog(content, library) {
|
|
60
|
+
const entries = [];
|
|
61
|
+
const lines = content.split('\n');
|
|
62
|
+
let currentVersion = '';
|
|
63
|
+
let currentSection = null;
|
|
64
|
+
for (const line of lines) {
|
|
65
|
+
// Version header - Lerna: # [0.58.0-rc.25](url) (date)
|
|
66
|
+
const lernaVersionMatch = line.match(/^#\s+\[([^\]]+)\]/);
|
|
67
|
+
if (lernaVersionMatch) {
|
|
68
|
+
currentVersion = lernaVersionMatch[1];
|
|
69
|
+
currentSection = null;
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
// Version header - NX: ## 0.62.0-rc.67 (date)
|
|
73
|
+
const nxVersionMatch = line.match(/^## (\d+\.\d+\.\d+(?:-[^\s]+)?)\s+\(/);
|
|
74
|
+
if (nxVersionMatch) {
|
|
75
|
+
currentVersion = nxVersionMatch[1];
|
|
76
|
+
currentSection = null;
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
// Section header - matches both Lerna ("Bug Fixes", "Features") and NX ("🩹 Fixes", "🚀 Features")
|
|
80
|
+
if (line.match(/^###?\s+(?:🩹\s+)?(?:Bug )?Fixes/i)) {
|
|
81
|
+
currentSection = 'fix';
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
if (line.match(/^###?\s+(?:🚀\s+)?Features/i)) {
|
|
85
|
+
currentSection = 'feature';
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (line.match(/^###?\s+(?:⚠️\s+)?Breaking Change/i)) {
|
|
89
|
+
currentSection = 'breaking';
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (line.match(/^###?\s+Deprecat/i)) {
|
|
93
|
+
currentSection = 'deprecation';
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
// Entry line - Lerna: * **scope:** desc | NX: - **scope:** desc
|
|
97
|
+
if (currentSection && currentVersion) {
|
|
98
|
+
const entryMatch = line.match(/^[-*]\s+(?:⚠️\s+)?\*\*([^*:]+):\*\*\s+(.+)/);
|
|
99
|
+
if (entryMatch) {
|
|
100
|
+
const scope = entryMatch[1].trim();
|
|
101
|
+
const rawDescription = entryMatch[2]
|
|
102
|
+
.replace(/\s*\(\[[\da-f]+\]\([^)]+\)\)$/, '') // Remove commit hash link (Lerna)
|
|
103
|
+
.replace(/\s*\(\[#\d+\]\([^)]+\)\)$/, '') // Remove PR link (NX)
|
|
104
|
+
.replace(/\s*\(#\d+\)/, '') // Remove bare issue reference
|
|
105
|
+
.trim();
|
|
106
|
+
entries.push({
|
|
107
|
+
library,
|
|
108
|
+
version: currentVersion,
|
|
109
|
+
type: currentSection,
|
|
110
|
+
description: rawDescription,
|
|
111
|
+
component: scope !== library.split('/')[1] ? scope : undefined
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return entries;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=changelog-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changelog-extractor.js","sourceRoot":"","sources":["../../../../../libs/mcp-server/src/extractors/changelog-extractor.ts"],"names":[],"mappings":";;AAsBA,8CAcC;AApCD,0CAAuC;AACvC,+BAA+B;AAQ/B,MAAM,kBAAkB,GAAoB;IACxC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,uBAAuB,EAAE;IACpE,EAAE,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,2BAA2B,EAAE;IAC5E,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,sBAAsB,EAAE;IAClE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAChE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,sBAAsB,EAAE;IAClE,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,uBAAuB,EAAE;CACvE,CAAC;AAEF;;;GAGG;AACI,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACpD,MAAM,UAAU,GAAqB,EAAE,CAAC;IAExC,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACtC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,cAAO,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACxD,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACL,+CAA+C;QACnD,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAS,cAAc,CAAC,OAAe,EAAE,OAAgB;IACrD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,cAAc,GAA0D,IAAI,CAAC;IAEjF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,uDAAuD;QACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC1D,IAAI,iBAAiB,EAAE,CAAC;YACpB,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACtC,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS;QACb,CAAC;QAED,8CAA8C;QAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1E,IAAI,cAAc,EAAE,CAAC;YACjB,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YACnC,cAAc,GAAG,IAAI,CAAC;YACtB,SAAS;QACb,CAAC;QAED,mGAAmG;QACnG,IAAI,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,CAAC;YAClD,cAAc,GAAG,KAAK,CAAC;YACvB,SAAS;QACb,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC;YAC5C,cAAc,GAAG,SAAS,CAAC;YAC3B,SAAS;QACb,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,EAAE,CAAC;YACnD,cAAc,GAAG,UAAU,CAAC;YAC5B,SAAS;QACb,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAClC,cAAc,GAAG,aAAa,CAAC;YAC/B,SAAS;QACb,CAAC;QAED,kEAAkE;QAClE,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5E,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC;qBAC/B,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC,kCAAkC;qBAC/E,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC,sBAAsB;qBAC/D,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,8BAA8B;qBACzD,IAAI,EAAE,CAAC;gBAEZ,OAAO,CAAC,IAAI,CAAC;oBACT,OAAO;oBACP,OAAO,EAAE,cAAc;oBACvB,IAAI,EAAE,cAAc;oBACpB,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBACjE,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extract human-written component descriptions from the docs app header templates.
|
|
3
|
+
*
|
|
4
|
+
* Each component's docs page has a `*-header.component.html` file containing:
|
|
5
|
+
* ```html
|
|
6
|
+
* <description>Human-readable description text...</description>
|
|
7
|
+
* ```
|
|
8
|
+
*
|
|
9
|
+
* @returns Map from `"<package>/<component>"` (e.g. `"core/wizard"`) to the description string.
|
|
10
|
+
*/
|
|
11
|
+
export declare function extractDescriptions(basePath: string): Promise<Map<string, string>>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractDescriptions = extractDescriptions;
|
|
4
|
+
const fast_glob_1 = require("fast-glob");
|
|
5
|
+
const promises_1 = require("fs/promises");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
/**
|
|
8
|
+
* Extract human-written component descriptions from the docs app header templates.
|
|
9
|
+
*
|
|
10
|
+
* Each component's docs page has a `*-header.component.html` file containing:
|
|
11
|
+
* ```html
|
|
12
|
+
* <description>Human-readable description text...</description>
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @returns Map from `"<package>/<component>"` (e.g. `"core/wizard"`) to the description string.
|
|
16
|
+
*/
|
|
17
|
+
async function extractDescriptions(basePath) {
|
|
18
|
+
const docsRoot = (0, path_1.resolve)(basePath, 'libs/docs');
|
|
19
|
+
const pattern = '*/**/*-header.component.html';
|
|
20
|
+
const files = await (0, fast_glob_1.glob)(pattern, { cwd: docsRoot, absolute: false });
|
|
21
|
+
const descriptions = new Map();
|
|
22
|
+
await Promise.all(files.map(async (relPath) => {
|
|
23
|
+
// relPath: "core/wizard/wizard-header/wizard-header.component.html"
|
|
24
|
+
const parts = relPath.split('/');
|
|
25
|
+
if (parts.length < 3) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const pkg = parts[0]; // "core", "platform", "btp", etc.
|
|
29
|
+
const component = parts[1]; // "wizard", "info-label", etc.
|
|
30
|
+
const key = `${pkg}/${component}`;
|
|
31
|
+
try {
|
|
32
|
+
const html = await (0, promises_1.readFile)((0, path_1.resolve)(docsRoot, relPath), 'utf-8');
|
|
33
|
+
const description = parseDescription(html);
|
|
34
|
+
if (description) {
|
|
35
|
+
descriptions.set(key, description);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// skip unreadable files
|
|
40
|
+
}
|
|
41
|
+
}));
|
|
42
|
+
return descriptions;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Parse the `<description>...</description>` content from a header template,
|
|
46
|
+
* stripping HTML tags and normalising whitespace into a plain-text string.
|
|
47
|
+
*/
|
|
48
|
+
function parseDescription(html) {
|
|
49
|
+
const match = html.match(/<description>([\s\S]*?)<\/description>/);
|
|
50
|
+
if (!match) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const raw = match[1]
|
|
54
|
+
// Strip HTML tags
|
|
55
|
+
.replace(/<[^>]+>/g, ' ')
|
|
56
|
+
// Collapse whitespace
|
|
57
|
+
.replace(/\s+/g, ' ')
|
|
58
|
+
.trim();
|
|
59
|
+
return raw || null;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=description-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"description-extractor.js","sourceRoot":"","sources":["../../../../../libs/mcp-server/src/extractors/description-extractor.ts"],"names":[],"mappings":";;AAcA,kDAgCC;AA9CD,yCAAiC;AACjC,0CAAuC;AACvC,+BAA+B;AAE/B;;;;;;;;;GASG;AACI,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACtD,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,8BAA8B,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAI,EAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE/C,MAAM,OAAO,CAAC,GAAG,CACb,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,oEAAoE;QACpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;QACxD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;QAC3D,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QAElC,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,cAAO,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,WAAW,EAAE,CAAC;gBACd,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,wBAAwB;QAC5B,CAAC;IACL,CAAC,CAAC,CACL,CAAC;IAEF,OAAO,YAAY,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;QAChB,kBAAkB;SACjB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;QACzB,sBAAsB;SACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;IAEZ,OAAO,GAAG,IAAI,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface ComponentExample {
|
|
2
|
+
/** Component directory name, e.g. "button", "dialog" */
|
|
3
|
+
componentDir: string;
|
|
4
|
+
/** Library name, e.g. "core", "platform" */
|
|
5
|
+
libraryDir: string;
|
|
6
|
+
/** Example file name, e.g. "button-types-example" */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Description derived from file name */
|
|
9
|
+
description: string;
|
|
10
|
+
/** TypeScript source code */
|
|
11
|
+
typescript: string;
|
|
12
|
+
/** HTML template (if separate file exists) */
|
|
13
|
+
html?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Extract example components from the docs folder.
|
|
17
|
+
* Examples live at: libs/docs/{library}/{component}/examples/*-example.component.ts
|
|
18
|
+
*/
|
|
19
|
+
export declare function extractExamples(basePath: string): Promise<Map<string, ComponentExample[]>>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractExamples = extractExamples;
|
|
4
|
+
const fast_glob_1 = require("fast-glob");
|
|
5
|
+
const promises_1 = require("fs/promises");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
/**
|
|
8
|
+
* Extract example components from the docs folder.
|
|
9
|
+
* Examples live at: libs/docs/{library}/{component}/examples/*-example.component.ts
|
|
10
|
+
*/
|
|
11
|
+
async function extractExamples(basePath) {
|
|
12
|
+
const pattern = 'libs/docs/*/*/examples/*-example.component.ts';
|
|
13
|
+
const files = await (0, fast_glob_1.glob)(pattern, { cwd: basePath, absolute: false });
|
|
14
|
+
const exampleMap = new Map();
|
|
15
|
+
for (const file of files) {
|
|
16
|
+
// Parse path: libs/docs/{library}/{component}/examples/{name}.component.ts
|
|
17
|
+
const parts = file.split('/');
|
|
18
|
+
if (parts.length < 6) {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
const libraryDir = parts[2]; // e.g. "core", "platform"
|
|
22
|
+
const componentDir = parts[3]; // e.g. "button", "dialog"
|
|
23
|
+
const fileName = parts[5]; // e.g. "button-types-example.component.ts"
|
|
24
|
+
// Skip non-example files
|
|
25
|
+
if (!fileName.includes('-example.component.ts')) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
const exampleName = fileName.replace('.component.ts', '');
|
|
29
|
+
const description = formatExampleName(exampleName);
|
|
30
|
+
try {
|
|
31
|
+
const tsContent = await (0, promises_1.readFile)((0, path_1.resolve)(basePath, file), 'utf-8');
|
|
32
|
+
// Check for a matching HTML template
|
|
33
|
+
const htmlPath = file.replace('.component.ts', '.component.html');
|
|
34
|
+
let htmlContent;
|
|
35
|
+
try {
|
|
36
|
+
htmlContent = await (0, promises_1.readFile)((0, path_1.resolve)(basePath, htmlPath), 'utf-8');
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
// No separate HTML file — template is inline in the TS file
|
|
40
|
+
}
|
|
41
|
+
const example = {
|
|
42
|
+
componentDir,
|
|
43
|
+
libraryDir,
|
|
44
|
+
name: exampleName,
|
|
45
|
+
description,
|
|
46
|
+
typescript: tsContent,
|
|
47
|
+
html: htmlContent
|
|
48
|
+
};
|
|
49
|
+
const key = `${libraryDir}/${componentDir}`;
|
|
50
|
+
const existing = exampleMap.get(key) ?? [];
|
|
51
|
+
existing.push(example);
|
|
52
|
+
exampleMap.set(key, existing);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Skip unreadable files
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return exampleMap;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Convert a file name like "button-types-example" to "Button Types".
|
|
62
|
+
*/
|
|
63
|
+
function formatExampleName(name) {
|
|
64
|
+
return name
|
|
65
|
+
.replace(/-example$/, '')
|
|
66
|
+
.split('-')
|
|
67
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
68
|
+
.join(' ');
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=example-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example-extractor.js","sourceRoot":"","sources":["../../../../../libs/mcp-server/src/extractors/example-extractor.ts"],"names":[],"mappings":";;AAuBA,0CAwDC;AA/ED,yCAAiC;AACjC,0CAAuC;AACvC,+BAA+B;AAiB/B;;;GAGG;AACI,KAAK,UAAU,eAAe,CAAC,QAAgB;IAClD,MAAM,OAAO,GAAG,+CAA+C,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAI,EAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEzD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,2EAA2E;QAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,SAAS;QACb,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QACvD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,2CAA2C;QAEtE,yBAAyB;QACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC9C,SAAS;QACb,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAEnD,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,cAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;YAEnE,qCAAqC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;YAClE,IAAI,WAA+B,CAAC;YACpC,IAAI,CAAC;gBACD,WAAW,GAAG,MAAM,IAAA,mBAAQ,EAAC,IAAA,cAAO,EAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC;gBACL,4DAA4D;YAChE,CAAC;YAED,MAAM,OAAO,GAAqB;gBAC9B,YAAY;gBACZ,UAAU;gBACV,IAAI,EAAE,WAAW;gBACjB,WAAW;gBACX,UAAU,EAAE,SAAS;gBACrB,IAAI,EAAE,WAAW;aACpB,CAAC;YAEF,MAAM,GAAG,GAAG,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACL,wBAAwB;QAC5B,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACnC,OAAO,IAAI;SACN,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;SACxB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC"}
|