jsx-prop-lookup-mcp-server 3.0.4 → 3.3.3
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 +7 -11
- package/dist/index.js +48 -19
- package/dist/index.js.map +1 -1
- package/dist/jsx-analyzer.d.ts +0 -5
- package/dist/jsx-analyzer.d.ts.map +1 -1
- package/dist/jsx-analyzer.js +9 -138
- package/dist/jsx-analyzer.js.map +1 -1
- package/package.json +3 -2
- package/dist/__tests__/jsx-analyzer.test.d.ts +0 -2
- package/dist/__tests__/jsx-analyzer.test.d.ts.map +0 -1
- package/dist/__tests__/jsx-analyzer.test.js +0 -492
- package/dist/__tests__/jsx-analyzer.test.js.map +0 -1
- package/dist/__tests__/mcp-server-integration.test.d.ts +0 -2
- package/dist/__tests__/mcp-server-integration.test.d.ts.map +0 -1
- package/dist/__tests__/mcp-server-integration.test.js +0 -306
- package/dist/__tests__/mcp-server-integration.test.js.map +0 -1
- package/dist/config/logging-config.d.ts +0 -5
- package/dist/config/logging-config.d.ts.map +0 -1
- package/dist/config/logging-config.js +0 -44
- package/dist/config/logging-config.js.map +0 -1
- package/dist/middleware/logging-middleware.d.ts +0 -14
- package/dist/middleware/logging-middleware.d.ts.map +0 -1
- package/dist/middleware/logging-middleware.js +0 -75
- package/dist/middleware/logging-middleware.js.map +0 -1
- package/dist/services/logging-service.d.ts +0 -50
- package/dist/services/logging-service.d.ts.map +0 -1
- package/dist/services/logging-service.js +0 -181
- package/dist/services/logging-service.js.map +0 -1
- package/dist/services/session-manager.d.ts +0 -30
- package/dist/services/session-manager.d.ts.map +0 -1
- package/dist/services/session-manager.js +0 -68
- package/dist/services/session-manager.js.map +0 -1
- package/dist/types/logging-types.d.ts +0 -74
- package/dist/types/logging-types.d.ts.map +0 -1
- package/dist/types/logging-types.js +0 -2
- package/dist/types/logging-types.js.map +0 -1
- package/dist/utils/data-capture.d.ts +0 -23
- package/dist/utils/data-capture.d.ts.map +0 -1
- package/dist/utils/data-capture.js +0 -141
- package/dist/utils/data-capture.js.map +0 -1
- package/dist/utils/fingerprint.d.ts +0 -24
- package/dist/utils/fingerprint.d.ts.map +0 -1
- package/dist/utils/fingerprint.js +0 -48
- package/dist/utils/fingerprint.js.map +0 -1
package/README.md
CHANGED
|
@@ -6,9 +6,8 @@ An MCP (Model Context Protocol) server that analyzes JSX prop usage in React/Typ
|
|
|
6
6
|
|
|
7
7
|
- **AST-based Analysis**: Uses Babel parser for accurate JSX/TSX parsing
|
|
8
8
|
- **Prop Usage Tracking**: Find where props are used across components
|
|
9
|
-
- **Component Analysis**: Analyze prop definitions and usage patterns
|
|
9
|
+
- **Component Analysis**: Analyze prop definitions and usage patterns
|
|
10
10
|
- **TypeScript Support**: Includes TypeScript interface analysis
|
|
11
|
-
- **Identifier Param Support**: Detects props accessed via identifier parameters (not just destructured), e.g., `p.onClick` and `buttonProps.disabled` inside function/arrow component bodies
|
|
12
11
|
- **Multiple Search Options**: Search by component, prop name, or analyze entire directories
|
|
13
12
|
|
|
14
13
|
## Installation
|
|
@@ -49,27 +48,27 @@ Analyze JSX prop usage in files or directories.
|
|
|
49
48
|
- `includeTypes` (optional): Include TypeScript type information (default: true)
|
|
50
49
|
|
|
51
50
|
### 2. `find_prop_usage`
|
|
52
|
-
Find all usages of a specific prop across JSX files.
|
|
51
|
+
Find all usages of a specific prop across JSX files.
|
|
53
52
|
|
|
54
53
|
**Parameters:**
|
|
55
54
|
- `propName` (required): Name of the prop to search for
|
|
56
|
-
- `directory` (optional): Directory to search in (default: ".")
|
|
55
|
+
- `directory` (optional): Directory to search in (default: ".")
|
|
57
56
|
- `componentName` (optional): Limit search to specific component
|
|
58
57
|
|
|
59
58
|
### 3. `get_component_props`
|
|
60
|
-
Get all props used by a specific component.
|
|
59
|
+
Get all props used by a specific component.
|
|
61
60
|
|
|
62
61
|
**Parameters:**
|
|
63
62
|
- `componentName` (required): Name of the component to analyze
|
|
64
|
-
- `directory` (optional): Directory to search in (default: ".")
|
|
63
|
+
- `directory` (optional): Directory to search in (default: ".")
|
|
65
64
|
|
|
66
65
|
### 4. `find_components_without_prop`
|
|
67
|
-
Find component instances that are missing a required prop (e.g., Select components without width prop).
|
|
66
|
+
Find component instances that are missing a required prop (e.g., Select components without width prop).
|
|
68
67
|
|
|
69
68
|
**Parameters:**
|
|
70
69
|
- `componentName` (required): Name of the component to check (e.g., "Select")
|
|
71
70
|
- `requiredProp` (required): Name of the required prop (e.g., "width")
|
|
72
|
-
- `directory` (optional): Directory to search in (default: ".")
|
|
71
|
+
- `directory` (optional): Directory to search in (default: ".")
|
|
73
72
|
|
|
74
73
|
## Example Output
|
|
75
74
|
|
|
@@ -109,9 +108,6 @@ Find component instances that are missing a required prop (e.g., Select componen
|
|
|
109
108
|
}
|
|
110
109
|
```
|
|
111
110
|
|
|
112
|
-
### Component name matching
|
|
113
|
-
- Namespaced JSX components (e.g., `UI.Select`) are supported. You can target either the full dotted name (e.g., `UI.Select`) or the local component name (e.g., `Select`) in tool inputs. Results record the full dotted name where applicable.
|
|
114
|
-
|
|
115
111
|
## Supported File Types
|
|
116
112
|
|
|
117
113
|
- `.js` - JavaScript
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,29 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
|
8
8
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
10
10
|
import { JSXPropAnalyzer } from './jsx-analyzer.js';
|
|
11
|
+
import * as path from 'path';
|
|
12
|
+
/**
|
|
13
|
+
* Validates that a path is absolute. Rejects relative paths with a hard error.
|
|
14
|
+
* @param rawPath - The path to validate
|
|
15
|
+
* @param paramName - The parameter name for error messages
|
|
16
|
+
* @returns The validated absolute path
|
|
17
|
+
* @throws Error if path is not absolute
|
|
18
|
+
*/
|
|
19
|
+
function validateAbsolutePath(rawPath, paramName = 'path') {
|
|
20
|
+
if (typeof rawPath !== 'string') {
|
|
21
|
+
throw new Error(`Invalid argument: ${paramName} must be a string`);
|
|
22
|
+
}
|
|
23
|
+
const trimmedPath = rawPath.trim();
|
|
24
|
+
if (!trimmedPath) {
|
|
25
|
+
throw new Error(`Invalid argument: ${paramName} must be a non-empty string`);
|
|
26
|
+
}
|
|
27
|
+
if (!path.isAbsolute(trimmedPath)) {
|
|
28
|
+
const err = new Error(`Relative or non-absolute paths are not allowed. Provide an absolute path for ${paramName}`);
|
|
29
|
+
err.code = 'INVALID_ABSOLUTE_PATH';
|
|
30
|
+
throw err;
|
|
31
|
+
}
|
|
32
|
+
return trimmedPath;
|
|
33
|
+
}
|
|
11
34
|
const server = new Server({
|
|
12
35
|
name: 'jsx-prop-lookup-server',
|
|
13
36
|
version: '1.0.0',
|
|
@@ -28,11 +51,11 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
28
51
|
properties: {
|
|
29
52
|
path: {
|
|
30
53
|
type: 'string',
|
|
31
|
-
description: '
|
|
54
|
+
description: 'Absolute path to file or directory to analyze. Relative paths are not allowed.',
|
|
32
55
|
},
|
|
33
56
|
componentName: {
|
|
34
57
|
type: 'string',
|
|
35
|
-
description: '
|
|
58
|
+
description: 'Specific component name to analyze',
|
|
36
59
|
},
|
|
37
60
|
propName: {
|
|
38
61
|
type: 'string',
|
|
@@ -44,7 +67,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
44
67
|
default: true,
|
|
45
68
|
},
|
|
46
69
|
},
|
|
47
|
-
required: ['path'],
|
|
70
|
+
required: ['path', 'componentName'],
|
|
48
71
|
},
|
|
49
72
|
},
|
|
50
73
|
{
|
|
@@ -57,17 +80,16 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
57
80
|
type: 'string',
|
|
58
81
|
description: 'Name of the prop to search for',
|
|
59
82
|
},
|
|
60
|
-
|
|
83
|
+
path: {
|
|
61
84
|
type: 'string',
|
|
62
|
-
description: '
|
|
63
|
-
default: '.',
|
|
85
|
+
description: 'Absolute path to directory to search in. Relative paths are not allowed.',
|
|
64
86
|
},
|
|
65
87
|
componentName: {
|
|
66
88
|
type: 'string',
|
|
67
89
|
description: 'Optional: limit search to specific component',
|
|
68
90
|
},
|
|
69
91
|
},
|
|
70
|
-
required: ['propName'],
|
|
92
|
+
required: ['propName', 'path', 'componentName'],
|
|
71
93
|
},
|
|
72
94
|
},
|
|
73
95
|
{
|
|
@@ -80,13 +102,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
80
102
|
type: 'string',
|
|
81
103
|
description: 'Name of the component to analyze',
|
|
82
104
|
},
|
|
83
|
-
|
|
105
|
+
path: {
|
|
84
106
|
type: 'string',
|
|
85
|
-
description: '
|
|
86
|
-
default: '.',
|
|
107
|
+
description: 'Absolute path to directory to search in. Relative paths are not allowed.',
|
|
87
108
|
},
|
|
88
109
|
},
|
|
89
|
-
required: ['componentName'],
|
|
110
|
+
required: ['componentName', 'path'],
|
|
90
111
|
},
|
|
91
112
|
},
|
|
92
113
|
{
|
|
@@ -103,13 +124,17 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
103
124
|
type: 'string',
|
|
104
125
|
description: 'Name of the required prop (e.g., "width")',
|
|
105
126
|
},
|
|
106
|
-
|
|
127
|
+
path: {
|
|
107
128
|
type: 'string',
|
|
108
|
-
description: '
|
|
109
|
-
|
|
129
|
+
description: 'Absolute path to directory to search in. Relative paths are not allowed.',
|
|
130
|
+
},
|
|
131
|
+
assumeSpreadHasRequiredProp: {
|
|
132
|
+
type: 'boolean',
|
|
133
|
+
description: 'If true, any JSX spread attribute is assumed to provide the required prop.',
|
|
134
|
+
default: true,
|
|
110
135
|
},
|
|
111
136
|
},
|
|
112
|
-
required: ['componentName', 'requiredProp'],
|
|
137
|
+
required: ['componentName', 'requiredProp', 'path'],
|
|
113
138
|
},
|
|
114
139
|
},
|
|
115
140
|
],
|
|
@@ -124,7 +149,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
124
149
|
try {
|
|
125
150
|
switch (name) {
|
|
126
151
|
case 'analyze_jsx_props': {
|
|
127
|
-
const
|
|
152
|
+
const validatedPath = validateAbsolutePath(args.path, 'path');
|
|
153
|
+
const result = await analyzer.analyzeProps(validatedPath, args.componentName, args.propName, args.includeTypes ?? true);
|
|
128
154
|
return {
|
|
129
155
|
content: [
|
|
130
156
|
{
|
|
@@ -135,7 +161,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
135
161
|
};
|
|
136
162
|
}
|
|
137
163
|
case 'find_prop_usage': {
|
|
138
|
-
const
|
|
164
|
+
const validatedPath = validateAbsolutePath(args.path, 'path');
|
|
165
|
+
const result = await analyzer.findPropUsage(args.propName, validatedPath, args.componentName);
|
|
139
166
|
return {
|
|
140
167
|
content: [
|
|
141
168
|
{
|
|
@@ -146,7 +173,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
146
173
|
};
|
|
147
174
|
}
|
|
148
175
|
case 'get_component_props': {
|
|
149
|
-
const
|
|
176
|
+
const validatedPath = validateAbsolutePath(args.path, 'path');
|
|
177
|
+
const result = await analyzer.getComponentProps(args.componentName, validatedPath);
|
|
150
178
|
return {
|
|
151
179
|
content: [
|
|
152
180
|
{
|
|
@@ -157,7 +185,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
157
185
|
};
|
|
158
186
|
}
|
|
159
187
|
case 'find_components_without_prop': {
|
|
160
|
-
const
|
|
188
|
+
const validatedPath = validateAbsolutePath(args.path, 'path');
|
|
189
|
+
const result = await analyzer.findComponentsWithoutProp(args.componentName, args.requiredProp, validatedPath);
|
|
161
190
|
return {
|
|
162
191
|
content: [
|
|
163
192
|
{
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,iDAAiD;AACjD,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IAClD,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/jsx-analyzer.d.ts
CHANGED
|
@@ -47,10 +47,5 @@ export declare class JSXPropAnalyzer {
|
|
|
47
47
|
private findPropsInFunctionBody;
|
|
48
48
|
private analyzeObjectPattern;
|
|
49
49
|
private analyzeJSXElement;
|
|
50
|
-
/**
|
|
51
|
-
* Check if a directory appears to be a valid project directory
|
|
52
|
-
* by looking for common project indicators
|
|
53
|
-
*/
|
|
54
|
-
private isProjectDirectory;
|
|
55
50
|
}
|
|
56
51
|
//# sourceMappingURL=jsx-analyzer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-analyzer.d.ts","sourceRoot":"","sources":["../src/jsx-analyzer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jsx-analyzer.d.ts","sourceRoot":"","sources":["../src/jsx-analyzer.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IAEhE,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,GAAE,OAAc,GAC3B,OAAO,CAAC,cAAc,CAAC;IA0BpB,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAY,EACvB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,EAAE,CAAC;IAKjB,iBAAiB,CACrB,aAAa,EAAE,MAAM,EACrB,SAAS,GAAE,MAAY,GACtB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAKzB,yBAAyB,CAC7B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,SAAS,GAAE,MAAY,GACtB,OAAO,CAAC;QACT,iBAAiB,EAAE,KAAK,CAAC;YACvB,aAAa,EAAE,MAAM,CAAC;YACtB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,aAAa,EAAE,MAAM,EAAE,CAAC;SACzB,CAAC,CAAC;QACH,OAAO,EAAE;YACP,cAAc,EAAE,MAAM,CAAC;YACvB,gBAAgB,EAAE,MAAM,CAAC;YACzB,qBAAqB,EAAE,MAAM,CAAC;SAC/B,CAAC;KACH,CAAC;YAmHY,QAAQ;YAqCR,WAAW;IAgJzB,OAAO,CAAC,uBAAuB;IA+B/B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,iBAAiB;CA+D1B"}
|
package/dist/jsx-analyzer.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { parse } from '@babel/parser';
|
|
2
|
+
// @ts-ignore
|
|
2
3
|
import traverse from '@babel/traverse';
|
|
3
4
|
import * as t from '@babel/types';
|
|
4
|
-
import { readFileSync, statSync
|
|
5
|
+
import { readFileSync, statSync } from 'fs';
|
|
5
6
|
import { glob } from 'glob';
|
|
6
|
-
import { join, extname
|
|
7
|
+
import { join, extname } from 'path';
|
|
7
8
|
export class JSXPropAnalyzer {
|
|
8
9
|
supportedExtensions = ['.js', '.jsx', '.ts', '.tsx'];
|
|
9
10
|
async analyzeProps(path, componentName, propName, includeTypes = true) {
|
|
@@ -143,94 +144,20 @@ export class JSXPropAnalyzer {
|
|
|
143
144
|
}
|
|
144
145
|
async getFiles(path) {
|
|
145
146
|
try {
|
|
146
|
-
|
|
147
|
-
const resolvedPath = resolve(path);
|
|
148
|
-
// Safety check: prevent scanning from too high up in the file system
|
|
149
|
-
const homePath = process.env.HOME || process.env.USERPROFILE || '';
|
|
150
|
-
if (resolvedPath === '/' || resolvedPath === homePath || resolvedPath.endsWith(':\\')) {
|
|
151
|
-
throw new Error(`Refusing to scan from root or home directory: ${resolvedPath}. Please specify a more specific project directory.`);
|
|
152
|
-
}
|
|
153
|
-
// Intelligent current directory detection
|
|
154
|
-
// If scanning from current directory ("."), ensure we're in a reasonable project context
|
|
155
|
-
if (path === '.' || resolvedPath === process.cwd()) {
|
|
156
|
-
const cwd = process.cwd();
|
|
157
|
-
// Check if we're in a project directory by looking for common project indicators
|
|
158
|
-
const hasProjectIndicators = this.isProjectDirectory(cwd);
|
|
159
|
-
if (!hasProjectIndicators) {
|
|
160
|
-
throw new Error(`Current directory doesn't appear to be a project directory: ${cwd}. Please run from a project root with package.json, src/ folder, or other project indicators.`);
|
|
161
|
-
}
|
|
162
|
-
// Additional safety: don't scan from too high up (like user home directly)
|
|
163
|
-
if (cwd === homePath) {
|
|
164
|
-
throw new Error(`Cannot scan from user home directory: ${cwd}. Please navigate to a specific project directory.`);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
// Prevent scanning from system directories regardless of where we are
|
|
168
|
-
if (resolvedPath === '/' || resolvedPath === homePath || resolvedPath.endsWith(':\\')) {
|
|
169
|
-
throw new Error(`Refusing to scan from system directory: ${resolvedPath}. Please specify a project directory.`);
|
|
170
|
-
}
|
|
171
|
-
const stat = statSync(resolvedPath);
|
|
147
|
+
const stat = statSync(path);
|
|
172
148
|
if (stat.isFile()) {
|
|
173
|
-
return this.supportedExtensions.includes(extname(
|
|
149
|
+
return this.supportedExtensions.includes(extname(path)) ? [path] : [];
|
|
174
150
|
}
|
|
175
151
|
if (stat.isDirectory()) {
|
|
176
|
-
const pattern = join(
|
|
152
|
+
const pattern = join(path, '**/*.{js,jsx,ts,tsx}');
|
|
177
153
|
const files = await glob(pattern, {
|
|
178
|
-
ignore: [
|
|
179
|
-
|
|
180
|
-
'**/dist/**',
|
|
181
|
-
'**/build/**',
|
|
182
|
-
'**/coverage/**',
|
|
183
|
-
'**/.git/**',
|
|
184
|
-
'**/tmp/**',
|
|
185
|
-
'**/temp/**',
|
|
186
|
-
'**/cache/**',
|
|
187
|
-
'**/Library/**', // Broader exclusion for macOS user data
|
|
188
|
-
'**/AppData/**', // Windows app data
|
|
189
|
-
'**/.history/**', // VSCode/Cursor history
|
|
190
|
-
'**/.*', // Hidden directories/files
|
|
191
|
-
'**/Trash/**',
|
|
192
|
-
'**/Downloads/**',
|
|
193
|
-
'**/Desktop/**',
|
|
194
|
-
'**/Documents/**',
|
|
195
|
-
'**/Pictures/**',
|
|
196
|
-
'**/Music/**',
|
|
197
|
-
'**/Videos/**',
|
|
198
|
-
'**/Applications/**'
|
|
199
|
-
],
|
|
200
|
-
nodir: true, // Explicitly exclude directories
|
|
201
|
-
maxDepth: 8, // Reduce max depth to prevent scanning too deep
|
|
202
|
-
follow: false, // Don't follow symlinks to prevent traversal issues
|
|
203
|
-
absolute: true // Return absolute paths
|
|
154
|
+
ignore: ['**/node_modules/**', '**/dist/**', '**/build/**'],
|
|
155
|
+
nodir: true // Explicitly exclude directories
|
|
204
156
|
});
|
|
205
|
-
//
|
|
206
|
-
if (files.length > 5000) {
|
|
207
|
-
console.warn(`Found ${files.length} files, limiting to first 5000 to prevent performance issues`);
|
|
208
|
-
files.splice(5000);
|
|
209
|
-
}
|
|
210
|
-
// Double-check each file to ensure it's actually a file and within expected bounds
|
|
157
|
+
// Double-check each file to ensure it's actually a file
|
|
211
158
|
const validFiles = [];
|
|
212
159
|
for (const file of files) {
|
|
213
160
|
try {
|
|
214
|
-
// Ensure the file is within the resolved path (prevent traversal)
|
|
215
|
-
const relativeFile = relative(resolvedPath, file);
|
|
216
|
-
if (relativeFile.startsWith('..')) {
|
|
217
|
-
console.warn(`Skipping file outside target directory: ${file}`);
|
|
218
|
-
continue;
|
|
219
|
-
}
|
|
220
|
-
// Additional check: skip files in system/user directories
|
|
221
|
-
if (file.includes('Library/Application Support') ||
|
|
222
|
-
file.includes('AppData') ||
|
|
223
|
-
file.includes('/.history/') ||
|
|
224
|
-
file.includes('/Trash/') ||
|
|
225
|
-
file.includes('/Downloads/') ||
|
|
226
|
-
file.includes('/Desktop/') ||
|
|
227
|
-
file.includes('/Documents/') ||
|
|
228
|
-
file.includes('/Pictures/') ||
|
|
229
|
-
file.includes('/Music/') ||
|
|
230
|
-
file.includes('/Videos/')) {
|
|
231
|
-
console.warn(`Skipping system/user directory file: ${file}`);
|
|
232
|
-
continue;
|
|
233
|
-
}
|
|
234
161
|
const fileStat = statSync(file);
|
|
235
162
|
if (fileStat.isFile() && this.supportedExtensions.includes(extname(file))) {
|
|
236
163
|
validFiles.push(file);
|
|
@@ -240,8 +167,6 @@ export class JSXPropAnalyzer {
|
|
|
240
167
|
console.warn(`Skipping invalid file: ${file}`, error.message);
|
|
241
168
|
}
|
|
242
169
|
}
|
|
243
|
-
console.log(`Scanning directory: ${resolvedPath}`);
|
|
244
|
-
console.log(`Found ${validFiles.length} valid files to analyze`);
|
|
245
170
|
return validFiles;
|
|
246
171
|
}
|
|
247
172
|
return [];
|
|
@@ -491,59 +416,5 @@ export class JSXPropAnalyzer {
|
|
|
491
416
|
}
|
|
492
417
|
}
|
|
493
418
|
}
|
|
494
|
-
/**
|
|
495
|
-
* Check if a directory appears to be a valid project directory
|
|
496
|
-
* by looking for common project indicators
|
|
497
|
-
*/
|
|
498
|
-
isProjectDirectory(dirPath) {
|
|
499
|
-
try {
|
|
500
|
-
// Common project files/directories that indicate this is a project root
|
|
501
|
-
const projectIndicators = [
|
|
502
|
-
'package.json',
|
|
503
|
-
'tsconfig.json',
|
|
504
|
-
'jsconfig.json',
|
|
505
|
-
'yarn.lock',
|
|
506
|
-
'pnpm-lock.yaml',
|
|
507
|
-
'package-lock.json',
|
|
508
|
-
'bower.json',
|
|
509
|
-
'composer.json',
|
|
510
|
-
'Gemfile',
|
|
511
|
-
'requirements.txt',
|
|
512
|
-
'Pipfile',
|
|
513
|
-
'go.mod',
|
|
514
|
-
'Cargo.toml',
|
|
515
|
-
'pom.xml',
|
|
516
|
-
'build.gradle',
|
|
517
|
-
'CMakeLists.txt',
|
|
518
|
-
'Makefile',
|
|
519
|
-
'src/',
|
|
520
|
-
'lib/',
|
|
521
|
-
'app/',
|
|
522
|
-
'components/',
|
|
523
|
-
'pages/',
|
|
524
|
-
'views/',
|
|
525
|
-
'public/',
|
|
526
|
-
'assets/',
|
|
527
|
-
'static/',
|
|
528
|
-
'.git/',
|
|
529
|
-
'.gitignore',
|
|
530
|
-
'README.md',
|
|
531
|
-
'README.txt',
|
|
532
|
-
'README'
|
|
533
|
-
];
|
|
534
|
-
// Check if any of these indicators exist in the directory
|
|
535
|
-
for (const indicator of projectIndicators) {
|
|
536
|
-
const fullPath = join(dirPath, indicator);
|
|
537
|
-
if (existsSync(fullPath)) {
|
|
538
|
-
return true;
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
|
-
return false;
|
|
542
|
-
}
|
|
543
|
-
catch (error) {
|
|
544
|
-
// If we can't read the directory, assume it's not a project directory
|
|
545
|
-
return false;
|
|
546
|
-
}
|
|
547
|
-
}
|
|
548
419
|
}
|
|
549
420
|
//# sourceMappingURL=jsx-analyzer.js.map
|
package/dist/jsx-analyzer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-analyzer.js","sourceRoot":"","sources":["../src/jsx-analyzer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jsx-analyzer.js","sourceRoot":"","sources":["../src/jsx-analyzer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jsx-prop-lookup-mcp-server",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.3",
|
|
4
4
|
"description": "MCP server for analyzing JSX prop usage using AST",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"scripts": {
|
|
19
19
|
"build": "tsc",
|
|
20
20
|
"start": "node dist/index.js",
|
|
21
|
-
"dev": "tsx src/index.ts"
|
|
21
|
+
"dev": "tsx src/index.ts",
|
|
22
|
+
"prepublishOnly": "npm run build"
|
|
22
23
|
},
|
|
23
24
|
"bin": {
|
|
24
25
|
"jsx-prop-lookup-mcp-server": "dist/index.js"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-analyzer.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/jsx-analyzer.test.ts"],"names":[],"mappings":""}
|