wavemaker-dev-mcp 0.1.3 → 1.0.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 +75 -52
- package/dist/index.js +108 -177
- package/dist/index.js.map +1 -1
- package/dist/skills/loader.d.ts +36 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +107 -0
- package/dist/skills/loader.js.map +1 -0
- package/package.json +8 -4
- package/skills/components/wm-accordion-pane.md +44 -0
- package/skills/components/wm-accordion.md +43 -0
- package/skills/components/wm-alert-dialog.md +42 -0
- package/skills/components/wm-anchor.md +51 -0
- package/skills/components/wm-audio.md +41 -0
- package/skills/components/wm-button-group.md +36 -0
- package/skills/components/wm-button.md +114 -0
- package/skills/components/wm-calendar.md +54 -0
- package/skills/components/wm-card.md +60 -0
- package/skills/components/wm-carousel.md +43 -0
- package/skills/components/wm-chart.md +104 -0
- package/skills/components/wm-checkbox.md +52 -0
- package/skills/components/wm-checkboxset.md +75 -0
- package/skills/components/wm-chips.md +78 -0
- package/skills/components/wm-composite.md +30 -0
- package/skills/components/wm-confirm-dialog.md +43 -0
- package/skills/components/wm-container.md +100 -0
- package/skills/components/wm-currency.md +69 -0
- package/skills/components/wm-datatable.md +146 -0
- package/skills/components/wm-date-time.md +80 -0
- package/skills/components/wm-date.md +78 -0
- package/skills/components/wm-dialog-body.md +28 -0
- package/skills/components/wm-dialog-container.md +48 -0
- package/skills/components/wm-dialog-content.md +31 -0
- package/skills/components/wm-dialog-footer.md +28 -0
- package/skills/components/wm-dialog-header.md +43 -0
- package/skills/components/wm-dialog.md +40 -0
- package/skills/components/wm-file-upload.md +58 -0
- package/skills/components/wm-footer.md +31 -0
- package/skills/components/wm-form-field.md +81 -0
- package/skills/components/wm-form.md +58 -0
- package/skills/components/wm-grid-column.md +30 -0
- package/skills/components/wm-header.md +31 -0
- package/skills/components/wm-html.md +31 -0
- package/skills/components/wm-icon.md +40 -0
- package/skills/components/wm-iframe-dialog.md +52 -0
- package/skills/components/wm-iframe.md +35 -0
- package/skills/components/wm-label.md +45 -0
- package/skills/components/wm-left-nav.md +35 -0
- package/skills/components/wm-linear-layout-item.md +28 -0
- package/skills/components/wm-linear-layout.md +92 -0
- package/skills/components/wm-list.md +92 -0
- package/skills/components/wm-live-filter.md +50 -0
- package/skills/components/wm-live-form.md +35 -0
- package/skills/components/wm-login-dialog.md +50 -0
- package/skills/components/wm-login.md +39 -0
- package/skills/components/wm-marquee.md +31 -0
- package/skills/components/wm-menu.md +71 -0
- package/skills/components/wm-message.md +41 -0
- package/skills/components/wm-nav-item.md +28 -0
- package/skills/components/wm-nav.md +61 -0
- package/skills/components/wm-number.md +62 -0
- package/skills/components/wm-page-content.md +34 -0
- package/skills/components/wm-page-dialog.md +45 -0
- package/skills/components/wm-page-toast.md +34 -0
- package/skills/components/wm-page.md +34 -0
- package/skills/components/wm-pagination.md +62 -0
- package/skills/components/wm-panel.md +69 -0
- package/skills/components/wm-partial-container.md +32 -0
- package/skills/components/wm-picture.md +46 -0
- package/skills/components/wm-popover.md +51 -0
- package/skills/components/wm-prefab-container.md +29 -0
- package/skills/components/wm-prefab.md +35 -0
- package/skills/components/wm-progress-bar.md +42 -0
- package/skills/components/wm-progress-circle.md +45 -0
- package/skills/components/wm-radioset.md +66 -0
- package/skills/components/wm-rating.md +76 -0
- package/skills/components/wm-rich-text-editor.md +36 -0
- package/skills/components/wm-right-nav.md +32 -0
- package/skills/components/wm-search.md +66 -0
- package/skills/components/wm-select.md +129 -0
- package/skills/components/wm-slider.md +53 -0
- package/skills/components/wm-spinner.md +43 -0
- package/skills/components/wm-tab-pane.md +45 -0
- package/skills/components/wm-table.md +113 -0
- package/skills/components/wm-tabs.md +48 -0
- package/skills/components/wm-text.md +65 -0
- package/skills/components/wm-textarea.md +47 -0
- package/skills/components/wm-tile.md +34 -0
- package/skills/components/wm-time.md +63 -0
- package/skills/components/wm-top-nav.md +31 -0
- package/skills/components/wm-tree.md +41 -0
- package/skills/components/wm-upload.md +42 -0
- package/skills/components/wm-video.md +48 -0
- package/skills/components/wm-wizard.md +59 -0
- package/skills/index.json +1151 -0
- package/skills/tokens/border.md +85 -0
- package/skills/tokens/colors.md +97 -0
- package/skills/tokens/elevation.md +73 -0
- package/skills/tokens/spacing.md +89 -0
- package/skills/tokens/typography.md +88 -0
- package/dist/components.d.ts +0 -17
- package/dist/components.d.ts.map +0 -1
- package/dist/components.js +0 -67
- package/dist/components.js.map +0 -1
- package/dist/paths.d.ts +0 -43
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.js +0 -103
- package/dist/paths.js.map +0 -1
- package/dist/search.d.ts +0 -15
- package/dist/search.d.ts.map +0 -1
- package/dist/search.js +0 -130
- package/dist/search.js.map +0 -1
package/dist/paths.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
|
package/dist/search.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export type ContentMatch = {
|
|
2
|
-
file: string;
|
|
3
|
-
line: number;
|
|
4
|
-
text: string;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Try ripgrep for fast search; returns null if rg is missing or errors.
|
|
8
|
-
*/
|
|
9
|
-
export declare function searchWithRipgrep(root: string, pattern: string, maxResults: number, pathGlob?: string): ContentMatch[] | null;
|
|
10
|
-
/**
|
|
11
|
-
* Slow path: walk files under root and scan line-by-line.
|
|
12
|
-
*/
|
|
13
|
-
export declare function searchWithNode(root: string, pattern: string, maxResults: number, pathGlob?: string): Promise<ContentMatch[]>;
|
|
14
|
-
export declare function formatMatches(rootLabel: string, rootPath: string, matches: ContentMatch[]): string;
|
|
15
|
-
//# sourceMappingURL=search.d.ts.map
|
package/dist/search.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAuBF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY,EAAE,GAAG,IAAI,CAmBvB;AAuBD;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,EAAE,CAAC,CAsCzB;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAMlG"}
|
package/dist/search.js
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.searchWithRipgrep = searchWithRipgrep;
|
|
7
|
-
exports.searchWithNode = searchWithNode;
|
|
8
|
-
exports.formatMatches = formatMatches;
|
|
9
|
-
const node_child_process_1 = require("node:child_process");
|
|
10
|
-
const node_fs_1 = __importDefault(require("node:fs"));
|
|
11
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
12
|
-
const fast_glob_1 = __importDefault(require("fast-glob"));
|
|
13
|
-
const TEXT_EXTENSIONS = new Set([
|
|
14
|
-
".ts",
|
|
15
|
-
".tsx",
|
|
16
|
-
".js",
|
|
17
|
-
".jsx",
|
|
18
|
-
".mjs",
|
|
19
|
-
".cjs",
|
|
20
|
-
".json",
|
|
21
|
-
".md",
|
|
22
|
-
".less",
|
|
23
|
-
".css",
|
|
24
|
-
".scss",
|
|
25
|
-
".svg",
|
|
26
|
-
".html",
|
|
27
|
-
]);
|
|
28
|
-
function isTextish(file) {
|
|
29
|
-
const ext = file.slice(file.lastIndexOf("."));
|
|
30
|
-
return TEXT_EXTENSIONS.has(ext.toLowerCase()) || !ext.includes(".");
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Try ripgrep for fast search; returns null if rg is missing or errors.
|
|
34
|
-
*/
|
|
35
|
-
function searchWithRipgrep(root, pattern, maxResults, pathGlob) {
|
|
36
|
-
const args = ["--line-number", "--no-heading", "--smart-case"];
|
|
37
|
-
if (pathGlob && pathGlob.length > 0) {
|
|
38
|
-
args.push("--glob", pathGlob);
|
|
39
|
-
}
|
|
40
|
-
args.push(pattern, root);
|
|
41
|
-
try {
|
|
42
|
-
const out = (0, node_child_process_1.execFileSync)("rg", args, {
|
|
43
|
-
encoding: "utf8",
|
|
44
|
-
maxBuffer: 32 * 1024 * 1024,
|
|
45
|
-
});
|
|
46
|
-
return parseRgOutput(out, root, maxResults);
|
|
47
|
-
}
|
|
48
|
-
catch (e) {
|
|
49
|
-
const err = e;
|
|
50
|
-
if (err.status === 1 && typeof err.stdout === "string") {
|
|
51
|
-
return parseRgOutput(err.stdout, root, maxResults);
|
|
52
|
-
}
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
function parseRgOutput(out, root, maxResults) {
|
|
57
|
-
const lines = out.split(/\r?\n/).filter(Boolean);
|
|
58
|
-
const matches = [];
|
|
59
|
-
const absRoot = node_path_1.default.resolve(root);
|
|
60
|
-
for (const line of lines) {
|
|
61
|
-
const m = /^(.+?):(\d+):(.*)$/.exec(line);
|
|
62
|
-
if (!m)
|
|
63
|
-
continue;
|
|
64
|
-
let filePath = m[1];
|
|
65
|
-
const absFile = node_path_1.default.resolve(filePath);
|
|
66
|
-
filePath = node_path_1.default.relative(absRoot, absFile).replace(/\\/g, "/");
|
|
67
|
-
if (filePath.startsWith(".."))
|
|
68
|
-
continue;
|
|
69
|
-
matches.push({
|
|
70
|
-
file: filePath,
|
|
71
|
-
line: Number(m[2]),
|
|
72
|
-
text: m[3],
|
|
73
|
-
});
|
|
74
|
-
if (matches.length >= maxResults)
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
return matches;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Slow path: walk files under root and scan line-by-line.
|
|
81
|
-
*/
|
|
82
|
-
async function searchWithNode(root, pattern, maxResults, pathGlob) {
|
|
83
|
-
const globPat = pathGlob && pathGlob.length > 0 ? pathGlob : "**/*";
|
|
84
|
-
const files = await (0, fast_glob_1.default)(globPat, {
|
|
85
|
-
cwd: root,
|
|
86
|
-
onlyFiles: true,
|
|
87
|
-
dot: false,
|
|
88
|
-
ignore: ["**/node_modules/**"],
|
|
89
|
-
followSymbolicLinks: false,
|
|
90
|
-
});
|
|
91
|
-
let regex;
|
|
92
|
-
try {
|
|
93
|
-
regex = new RegExp(pattern, "i");
|
|
94
|
-
}
|
|
95
|
-
catch {
|
|
96
|
-
regex = new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "i");
|
|
97
|
-
}
|
|
98
|
-
const matches = [];
|
|
99
|
-
const maxFiles = 4000;
|
|
100
|
-
for (let i = 0; i < files.length && i < maxFiles; i++) {
|
|
101
|
-
const rel = files[i];
|
|
102
|
-
if (!isTextish(rel))
|
|
103
|
-
continue;
|
|
104
|
-
const full = `${root}/${rel}`.replace(/\\/g, "/");
|
|
105
|
-
let content;
|
|
106
|
-
try {
|
|
107
|
-
content = node_fs_1.default.readFileSync(full, "utf8");
|
|
108
|
-
}
|
|
109
|
-
catch {
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
const lines = content.split(/\r?\n/);
|
|
113
|
-
for (let li = 0; li < lines.length; li++) {
|
|
114
|
-
if (regex.test(lines[li])) {
|
|
115
|
-
matches.push({ file: rel.replace(/\\/g, "/"), line: li + 1, text: lines[li] });
|
|
116
|
-
if (matches.length >= maxResults)
|
|
117
|
-
return matches;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return matches;
|
|
122
|
-
}
|
|
123
|
-
function formatMatches(rootLabel, rootPath, matches) {
|
|
124
|
-
if (matches.length === 0) {
|
|
125
|
-
return `No matches in ${rootLabel} (${rootPath}).`;
|
|
126
|
-
}
|
|
127
|
-
const lines = matches.map((m) => `${m.file}:${m.line}: ${m.text}`);
|
|
128
|
-
return [`${rootLabel} (${rootPath})`, "", ...lines].join("\n");
|
|
129
|
-
}
|
|
130
|
-
//# sourceMappingURL=search.js.map
|
package/dist/search.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"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"}
|