mozaic-mcp-server 2.1.1 → 2.3.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 +15 -7
- package/SKILLS.md +75 -5
- package/bin/install-skills.js +2 -0
- package/data/mozaic.db +0 -0
- package/dist/__tests__/tools.integration.test.js +85 -0
- package/dist/__tests__/tools.integration.test.js.map +1 -1
- package/dist/index.js +115 -0
- package/dist/index.js.map +1 -1
- package/dist/parsers/freemarker-parser.d.ts +25 -0
- package/dist/parsers/freemarker-parser.d.ts.map +1 -0
- package/dist/parsers/freemarker-parser.js +299 -0
- package/dist/parsers/freemarker-parser.js.map +1 -0
- package/dist/parsers/web-components-parser.d.ts +3 -0
- package/dist/parsers/web-components-parser.d.ts.map +1 -0
- package/dist/parsers/web-components-parser.js +503 -0
- package/dist/parsers/web-components-parser.js.map +1 -0
- package/dist/tools/generate-freemarker.d.ts +32 -0
- package/dist/tools/generate-freemarker.d.ts.map +1 -0
- package/dist/tools/generate-freemarker.js +146 -0
- package/dist/tools/generate-freemarker.js.map +1 -0
- package/dist/tools/generate-webcomponent.d.ts +38 -0
- package/dist/tools/generate-webcomponent.d.ts.map +1 -0
- package/dist/tools/generate-webcomponent.js +83 -0
- package/dist/tools/generate-webcomponent.js.map +1 -0
- package/dist/tools/get-component-info.d.ts +1 -1
- package/dist/tools/get-component-info.d.ts.map +1 -1
- package/dist/tools/get-component-info.js +9 -1
- package/dist/tools/get-component-info.js.map +1 -1
- package/dist/tools/get-freemarker-info.d.ts +27 -0
- package/dist/tools/get-freemarker-info.d.ts.map +1 -0
- package/dist/tools/get-freemarker-info.js +161 -0
- package/dist/tools/get-freemarker-info.js.map +1 -0
- package/dist/tools/get-webcomponent-info.d.ts +52 -0
- package/dist/tools/get-webcomponent-info.d.ts.map +1 -0
- package/dist/tools/get-webcomponent-info.js +170 -0
- package/dist/tools/get-webcomponent-info.js.map +1 -0
- package/dist/tools/list-freemarker.d.ts +23 -0
- package/dist/tools/list-freemarker.d.ts.map +1 -0
- package/dist/tools/list-freemarker.js +97 -0
- package/dist/tools/list-freemarker.js.map +1 -0
- package/dist/tools/list-webcomponents.d.ts +32 -0
- package/dist/tools/list-webcomponents.d.ts.map +1 -0
- package/dist/tools/list-webcomponents.js +110 -0
- package/dist/tools/list-webcomponents.js.map +1 -0
- package/package.json +1 -1
- package/skills/mozaic-freemarker-builder/scripts/generate-component.sh +27 -0
- package/skills/mozaic-freemarker-builder/scripts/get-component.sh +28 -0
- package/skills/mozaic-freemarker-builder/scripts/list-components.sh +13 -0
- package/skills/mozaic-freemarker-builder/scripts/search-components.sh +14 -0
- package/skills/mozaic-freemarker-builder/skill.md +145 -0
- package/skills/mozaic-webcomponents-builder/scripts/generate-component.sh +67 -0
- package/skills/mozaic-webcomponents-builder/scripts/get-component.sh +105 -0
- package/skills/mozaic-webcomponents-builder/scripts/list-components.sh +42 -0
- package/skills/mozaic-webcomponents-builder/scripts/search-components.sh +34 -0
- package/skills/mozaic-webcomponents-builder/skill.md +292 -0
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { join, basename } from "path";
|
|
2
|
+
import { readdirSync, readFileSync, statSync } from "fs";
|
|
3
|
+
/**
|
|
4
|
+
* Find all .ftl macro files in the macros directory
|
|
5
|
+
*/
|
|
6
|
+
function findMacroFiles(macrosPath) {
|
|
7
|
+
const mozaicPath = join(macrosPath, "mozaic");
|
|
8
|
+
try {
|
|
9
|
+
const files = readdirSync(mozaicPath);
|
|
10
|
+
return files
|
|
11
|
+
.filter((file) => file.endsWith(".ftl") && file !== "common-macro.ftl" && file !== "icons.ftl")
|
|
12
|
+
.map((file) => join(mozaicPath, file));
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
console.error(`Failed to read macros directory: ${macrosPath}`, error);
|
|
16
|
+
return [];
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Load JSON token file for a component if it exists
|
|
21
|
+
*/
|
|
22
|
+
function loadTokenFile(tokensPath, componentName) {
|
|
23
|
+
const tokenFilePath = join(tokensPath, `${componentName}.json`);
|
|
24
|
+
try {
|
|
25
|
+
const content = readFileSync(tokenFilePath, "utf-8");
|
|
26
|
+
return JSON.parse(content);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Extract macro name from .ftl file content
|
|
34
|
+
* Example: <#macro button config={} dataSup...> => "button"
|
|
35
|
+
*/
|
|
36
|
+
function extractMacroName(content) {
|
|
37
|
+
const macroMatch = content.match(/<#macro\s+(\w+)\s+/);
|
|
38
|
+
return macroMatch ? macroMatch[1] : null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Extract parameter documentation from comment block
|
|
42
|
+
* Parses the configuration object structure from comments
|
|
43
|
+
*/
|
|
44
|
+
function extractParametersFromComments(content) {
|
|
45
|
+
const params = [];
|
|
46
|
+
// Look for configuration object in comments
|
|
47
|
+
// Example: "color": "standard", // optional - "standard" (default) | "accent"
|
|
48
|
+
const configBlockMatch = content.match(/<#--[\s\S]*?<#assign\s+\w+\s*=\s*{([\s\S]*?)}/);
|
|
49
|
+
if (configBlockMatch) {
|
|
50
|
+
const configContent = configBlockMatch[1];
|
|
51
|
+
const paramMatches = configContent.matchAll(/"(\w+)":\s*([^,\n]+),?\s*\/\/\s*(optional|required)?\s*-?\s*([^\n]+)?/g);
|
|
52
|
+
for (const match of paramMatches) {
|
|
53
|
+
const [, name, defaultVal, requiredFlag, description] = match;
|
|
54
|
+
params.push({
|
|
55
|
+
name,
|
|
56
|
+
type: inferType(defaultVal.trim()),
|
|
57
|
+
description: description?.trim() || "",
|
|
58
|
+
required: requiredFlag === "required",
|
|
59
|
+
defaultValue: cleanDefaultValue(defaultVal.trim()),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Also look for nested config objects (like icon: { ... })
|
|
64
|
+
const nestedConfigMatches = content.matchAll(/"(\w+)":\s*{([^}]+)}/g);
|
|
65
|
+
for (const match of nestedConfigMatches) {
|
|
66
|
+
const [, name, nestedContent] = match;
|
|
67
|
+
params.push({
|
|
68
|
+
name,
|
|
69
|
+
type: "object",
|
|
70
|
+
description: `Nested configuration object for ${name}`,
|
|
71
|
+
required: false,
|
|
72
|
+
defaultValue: null,
|
|
73
|
+
});
|
|
74
|
+
// Parse nested properties
|
|
75
|
+
const nestedParams = nestedContent.matchAll(/"(\w+)":\s*([^,\n]+),?\s*\/\/\s*(optional|required)?\s*-?\s*([^\n]+)?/g);
|
|
76
|
+
for (const nestedMatch of nestedParams) {
|
|
77
|
+
const [, nestedName, nestedDefaultVal, nestedRequiredFlag, nestedDescription] = nestedMatch;
|
|
78
|
+
params.push({
|
|
79
|
+
name: `${name}.${nestedName}`,
|
|
80
|
+
type: inferType(nestedDefaultVal.trim()),
|
|
81
|
+
description: nestedDescription?.trim() || "",
|
|
82
|
+
required: nestedRequiredFlag === "required",
|
|
83
|
+
defaultValue: cleanDefaultValue(nestedDefaultVal.trim()),
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return params;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Infer parameter type from default value
|
|
91
|
+
*/
|
|
92
|
+
function inferType(value) {
|
|
93
|
+
if (value === "true" || value === "false")
|
|
94
|
+
return "boolean";
|
|
95
|
+
if (value.match(/^\d+$/))
|
|
96
|
+
return "number";
|
|
97
|
+
if (value.startsWith('"') || value.startsWith("'"))
|
|
98
|
+
return "string";
|
|
99
|
+
if (value.startsWith("{"))
|
|
100
|
+
return "object";
|
|
101
|
+
if (value.startsWith("["))
|
|
102
|
+
return "array";
|
|
103
|
+
return "string";
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Clean default value for storage
|
|
107
|
+
*/
|
|
108
|
+
function cleanDefaultValue(value) {
|
|
109
|
+
if (!value || value === "false" || value === '""' || value === "''")
|
|
110
|
+
return null;
|
|
111
|
+
// Remove quotes from strings
|
|
112
|
+
if (value.startsWith('"') && value.endsWith('"')) {
|
|
113
|
+
return value.slice(1, -1);
|
|
114
|
+
}
|
|
115
|
+
if (value.startsWith("'") && value.endsWith("'")) {
|
|
116
|
+
return value.slice(1, -1);
|
|
117
|
+
}
|
|
118
|
+
return value;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Determine component category based on name and content
|
|
122
|
+
*/
|
|
123
|
+
function determineCategory(name, content) {
|
|
124
|
+
const lowerName = name.toLowerCase();
|
|
125
|
+
// Action components
|
|
126
|
+
if (lowerName.includes("button") || lowerName.includes("link") || lowerName.includes("action")) {
|
|
127
|
+
return "action";
|
|
128
|
+
}
|
|
129
|
+
// Form components
|
|
130
|
+
if (content.includes("mc-field") ||
|
|
131
|
+
lowerName.includes("input") ||
|
|
132
|
+
lowerName.includes("checkbox") ||
|
|
133
|
+
lowerName.includes("radio") ||
|
|
134
|
+
lowerName.includes("select") ||
|
|
135
|
+
lowerName.includes("field") ||
|
|
136
|
+
lowerName.includes("form") ||
|
|
137
|
+
lowerName.includes("datepicker") ||
|
|
138
|
+
lowerName.includes("fileuploader")) {
|
|
139
|
+
return "form";
|
|
140
|
+
}
|
|
141
|
+
// Feedback components
|
|
142
|
+
if (lowerName.includes("notification") ||
|
|
143
|
+
lowerName.includes("message") ||
|
|
144
|
+
lowerName.includes("status") ||
|
|
145
|
+
lowerName.includes("badge") ||
|
|
146
|
+
lowerName.includes("flag") ||
|
|
147
|
+
lowerName.includes("loader") ||
|
|
148
|
+
lowerName.includes("progress") ||
|
|
149
|
+
lowerName.includes("toaster") ||
|
|
150
|
+
lowerName.includes("tooltip")) {
|
|
151
|
+
return "feedback";
|
|
152
|
+
}
|
|
153
|
+
// Navigation components
|
|
154
|
+
if (lowerName.includes("nav") ||
|
|
155
|
+
lowerName.includes("breadcrumb") ||
|
|
156
|
+
lowerName.includes("tab") ||
|
|
157
|
+
lowerName.includes("pagination") ||
|
|
158
|
+
lowerName.includes("stepper") ||
|
|
159
|
+
lowerName.includes("menu")) {
|
|
160
|
+
return "navigation";
|
|
161
|
+
}
|
|
162
|
+
// Layout components
|
|
163
|
+
if (lowerName.includes("container") ||
|
|
164
|
+
lowerName.includes("divider") ||
|
|
165
|
+
lowerName.includes("modal") ||
|
|
166
|
+
lowerName.includes("drawer") ||
|
|
167
|
+
lowerName.includes("accordion") ||
|
|
168
|
+
lowerName.includes("popover")) {
|
|
169
|
+
return "layout";
|
|
170
|
+
}
|
|
171
|
+
// Data display components
|
|
172
|
+
if (lowerName.includes("card") ||
|
|
173
|
+
lowerName.includes("tile") ||
|
|
174
|
+
lowerName.includes("image") ||
|
|
175
|
+
lowerName.includes("avatar") ||
|
|
176
|
+
lowerName.includes("logo") ||
|
|
177
|
+
lowerName.includes("carousel") ||
|
|
178
|
+
lowerName.includes("callout") ||
|
|
179
|
+
lowerName.includes("tag") ||
|
|
180
|
+
lowerName.includes("rating")) {
|
|
181
|
+
return "data-display";
|
|
182
|
+
}
|
|
183
|
+
return "other";
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Extract description from comment block at the top of the file
|
|
187
|
+
*/
|
|
188
|
+
function extractDescription(content) {
|
|
189
|
+
// Look for the main comment block with component description
|
|
190
|
+
const commentMatch = content.match(/<#--\s*\n([A-Z\s]+)\n([\s\S]*?)-->/);
|
|
191
|
+
if (commentMatch) {
|
|
192
|
+
const title = commentMatch[1].trim();
|
|
193
|
+
const description = commentMatch[2].trim();
|
|
194
|
+
// Get first sentence or line of description
|
|
195
|
+
const firstLine = description.split("\n")[0].trim();
|
|
196
|
+
return firstLine || title;
|
|
197
|
+
}
|
|
198
|
+
return "";
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Convert component name to slug format
|
|
202
|
+
*/
|
|
203
|
+
function toSlug(name) {
|
|
204
|
+
return name
|
|
205
|
+
.toLowerCase()
|
|
206
|
+
.replace(/([A-Z])/g, "-$1")
|
|
207
|
+
.replace(/^-/, "");
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Parse a single Freemarker macro file
|
|
211
|
+
*/
|
|
212
|
+
function parseMacroFile(macro) {
|
|
213
|
+
const macroName = extractMacroName(macro.content) || basename(macro.filePath, ".ftl");
|
|
214
|
+
const params = extractParametersFromComments(macro.content);
|
|
215
|
+
const category = determineCategory(macroName, macro.content);
|
|
216
|
+
const description = extractDescription(macro.content);
|
|
217
|
+
// Convert parameters to props format
|
|
218
|
+
const props = params.map((param) => ({
|
|
219
|
+
name: param.name,
|
|
220
|
+
type: param.type,
|
|
221
|
+
description: param.description,
|
|
222
|
+
required: param.required,
|
|
223
|
+
default_value: param.defaultValue,
|
|
224
|
+
}));
|
|
225
|
+
// Extract CSS classes used in the component
|
|
226
|
+
const cssClasses = [];
|
|
227
|
+
if (macro.tokenData) {
|
|
228
|
+
Object.values(macro.tokenData).forEach((className) => {
|
|
229
|
+
if (typeof className === "string" && className.startsWith("mc-")) {
|
|
230
|
+
cssClasses.push(className);
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
// Extract additional classes from template content
|
|
235
|
+
const classMatches = macro.content.matchAll(/class=["']([^"']+)["']/g);
|
|
236
|
+
for (const match of classMatches) {
|
|
237
|
+
const classes = match[1].split(" ");
|
|
238
|
+
classes.forEach((cls) => {
|
|
239
|
+
if (cls.startsWith("mc-") && !cssClasses.includes(cls)) {
|
|
240
|
+
cssClasses.push(cls);
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
return {
|
|
245
|
+
name: macroName.charAt(0).toUpperCase() + macroName.slice(1) + " (Freemarker)",
|
|
246
|
+
slug: toSlug(macroName),
|
|
247
|
+
category,
|
|
248
|
+
description,
|
|
249
|
+
frameworks: ["freemarker"],
|
|
250
|
+
props,
|
|
251
|
+
slots: [], // Freemarker uses <#nested> for slot-like content
|
|
252
|
+
events: [], // Freemarker doesn't have events in the same way as JS frameworks
|
|
253
|
+
css_classes: [...new Set(cssClasses)],
|
|
254
|
+
examples: [],
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Main parser function for Freemarker components
|
|
259
|
+
*/
|
|
260
|
+
export async function parseFreemarkerComponents(repoPath) {
|
|
261
|
+
const components = [];
|
|
262
|
+
const macrosPath = join(repoPath, "mozaic-freemarker/src/main/resources/macros");
|
|
263
|
+
const tokensPath = join(repoPath, "js/tokens");
|
|
264
|
+
// Check if paths exist
|
|
265
|
+
try {
|
|
266
|
+
statSync(macrosPath);
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
console.error(`Macros path not found: ${macrosPath}`);
|
|
270
|
+
return [];
|
|
271
|
+
}
|
|
272
|
+
console.log("Parsing Freemarker macros from:", macrosPath);
|
|
273
|
+
const macroFiles = findMacroFiles(macrosPath);
|
|
274
|
+
console.log(`Found ${macroFiles.length} macro files`);
|
|
275
|
+
for (const filePath of macroFiles) {
|
|
276
|
+
try {
|
|
277
|
+
const content = readFileSync(filePath, "utf-8");
|
|
278
|
+
const fileName = basename(filePath, ".ftl");
|
|
279
|
+
const tokenData = loadTokenFile(tokensPath, fileName);
|
|
280
|
+
const macro = {
|
|
281
|
+
name: fileName,
|
|
282
|
+
filePath,
|
|
283
|
+
content,
|
|
284
|
+
tokenData,
|
|
285
|
+
};
|
|
286
|
+
const component = parseMacroFile(macro);
|
|
287
|
+
if (component.name) {
|
|
288
|
+
components.push(component);
|
|
289
|
+
console.log(`✓ Parsed: ${component.name} (${component.props.length} props)`);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
catch (error) {
|
|
293
|
+
console.error(`Failed to parse ${filePath}:`, error);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
console.log(`\nTotal Freemarker components parsed: ${components.length}`);
|
|
297
|
+
return components;
|
|
298
|
+
}
|
|
299
|
+
//# sourceMappingURL=freemarker-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"freemarker-parser.js","sourceRoot":"","sources":["../../src/parsers/freemarker-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-components-parser.d.ts","sourceRoot":"","sources":["../../src/parsers/web-components-parser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAgD,MAAM,kBAAkB,CAAC;AAqjBhG,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA2ErF"}
|