rivet-design 0.1.31 → 0.1.33

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.
Files changed (36) hide show
  1. package/dist/proxy-middleware/proxy-config.js +1 -1
  2. package/dist/proxy-middleware/proxy-config.js.map +1 -1
  3. package/dist/routes/components.d.ts +1 -1
  4. package/dist/routes/components.d.ts.map +1 -1
  5. package/dist/routes/components.js +7 -2
  6. package/dist/routes/components.js.map +1 -1
  7. package/dist/routes/modifications.d.ts.map +1 -1
  8. package/dist/routes/modifications.js +45 -26
  9. package/dist/routes/modifications.js.map +1 -1
  10. package/dist/scripts/react-instrumentation.js +300 -0
  11. package/dist/services/ComponentSearchService.d.ts +16 -2
  12. package/dist/services/ComponentSearchService.d.ts.map +1 -1
  13. package/dist/services/ComponentSearchService.js +180 -25
  14. package/dist/services/ComponentSearchService.js.map +1 -1
  15. package/dist/services/ImportResolverService.d.ts +30 -0
  16. package/dist/services/ImportResolverService.d.ts.map +1 -0
  17. package/dist/services/ImportResolverService.js +136 -0
  18. package/dist/services/ImportResolverService.js.map +1 -0
  19. package/dist/services/LLMService.d.ts +16 -4
  20. package/dist/services/LLMService.d.ts.map +1 -1
  21. package/dist/services/LLMService.js +26 -31
  22. package/dist/services/LLMService.js.map +1 -1
  23. package/dist/services/LocalGitService.d.ts.map +1 -1
  24. package/dist/services/LocalGitService.js +4 -2
  25. package/dist/services/LocalGitService.js.map +1 -1
  26. package/dist/services/ReactComponentPlugin.d.ts +44 -0
  27. package/dist/services/ReactComponentPlugin.d.ts.map +1 -0
  28. package/dist/services/ReactComponentPlugin.js +100 -0
  29. package/dist/services/ReactComponentPlugin.js.map +1 -0
  30. package/dist/types/change-types.d.ts +12 -1
  31. package/dist/types/change-types.d.ts.map +1 -1
  32. package/package.json +2 -2
  33. package/src/ui/dist/assets/{main-D1LQnQOA.js → main-iyRuIyoW.js} +83 -62
  34. package/src/ui/dist/assets/main-pN12Dur2.css +1 -0
  35. package/src/ui/dist/index.html +2 -2
  36. package/src/ui/dist/assets/main-BLFbFdUZ.css +0 -1
@@ -37,7 +37,7 @@ const createUserDevServerProxy = (userPort) => {
37
37
  // Log outgoing proxy requests
38
38
  const originalPath = req.url;
39
39
  const proxiedPath = proxyReq.path;
40
- log.info(`Proxying ${req.method} ${originalPath} -> ${proxiedPath} to localhost:${userPort}`);
40
+ log.trace(`Proxying ${req.method} ${originalPath} -> ${proxiedPath} to localhost:${userPort}`);
41
41
  },
42
42
  error: (err, req, res) => {
43
43
  log.error(`Proxy error for ${req.method} ${req.url}:`, err.message);
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-config.js","sourceRoot":"","sources":["../../src/proxy-middleware/proxy-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-config.js","sourceRoot":"","sources":["../../src/proxy-middleware/proxy-config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TelemetryService } from '../services/TelemetryService';
2
2
  export type ComponentMatch = {
3
3
  filePath: string;
4
- confidence: number;
4
+ depth?: number;
5
5
  };
6
6
  export declare const createComponentRouter: (projectPath: string, telemetry?: TelemetryService) => import("express-serve-static-core").Router;
7
7
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAIhE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAYF,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,EACnB,YAAY,gBAAgB,+CA8F7B,CAAC"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAOhE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAYF,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,EACnB,YAAY,gBAAgB,+CAqG7B,CAAC"}
@@ -6,6 +6,8 @@ exports.createComponentRouter = void 0;
6
6
  const express_1 = require("express");
7
7
  const index_core_1 = require("../index-core");
8
8
  const log = (0, index_core_1.createLogger)('ComponentRoutes');
9
+ // These will be sent to the LLM as context
10
+ const MAX_FILE_MATCHES_PER_ELEMENT = 6;
9
11
  const createComponentRouter = (projectPath, telemetry) => {
10
12
  const router = (0, express_1.Router)();
11
13
  // Component search endpoint
@@ -48,14 +50,17 @@ const createComponentRouter = (projectPath, telemetry) => {
48
50
  resultCount: totalMatches,
49
51
  searchTimeMs,
50
52
  });
51
- // Return elements with filePath populated from search results
53
+ // Return elements with filePaths populated from search results
52
54
  const elementsWithFilePaths = elements
53
55
  .map((element, index) => {
54
56
  const result = results[index];
55
57
  if (result && !result.error && result.matches.length > 0) {
58
+ const topMatches = result.matches.slice(0, MAX_FILE_MATCHES_PER_ELEMENT);
56
59
  return {
57
60
  ...element,
58
- filePath: result.matches[0].filePath, // Use best match
61
+ filePaths: topMatches.map((m) => ({
62
+ filePath: m.filePath,
63
+ })),
59
64
  };
60
65
  }
61
66
  log.info(`Cannot find file for element ${index}: ${element.tagName}`);
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/routes/components.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"modifications.d.ts","sourceRoot":"","sources":["../../src/routes/modifications.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,cAAc,EAIf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AA4R1E,eAAO,MAAM,wBAAwB,GACnC,gBAAgB,cAAc,GAAG,IAAI,EACrC,YAAY,gBAAgB,EAC5B,iBAAiB,qBAAqB,GAAG,IAAI,+CAiI9C,CAAC"}
1
+ {"version":3,"file":"modifications.d.ts","sourceRoot":"","sources":["../../src/routes/modifications.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,cAAc,EAIf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AA2T1E,eAAO,MAAM,wBAAwB,GACnC,gBAAgB,cAAc,GAAG,IAAI,EACrC,YAAY,gBAAgB,EAC5B,iBAAiB,qBAAqB,GAAG,IAAI,+CAuI9C,CAAC"}
@@ -94,41 +94,59 @@ const readComponentFile = async (filePath) => {
94
94
  */
95
95
  const processMultiFileModifications = async (instruction, elements, temperature = 0.7, image, designTokens, onProgress) => {
96
96
  try {
97
- // Group elements by file (filter out elements without filePath)
98
- const elementsByFile = new Map();
97
+ // Collect all unique file paths from all elements
98
+ const allFilePaths = new Set();
99
99
  for (const element of elements) {
100
- const filePath = element.filePath;
101
- if (!filePath)
100
+ if (!element.filePaths || element.filePaths.length === 0) {
102
101
  continue;
103
- if (!elementsByFile.has(filePath)) {
104
- elementsByFile.set(filePath, []);
105
102
  }
106
- elementsByFile.get(filePath).push(element);
103
+ // Add all files for this element
104
+ for (const fileMatch of element.filePaths) {
105
+ allFilePaths.add(fileMatch.filePath);
106
+ }
107
107
  }
108
108
  const llmService = new index_core_1.LLMService();
109
- // Read all files upfront and build context for all elements
109
+ // Read all files upfront
110
110
  onProgress?.('Reading component files...');
111
- const allContext = [];
112
111
  const fileCodeMap = new Map();
113
- for (const [filePath, fileElements] of elementsByFile) {
114
- log.debug(`Reading file: ${filePath} with ${fileElements.length} elements`);
112
+ log.info(`Reading ${allFilePaths.size} candidate files for LLM context`);
113
+ for (const filePath of allFilePaths) {
115
114
  const readResult = await readComponentFile(filePath);
116
115
  if (!readResult.success) {
116
+ log.warn(`Failed to read candidate file ${filePath}: ${readResult.details}`);
117
+ continue; // Skip failed reads
118
+ }
119
+ fileCodeMap.set(filePath, readResult.code);
120
+ }
121
+ // Build context: each element with all its candidate files
122
+ const allContext = [];
123
+ for (const element of elements) {
124
+ if (!element.filePaths || element.filePaths.length === 0) {
125
+ continue;
126
+ }
127
+ // Collect all candidate files for this element (filter out ones we couldn't read)
128
+ const candidateFiles = [];
129
+ for (const fileMatch of element.filePaths) {
130
+ const code = fileCodeMap.get(fileMatch.filePath);
131
+ if (code !== undefined) {
132
+ candidateFiles.push({
133
+ filePath: fileMatch.filePath,
134
+ code,
135
+ });
136
+ }
137
+ }
138
+ // Require at least one readable file
139
+ if (candidateFiles.length === 0) {
117
140
  return {
118
141
  success: false,
119
- error: `Failed to read ${filePath}`,
120
- details: readResult.details,
142
+ error: `Failed to read any files for element ${element.tagName}`,
143
+ details: 'No readable candidate files found',
121
144
  };
122
145
  }
123
- fileCodeMap.set(filePath, readResult.code);
124
- // Add all elements from this file to the context
125
- for (const element of fileElements) {
126
- allContext.push({
127
- element,
128
- componentCode: readResult.code,
129
- fileName: filePath,
130
- });
131
- }
146
+ allContext.push({
147
+ element,
148
+ candidateFiles,
149
+ });
132
150
  }
133
151
  // Make single LLM call with all elements
134
152
  onProgress?.('Generating code modifications...');
@@ -145,7 +163,8 @@ const processMultiFileModifications = async (instruction, elements, temperature
145
163
  const modifications = [];
146
164
  for (const modResult of result.modifiedCode) {
147
165
  const originalCode = fileCodeMap.get(modResult.filePath);
148
- const fileElements = elementsByFile.get(modResult.filePath) || [];
166
+ // Find all elements that have this file in their filePaths
167
+ const fileElements = elements.filter((el) => el.filePaths?.some((fp) => fp.filePath === modResult.filePath));
149
168
  modifications.push({
150
169
  filePath: modResult.filePath,
151
170
  originalCode: originalCode || '', // Use original if available, empty string otherwise
@@ -230,7 +249,7 @@ const createModificationRouter = (sessionService, telemetry, electronBridge) =>
230
249
  elementCount: elements?.length || 0,
231
250
  instructionLength: instruction?.length || 0,
232
251
  uniqueFiles: elements
233
- ? new Set(elements.map((el) => el.filePath)).size
252
+ ? new Set(elements.flatMap((el) => el.filePaths?.map((fp) => fp.filePath) || [])).size
234
253
  : 0,
235
254
  });
236
255
  // Phase 1: Validation
@@ -246,10 +265,10 @@ const createModificationRouter = (sessionService, telemetry, electronBridge) =>
246
265
  details: 'request.instruction must be a non-empty string',
247
266
  });
248
267
  }
249
- const elementsWithoutPath = elements.filter((el) => !el.filePath);
268
+ const elementsWithoutPath = elements.filter((el) => !el.filePaths || el.filePaths.length === 0);
250
269
  if (elementsWithoutPath.length > 0) {
251
270
  return res.status(400).json({
252
- error: 'All elements must have filePath',
271
+ error: 'All elements must have filePaths',
253
272
  details: 'Ensure component search was successful for all selected elements',
254
273
  });
255
274
  }
@@ -1 +1 @@
1
- {"version":3,"file":"modifications.js","sourceRoot":"","sources":["../../src/routes/modifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modifications.js","sourceRoot":"","sources":["../../src/routes/modifications.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,300 @@
1
+ // React DevTools instrumentation for Rivet
2
+ // Uses bippy library for reliable React Fiber tree access
3
+ (function () {
4
+ 'use strict';
5
+
6
+ console.log('[Rivet] React instrumentation loaded');
7
+
8
+ /**
9
+ * Check if React is present on the page by looking for React fiber on any element
10
+ */
11
+ function detectReact() {
12
+ // Check if any DOM element has React fiber attached
13
+ const elements = document.querySelectorAll('*');
14
+ for (let i = 0; i < elements.length; i++) {
15
+ const element = elements[i];
16
+ const hasFiber = Object.keys(element).some(
17
+ (key) =>
18
+ key.startsWith('__reactFiber$') ||
19
+ key.startsWith('__reactInternalInstance$'),
20
+ );
21
+ if (hasFiber) {
22
+ console.log('[Rivet] React detected on page');
23
+ return true;
24
+ }
25
+ }
26
+ return false;
27
+ }
28
+
29
+ /**
30
+ * Load bippy library dynamically
31
+ */
32
+ let bippyLoading = null;
33
+ async function loadBippy() {
34
+ if (window.Bippy) {
35
+ return window.Bippy;
36
+ }
37
+
38
+ // If already loading, wait for it
39
+ if (bippyLoading) {
40
+ return bippyLoading;
41
+ }
42
+
43
+ bippyLoading = new Promise((resolve, reject) => {
44
+ try {
45
+ // Load bippy from CDN (exposes window.Bippy)
46
+ const script = document.createElement('script');
47
+ script.src = 'https://unpkg.com/bippy';
48
+
49
+ script.onload = () => {
50
+ console.log('[Rivet] Bippy library loaded');
51
+ resolve(window.Bippy);
52
+ };
53
+
54
+ script.onerror = () => {
55
+ console.error('[Rivet] Failed to load bippy');
56
+ reject(new Error('Failed to load bippy'));
57
+ };
58
+
59
+ document.head.appendChild(script);
60
+ } catch (error) {
61
+ console.error('[Rivet] Error loading bippy:', error);
62
+ reject(error);
63
+ }
64
+ });
65
+
66
+ return bippyLoading;
67
+ }
68
+
69
+ /**
70
+ * Find the React Fiber node for a DOM element using bippy
71
+ */
72
+ async function getFiberFromElement(element) {
73
+ if (!element) return null;
74
+
75
+ try {
76
+ const Bippy = await loadBippy();
77
+
78
+ if (Bippy && Bippy.getNearestHostFiber) {
79
+ const fiber = Bippy.getNearestHostFiber(element);
80
+ if (fiber) {
81
+ console.log('[Rivet] Got fiber from bippy');
82
+ return fiber;
83
+ }
84
+ }
85
+ } catch (error) {
86
+ console.warn('[Rivet] Error using bippy, falling back to manual:', error);
87
+ }
88
+
89
+ // Fallback to manual method
90
+ console.log('[Rivet] Using manual fiber extraction');
91
+ const fiberKey = Object.keys(element).find(
92
+ (key) =>
93
+ key.startsWith('__reactFiber$') ||
94
+ key.startsWith('__reactInternalInstance$') ||
95
+ key.startsWith('__reactProps$'),
96
+ );
97
+
98
+ if (fiberKey && fiberKey.startsWith('__reactFiber')) {
99
+ return element[fiberKey];
100
+ }
101
+
102
+ if (fiberKey && fiberKey.startsWith('__reactProps')) {
103
+ const fiberId = fiberKey.replace('__reactProps$', '__reactFiber$');
104
+ if (element[fiberId]) {
105
+ return element[fiberId];
106
+ }
107
+ }
108
+
109
+ return null;
110
+ }
111
+
112
+ /**
113
+ * Walk up the Fiber tree to collect ALL parent components with source locations
114
+ */
115
+ async function findAllComponentsInTree(fiber) {
116
+ if (!fiber) return [];
117
+
118
+ const components = [];
119
+ let current = fiber;
120
+ const seenFiles = new Set(); // Avoid duplicates
121
+ let nodeCount = 0;
122
+ let debugInfo = { nodesChecked: 0, nodesWithSource: 0, nodesWithType: 0 };
123
+
124
+ console.log('[Rivet] Walking React Fiber tree...');
125
+
126
+ // Try to load bippy for better component names
127
+ let Bippy = null;
128
+ try {
129
+ Bippy = await loadBippy();
130
+ } catch (e) {
131
+ console.log('[Rivet] Bippy not available, using manual names');
132
+ }
133
+
134
+ while (current && nodeCount < 50) {
135
+ // Limit to prevent infinite loops
136
+ nodeCount++;
137
+ debugInfo.nodesChecked++;
138
+
139
+ // Log fiber node properties for debugging
140
+ if (nodeCount <= 5) {
141
+ console.log(`[Rivet] Fiber node ${nodeCount}:`, {
142
+ type:
143
+ current.type?.name ||
144
+ current.type?.displayName ||
145
+ typeof current.type,
146
+ tag: current.tag,
147
+ hasDebugSource: !!current._debugSource,
148
+ hasDebugOwner: !!current._debugOwner,
149
+ debugSourceFile: current._debugSource?.fileName,
150
+ debugOwnerSourceFile: current._debugOwner?._debugSource?.fileName,
151
+ });
152
+ }
153
+
154
+ // Check if this fiber has debug source (component source location)
155
+ const source = current._debugSource || current._debugOwner?._debugSource;
156
+
157
+ if (source && source.fileName) {
158
+ debugInfo.nodesWithSource++;
159
+
160
+ // Get component name - try bippy first for better names
161
+ let componentName = null;
162
+ if (Bippy && Bippy.getDisplayName) {
163
+ try {
164
+ componentName = Bippy.getDisplayName(current);
165
+ } catch (e) {
166
+ // Bippy failed, fall through to manual
167
+ }
168
+ }
169
+
170
+ // Fallback to manual name extraction
171
+ if (!componentName) {
172
+ if (current.type) {
173
+ debugInfo.nodesWithType++;
174
+ componentName = current.type.name || current.type.displayName;
175
+ } else if (current._debugOwner?.type) {
176
+ componentName =
177
+ current._debugOwner.type.name ||
178
+ current._debugOwner.type.displayName;
179
+ }
180
+ }
181
+
182
+ // Only add if we haven't seen this file yet
183
+ const fileKey = `${source.fileName}:${source.lineNumber}`;
184
+ if (!seenFiles.has(fileKey)) {
185
+ seenFiles.add(fileKey);
186
+ components.push({
187
+ filePath: source.fileName,
188
+ line: source.lineNumber,
189
+ column: source.columnNumber,
190
+ componentName: componentName || 'Unknown',
191
+ });
192
+ console.log(
193
+ `[Rivet] Found component: ${componentName || 'Unknown'} at ${source.fileName}:${source.lineNumber}`,
194
+ );
195
+ }
196
+ }
197
+
198
+ // Move up the tree (return fiber -> parent fiber)
199
+ current = current.return;
200
+ }
201
+
202
+ console.log('[Rivet] Fiber tree walk complete:', debugInfo);
203
+
204
+ return components;
205
+ }
206
+
207
+ /**
208
+ * Extract component information from a DOM element
209
+ * Returns ALL parent components in the tree hierarchy
210
+ */
211
+ async function getComponentInfo(element) {
212
+ if (!element || !(element instanceof HTMLElement)) {
213
+ return null;
214
+ }
215
+
216
+ try {
217
+ // Find the fiber node for this element (async with bippy)
218
+ const fiber = await getFiberFromElement(element);
219
+ if (!fiber) {
220
+ console.warn('[Rivet] No fiber found for element:', element);
221
+ return null;
222
+ }
223
+
224
+ // Find ALL components in the fiber tree (async with bippy)
225
+ const components = await findAllComponentsInTree(fiber);
226
+ if (components.length === 0) {
227
+ console.warn('[Rivet] No component source found for element:', element);
228
+ return null;
229
+ }
230
+
231
+ // Clean file paths for all components
232
+ const cleanedComponents = components.map((comp) => {
233
+ let filePath = comp.filePath;
234
+
235
+ // Remove webpack prefixes like "webpack://" or "webpack-internal:///"
236
+ filePath = filePath.replace(/^webpack(-internal)?:\/\/\//, '');
237
+ filePath = filePath.replace(/^\.\//, '');
238
+
239
+ // For Create React App and similar, remove the leading dot-slash
240
+ if (filePath.startsWith('./')) {
241
+ filePath = filePath.substring(2);
242
+ }
243
+
244
+ return {
245
+ filePath,
246
+ line: comp.line,
247
+ column: comp.column,
248
+ componentName: comp.componentName,
249
+ };
250
+ });
251
+
252
+ console.log(
253
+ `[Rivet] Found ${cleanedComponents.length} components in tree:`,
254
+ cleanedComponents,
255
+ );
256
+
257
+ // Return the component hierarchy
258
+ return {
259
+ components: cleanedComponents,
260
+ // Primary component is the first (closest to selected element)
261
+ primaryComponent: cleanedComponents[0],
262
+ };
263
+ } catch (error) {
264
+ console.error('[Rivet] Error extracting component info:', error);
265
+ return null;
266
+ }
267
+ }
268
+
269
+ /**
270
+ * Check if React is available
271
+ */
272
+ function isReactAvailable() {
273
+ return detectReact();
274
+ }
275
+
276
+ // Try to detect React on page load
277
+ if (document.readyState === 'loading') {
278
+ document.addEventListener('DOMContentLoaded', () => {
279
+ if (detectReact()) {
280
+ console.log('[Rivet] React instrumentation ready');
281
+ }
282
+ });
283
+ } else {
284
+ // Page already loaded, check now
285
+ if (detectReact()) {
286
+ console.log('[Rivet] React instrumentation ready');
287
+ }
288
+ }
289
+
290
+ // Expose API on window
291
+ window.__RIVET_REACT__ = {
292
+ getComponentInfo,
293
+ isReactAvailable,
294
+ version: '1.0.0',
295
+ };
296
+
297
+ console.log(
298
+ '[Rivet] React instrumentation API exposed on window.__RIVET_REACT__',
299
+ );
300
+ })();
@@ -1,9 +1,23 @@
1
1
  import { ComponentMatch } from '../routes/components';
2
+ import { ComponentNode } from '../types/change-types';
2
3
  export declare class ComponentSearchService {
3
4
  private log;
4
5
  /**
5
- * Find components that contain the selected element's className, id, or text
6
- * TODO: Evolve this to identify React components
6
+ * Extract meaningful classNames from element, filtering out common utilities
7
+ */
8
+ private extractMeaningfulClassNames;
9
+ /**
10
+ * Capitalize first letter for component name matching
11
+ */
12
+ private capitalize;
13
+ /**
14
+ * Find component files by searching for component definitions
15
+ * Searches all tsx/jsx files for export patterns matching component names
16
+ */
17
+ findComponentsByName(projectPath: string, componentTree: ComponentNode[]): Promise<ComponentMatch[]>;
18
+ /**
19
+ * Find components that contain the selected element's className, id, or tag
20
+ * Prioritizes Fiber-based component tree search when available
7
21
  */
8
22
  findMatchingComponents(projectPath: string, element: any): Promise<ComponentMatch[]>;
9
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentSearchService.d.ts","sourceRoot":"","sources":["../../src/services/ComponentSearchService.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,GAAG,CAA0C;IAErD;;;OAGG;IACG,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EAEnB,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,cAAc,EAAE,CAAC;CA0D7B"}
1
+ {"version":3,"file":"ComponentSearchService.d.ts","sourceRoot":"","sources":["../../src/services/ComponentSearchService.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA0BtD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,GAAG,CAA0C;IAErD;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAcnC;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;;OAGG;IACG,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAAE,GAC7B,OAAO,CAAC,cAAc,EAAE,CAAC;IAoG5B;;;OAGG;IACG,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EAEnB,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,cAAc,EAAE,CAAC;CAwH7B"}