mcp-code-context 3.8.1 → 3.9.1
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/CHANGELOG.md +26 -0
- package/INSTRUCTIONS.md +2 -2
- package/README.md +23 -11
- package/dist/src/core/engine.d.ts +1 -1
- package/dist/src/core/engine.js +1 -1
- package/dist/src/core/indexManager.d.ts +1 -1
- package/dist/src/core/indexManager.js +1 -1
- package/dist/src/core/sessionManager.d.ts +1 -1
- package/dist/src/core/sessionManager.js +1 -1
- package/dist/src/core/validator.d.ts +1 -1
- package/dist/src/core/validator.js +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/operations/astTransform.d.ts +1 -1
- package/dist/src/operations/astTransform.js +1 -1
- package/dist/src/operations/compress.d.ts +1 -1
- package/dist/src/operations/compress.js +53 -2
- package/dist/src/operations/compress.js.map +1 -1
- package/dist/src/operations/confirmationStore.d.ts +1 -1
- package/dist/src/operations/confirmationStore.js +1 -1
- package/dist/src/operations/impactAnalysis.js +11 -0
- package/dist/src/operations/impactAnalysis.js.map +1 -1
- package/dist/src/operations/write.d.ts +1 -1
- package/dist/src/operations/write.js +1 -1
- package/dist/src/parsers/base.d.ts +2 -2
- package/dist/src/parsers/base.js +2 -2
- package/dist/src/parsers/csharp.d.ts +1 -1
- package/dist/src/parsers/csharp.js +1 -1
- package/dist/src/parsers/dartTreeSitter.d.ts +1 -1
- package/dist/src/parsers/dartTreeSitter.js +1 -1
- package/dist/src/parsers/go.d.ts +1 -1
- package/dist/src/parsers/go.js +1 -1
- package/dist/src/parsers/java.d.ts +1 -1
- package/dist/src/parsers/java.js +1 -1
- package/dist/src/parsers/kotlin.d.ts +1 -1
- package/dist/src/parsers/kotlin.js +1 -1
- package/dist/src/parsers/php.d.ts +1 -1
- package/dist/src/parsers/php.js +1 -1
- package/dist/src/parsers/python.d.ts +2 -2
- package/dist/src/parsers/python.js +2 -2
- package/dist/src/parsers/registry.d.ts +1 -1
- package/dist/src/parsers/registry.js +1 -1
- package/dist/src/parsers/ruby.d.ts +2 -2
- package/dist/src/parsers/ruby.js +2 -2
- package/dist/src/parsers/rust.d.ts +1 -1
- package/dist/src/parsers/rust.js +1 -1
- package/dist/src/parsers/typescript.d.ts +1 -1
- package/dist/src/parsers/typescript.js +1 -1
- package/dist/src/tools/pipeline.js +4 -0
- package/dist/src/tools/pipeline.js.map +1 -1
- package/dist/src/tools/readHandlers.d.ts +18 -0
- package/dist/src/tools/readHandlers.js +52 -0
- package/dist/src/tools/readHandlers.js.map +1 -1
- package/dist/src/tools/toolDefinitions.d.ts +45 -0
- package/dist/src/tools/toolDefinitionsCore.d.ts +45 -0
- package/dist/src/tools/toolDefinitionsCore.js +39 -3
- package/dist/src/tools/toolDefinitionsCore.js.map +1 -1
- package/dist/src/utils/appDir.d.ts +1 -1
- package/dist/src/utils/appDir.js +1 -1
- package/dist/src/utils/auditLogger.d.ts +1 -1
- package/dist/src/utils/auditLogger.js +1 -1
- package/dist/src/utils/backupManager.d.ts +1 -1
- package/dist/src/utils/backupManager.js +1 -1
- package/dist/src/utils/constants.d.ts +1 -1
- package/dist/src/utils/constants.js +1 -1
- package/dist/src/utils/diff.d.ts +2 -2
- package/dist/src/utils/diff.js +2 -2
- package/dist/src/utils/fileLock.d.ts +1 -1
- package/dist/src/utils/fileLock.js +1 -1
- package/dist/src/utils/fileWalker.d.ts +1 -1
- package/dist/src/utils/fileWalker.js +1 -1
- package/dist/src/utils/fileWatcher.d.ts +1 -1
- package/dist/src/utils/fileWatcher.js +1 -1
- package/dist/src/utils/fuzzySearch.d.ts +1 -1
- package/dist/src/utils/fuzzySearch.js +1 -1
- package/dist/src/utils/gemDescriptions.json +22 -0
- package/dist/src/utils/gemfileParser.d.ts +17 -0
- package/dist/src/utils/gemfileParser.js +63 -0
- package/dist/src/utils/gemfileParser.js.map +1 -0
- package/dist/src/utils/logger.d.ts +1 -1
- package/dist/src/utils/logger.js +1 -1
- package/dist/src/utils/metaprogramming.d.ts +18 -0
- package/dist/src/utils/metaprogramming.js +139 -0
- package/dist/src/utils/metaprogramming.js.map +1 -0
- package/dist/src/utils/railsRoutes.d.ts +19 -0
- package/dist/src/utils/railsRoutes.js +143 -0
- package/dist/src/utils/railsRoutes.js.map +1 -0
- package/dist/src/utils/railsSchema.d.ts +1 -0
- package/dist/src/utils/railsSchema.js +23 -0
- package/dist/src/utils/railsSchema.js.map +1 -1
- package/dist/src/utils/rateLimiter.d.ts +1 -1
- package/dist/src/utils/rateLimiter.js +1 -1
- package/dist/src/utils/streaming.d.ts +1 -1
- package/dist/src/utils/streaming.js +1 -1
- package/dist/src/utils/telemetry.d.ts +1 -1
- package/dist/src/utils/telemetry.js +1 -1
- package/llms.txt +52 -21
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.9.1] - 2026-07-17
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- **`get_rails_routes` namespace bug** — routes inside `namespace :admin do` / `namespace :api do` now correctly produce prefixed paths (`/admin/users`, `/api/v1/orders`) and namespaced controllers (`admin/users`, `api/v1/orders`). Root cause: the original regex `/^(?:namespace|scope)\s+[:'"]([^'"]+)['"]/` captured `admin do` instead of `admin` when using symbol syntax (`:admin`). Rewrote parser to handle symbol (`:admin`) and string (`'admin'`) syntax separately.
|
|
8
|
+
- **`get_rails_routes` depth tracking** — replaced fragile `do/end` counter with indentation-based namespace stack. Parser now correctly handles nested namespaces (`api > v1`), `resources` blocks with `member do`, and `scope` blocks without false prefix leakage.
|
|
9
|
+
- **`get_semantic_repo_map` Gemfile + Concerns injection** — repo map XML now appends `<gem>` blocks and `<concern>` entries when a Gemfile and concerns directory are present.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## [3.9.0] - 2026-07-17
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
- **`get_gemfile_context`** (R7) — parses `Gemfile` and returns known gems with their implicit Rails behavior. Uses `gemDescriptions.json` lookup table (updateable without recompile). Includes mtime-keyed cache for zero re-read cost.
|
|
18
|
+
- **`find_metaprogramming`** (R3) — scans Ruby files for dynamic method generation entry points: `define_method`, `method_missing`, `class_eval/module_eval`, `instance_eval`, `send/public_send`, `ActiveSupport::Concern`, `included do`, `attr_accessor/reader/writer`, `delegate :to =>`, `has_many :through`. Accepts single file or full directory scan.
|
|
19
|
+
- **`get_rails_routes`** (R2) — parses `config/routes.rb` and returns a structured route map (method, path, controller, action). Supports `resources`, `resource`, explicit HTTP verbs (`get/post/patch/put/delete`), `namespace/scope` prefixing, `root`, and `do`-block nesting warnings. mtime-keyed cache.
|
|
20
|
+
- **Concern Resolution in `analyze_impact`** (R5) — `rubyModuleResolvesToFile()` now checks `app/models/concerns` and `app/controllers/concerns` via `findRailsConcerns()` before falling back to file system candidates. Prevents false positives for stdlib mixins.
|
|
21
|
+
- **`findRailsConcerns()`** utility — scans both concern directories and returns a `Map<moduleName, filePaths[]>` for use by impact analysis and future tools.
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- `gemDescriptions.json` — new data file for gem behavior descriptions (bundled in `src/utils/`)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
3
29
|
## [3.8.1] - 2026-07-16
|
|
4
30
|
|
|
5
31
|
### Added
|
package/INSTRUCTIONS.md
CHANGED
|
@@ -253,7 +253,7 @@ newContent: "{ return 42; }"
|
|
|
253
253
|
|
|
254
254
|
---
|
|
255
255
|
|
|
256
|
-
## 🚀 v3.
|
|
256
|
+
## 🚀 v3.9.1 Features
|
|
257
257
|
|
|
258
258
|
### New Tools
|
|
259
259
|
- **`get_session_stats`**: Session-scoped stats (pending ops, locks held, rate limiter tokens)
|
|
@@ -288,6 +288,6 @@ See `llms.txt` for complete API reference and technical details.
|
|
|
288
288
|
|
|
289
289
|
---
|
|
290
290
|
|
|
291
|
-
**Version**: 3.
|
|
291
|
+
**Version**: 3.9.1
|
|
292
292
|
**Last Updated**: June 8, 2026
|
|
293
293
|
**Status**: Production-ready with session-scoped state and crash recovery
|
package/README.md
CHANGED
|
@@ -75,7 +75,7 @@ Built to be robust and precise. Both read and write engines are tested against r
|
|
|
75
75
|
|
|
76
76
|
### Production-Ready Features
|
|
77
77
|
|
|
78
|
-
| Feature | v3.6.x | v3.
|
|
78
|
+
| Feature | v3.6.x | v3.9.1 | Benefit |
|
|
79
79
|
|---------|--------|--------|---------|
|
|
80
80
|
| Multi-process safety | ✅ | ✅ | No file corruption |
|
|
81
81
|
| Persistent cache | ✅ | ✅ | <100ms cache hits |
|
|
@@ -88,13 +88,22 @@ Built to be robust and precise. Both read and write engines are tested against r
|
|
|
88
88
|
|
|
89
89
|
## Features
|
|
90
90
|
|
|
91
|
-
### What's New in v3.
|
|
91
|
+
### What's New in v3.9.1
|
|
92
92
|
|
|
93
93
|
| Feature | Description |
|
|
94
94
|
|---------|-------------|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
|
|
|
95
|
+
| 🐛 **`get_rails_routes` namespace fix** | Routes inside `namespace :admin do` now correctly produce `/admin/users` paths and `admin/users` controllers. Rewrote parser with indentation-based stack (was fragile do/end counter). |
|
|
96
|
+
| 🗺️ **Repo map: Gems + Concerns** | `get_semantic_repo_map` now appends `<gem>` behavior blocks and `<concern>` entries when Gemfile and concerns directories are present. |
|
|
97
|
+
| 🔧 **`get_rails_routes` nested scopes** | Supports `namespace :api do / namespace :v1 do` double-nesting, `member do` blocks, and `scope` (URL-only prefix). |
|
|
98
|
+
|
|
99
|
+
### Previous: v3.9.0
|
|
100
|
+
|
|
101
|
+
| Feature | Description |
|
|
102
|
+
|---------|-------------|
|
|
103
|
+
| 💎 **`get_gemfile_context`** | Parses Gemfile and returns implicit gem behaviors (devise adds `current_user`, sidekiq adds `perform_async`, etc.) |
|
|
104
|
+
| 🔍 **`find_metaprogramming`** | Scans Ruby files for `define_method`, `method_missing`, `class_eval`, `ActiveSupport::Concern`, `delegate`, `has_many :through` etc. |
|
|
105
|
+
| 🗺️ **`get_rails_routes`** | Parses `config/routes.rb` into structured route map (method, path, controller, action) |
|
|
106
|
+
| 🔗 **Concern resolution in `analyze_impact`** | `rubyModuleResolvesToFile()` checks concerns directories — no more false positives from `include Comparable` |
|
|
98
107
|
|
|
99
108
|
### Previous: v3.8.0
|
|
100
109
|
|
|
@@ -172,7 +181,7 @@ Built to be robust and precise. Both read and write engines are tested against r
|
|
|
172
181
|
|
|
173
182
|
### `get_semantic_repo_map` Tool
|
|
174
183
|
|
|
175
|
-
- **Max files**: Limited to 2000 files to prevent timeouts (increased from 500 in v3.
|
|
184
|
+
- **Max files**: Limited to 2000 files to prevent timeouts (increased from 500 in v3.9.1)
|
|
176
185
|
- **Performance**: Synchronous I/O may take 10-30 seconds on large repositories
|
|
177
186
|
- **Recommendation**: Use `@folder` syntax to target specific directories
|
|
178
187
|
|
|
@@ -199,13 +208,13 @@ npx -y mcp-code-context
|
|
|
199
208
|
|
|
200
209
|
---
|
|
201
210
|
|
|
202
|
-
## Session State (v3.
|
|
211
|
+
## Session State (v3.9.1+)
|
|
203
212
|
|
|
204
|
-
**Important**: v3.
|
|
213
|
+
**Important**: v3.9.1 introduces **session-scoped state** for each MCP client connection. This prevents state leakage when multiple agents (Amazon Q, Kiro, Cursor, etc.) use the same server instance.
|
|
205
214
|
|
|
206
215
|
### What Changed
|
|
207
216
|
|
|
208
|
-
| Before (v3.6.x) | After (v3.
|
|
217
|
+
| Before (v3.6.x) | After (v3.9.1) |
|
|
209
218
|
|----------------|----------------|
|
|
210
219
|
| Global `LockManager` (shared by all clients) | Session-scoped `sessionStates` Map |
|
|
211
220
|
| Global `ConfirmationStore` (in-memory Map) | Session-scoped confirmation store + SQLite persistence |
|
|
@@ -233,8 +242,11 @@ npx -y mcp-code-context
|
|
|
233
242
|
}
|
|
234
243
|
```
|
|
235
244
|
|
|
236
|
-
###
|
|
245
|
+
### Ruby Intelligence Tools (v3.9.x)
|
|
237
246
|
|
|
247
|
+
- `get_gemfile_context` — Parse Gemfile, get implicit gem behaviors (devise, sidekiq, pundit, etc.)
|
|
248
|
+
- `find_metaprogramming` — Scan for `define_method`, `method_missing`, `class_eval`, concerns, `has_many :through`
|
|
249
|
+
- `get_rails_routes` — Parse `config/routes.rb` into structured route map with namespace support
|
|
238
250
|
- `get_session_stats` — Get stats for current session only
|
|
239
251
|
- `clear_session_cache` — Clear cache for current session only
|
|
240
252
|
- `list_pending_operations` — List pending operations for recovery
|
|
@@ -537,7 +549,7 @@ npm run dev
|
|
|
537
549
|
- **Portability:** 100% WASM - no native dependencies, works on all platforms
|
|
538
550
|
- **Tests:** 83 passing (unit + integration + performance + stress)
|
|
539
551
|
|
|
540
|
-
### v3.
|
|
552
|
+
### v3.9.1 Key Changes
|
|
541
553
|
|
|
542
554
|
| Component | Change | Benefit |
|
|
543
555
|
|-----------|--------|---------|
|
package/dist/src/core/engine.js
CHANGED
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* mcp-code-context v3.
|
|
3
|
+
* mcp-code-context v3.9.1 - Tree-sitter WASM Edition (thin bootstrap)
|
|
4
4
|
*/
|
|
5
5
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
6
6
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
@@ -13,7 +13,7 @@ import { TOOLS } from "./tools/toolDefinitions.js";
|
|
|
13
13
|
import { setServerInstances } from "./tools/context.js";
|
|
14
14
|
import { registerPipeline } from "./tools/pipeline.js";
|
|
15
15
|
const SERVER_NAME = "mcp-code-context";
|
|
16
|
-
const SERVER_VERSION = "3.
|
|
16
|
+
const SERVER_VERSION = "3.9.1";
|
|
17
17
|
const server = new Server({ name: SERVER_NAME, version: SERVER_VERSION }, { capabilities: { tools: {} } });
|
|
18
18
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
|
|
19
19
|
registerPipeline(server);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Semantic Compression - v3.
|
|
2
|
+
* Semantic Compression - v3.9.1
|
|
3
3
|
* IMPROVEMENTS: Centralized constants + size limits + timeout + index feeding
|
|
4
4
|
*/
|
|
5
5
|
import * as fs from "node:fs/promises";
|
|
@@ -8,7 +8,8 @@ import * as crypto from "node:crypto";
|
|
|
8
8
|
import { EXCLUDE_DIRS, MAX_FILES_REPO_MAP, MAX_TOTAL_SIZE_BYTES } from "../utils/constants.js";
|
|
9
9
|
import { walkDir } from "../utils/fileWalker.js";
|
|
10
10
|
import { IndexManager } from "../core/indexManager.js";
|
|
11
|
-
import { loadRailsSchema, modelToTable } from "../utils/railsSchema.js";
|
|
11
|
+
import { loadRailsSchema, modelToTable, findRailsConcerns } from "../utils/railsSchema.js";
|
|
12
|
+
import { parseGemfile } from "../utils/gemfileParser.js";
|
|
12
13
|
/**
|
|
13
14
|
* Generate semantic repository map
|
|
14
15
|
*/
|
|
@@ -93,6 +94,32 @@ async function compressRepository(params) {
|
|
|
93
94
|
});
|
|
94
95
|
// Auto-optimize: disable symbols if >100 files or >1000 symbols
|
|
95
96
|
const includeSymbols = params.includeSymbols !== false && files.length <= 100 && totalSymbols <= 1000;
|
|
97
|
+
// Project-wide metadata: Gemfile + Concerns
|
|
98
|
+
let projectMetadata = "";
|
|
99
|
+
if (format === "xml") {
|
|
100
|
+
try {
|
|
101
|
+
const gemfileResult = await parseGemfile(params.projectRoot);
|
|
102
|
+
if (gemfileResult && gemfileResult.knownGems.length > 0) {
|
|
103
|
+
projectMetadata += '\n <!-- Gemfile: installed gems with implicit behavior -->\n';
|
|
104
|
+
for (const gem of gemfileResult.knownGems) {
|
|
105
|
+
projectMetadata += ` <gem name="${gem.name}"${gem.version ? ` version="${gem.version}"` : ""}>\n ${gem.implicitBehavior}\n </gem>\n`;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const concernMap = await findRailsConcerns(params.projectRoot);
|
|
109
|
+
if (concernMap.size > 0) {
|
|
110
|
+
projectMetadata += '\n <!-- Rails Concerns -->\n';
|
|
111
|
+
for (const [concernName, filePaths] of concernMap.entries()) {
|
|
112
|
+
for (const filePath of filePaths) {
|
|
113
|
+
const relPath = path.relative(params.directoryPath, filePath);
|
|
114
|
+
projectMetadata += ` <concern name="${concernName}" file="${relPath}" />\n`;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// Silent fail — metadata is optional
|
|
121
|
+
}
|
|
122
|
+
}
|
|
96
123
|
if (format === "xml") {
|
|
97
124
|
let xml = '<?xml version="1.0" encoding="UTF-8"?>\n<repository>\n';
|
|
98
125
|
for (const file of files) {
|
|
@@ -108,6 +135,7 @@ async function compressRepository(params) {
|
|
|
108
135
|
xml += ' />\n';
|
|
109
136
|
}
|
|
110
137
|
}
|
|
138
|
+
xml += projectMetadata;
|
|
111
139
|
xml += '</repository>';
|
|
112
140
|
if (!includeSymbols) {
|
|
113
141
|
xml += `\n\n<!-- Symbols omitted: ${files.length} files, ${totalSymbols} symbols (auto-optimized for token efficiency) -->`;
|
|
@@ -125,6 +153,29 @@ async function compressRepository(params) {
|
|
|
125
153
|
}
|
|
126
154
|
md += `\n`;
|
|
127
155
|
}
|
|
156
|
+
// Markdown version of metadata
|
|
157
|
+
try {
|
|
158
|
+
const gemfileResult = await parseGemfile(params.projectRoot);
|
|
159
|
+
if (gemfileResult && gemfileResult.knownGems.length > 0) {
|
|
160
|
+
md += `\n## Gems with Implicit Behavior\n`;
|
|
161
|
+
for (const gem of gemfileResult.knownGems) {
|
|
162
|
+
md += `- **${gem.name}**${gem.version ? ` (${gem.version})` : ''}: ${gem.implicitBehavior}\n`;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
const concernMap = await findRailsConcerns(params.projectRoot);
|
|
166
|
+
if (concernMap.size > 0) {
|
|
167
|
+
md += `\n## Rails Concerns\n`;
|
|
168
|
+
for (const [concernName, filePaths] of concernMap.entries()) {
|
|
169
|
+
for (const filePath of filePaths) {
|
|
170
|
+
const relPath = path.relative(params.directoryPath, filePath);
|
|
171
|
+
md += `- **${concernName}**: \`${relPath}\`\n`;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
// Silent fail
|
|
178
|
+
}
|
|
128
179
|
if (!includeSymbols) {
|
|
129
180
|
md += `\n---\n*Symbols omitted: ${files.length} files, ${totalSymbols} symbols (auto-optimized for token efficiency)*\n`;
|
|
130
181
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compress.js","sourceRoot":"","sources":["../../../src/operations/compress.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"compress.js","sourceRoot":"","sources":["../../../src/operations/compress.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,17 @@ import { sanitizeRegexPattern } from "../utils/regexValidator.js";
|
|
|
14
14
|
* Only adds include/extend to impact patterns when a matching file exists.
|
|
15
15
|
*/
|
|
16
16
|
async function rubyModuleResolvesToFile(moduleName, rootDir) {
|
|
17
|
+
// First check if it's a known concern
|
|
18
|
+
try {
|
|
19
|
+
const { findRailsConcerns } = await import("../utils/railsSchema.js");
|
|
20
|
+
const concernMap = await findRailsConcerns(rootDir);
|
|
21
|
+
if (concernMap.has(moduleName)) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
// fall through to file search
|
|
27
|
+
}
|
|
17
28
|
// Convert ModuleName → module_name (snake_case)
|
|
18
29
|
const snakeName = moduleName
|
|
19
30
|
.replace(/([A-Z])/g, (c, _, i) => i === 0 ? c.toLowerCase() : `_${c.toLowerCase()}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impactAnalysis.js","sourceRoot":"","sources":["../../../src/operations/impactAnalysis.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"impactAnalysis.js","sourceRoot":"","sources":["../../../src/operations/impactAnalysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Base Parser - v3.
|
|
2
|
+
* Base Parser - v3.9.1
|
|
3
3
|
* Abstract base for all language parsers
|
|
4
4
|
* IMPROVEMENT: replaceSymbol moved here using AST indices (eliminates indexOf fragility)
|
|
5
|
-
* v3.
|
|
5
|
+
* v3.9.1: getInsideStartIndex/getInsideEndIndex overridable for brace-less languages
|
|
6
6
|
*/
|
|
7
7
|
import { Parser, Tree, Language } from "web-tree-sitter";
|
|
8
8
|
export interface ParseResult {
|
package/dist/src/parsers/base.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Base Parser - v3.
|
|
2
|
+
* Base Parser - v3.9.1
|
|
3
3
|
* Abstract base for all language parsers
|
|
4
4
|
* IMPROVEMENT: replaceSymbol moved here using AST indices (eliminates indexOf fragility)
|
|
5
|
-
* v3.
|
|
5
|
+
* v3.9.1: getInsideStartIndex/getInsideEndIndex overridable for brace-less languages
|
|
6
6
|
*/
|
|
7
7
|
export class BaseParser {
|
|
8
8
|
parser;
|
package/dist/src/parsers/go.d.ts
CHANGED
package/dist/src/parsers/go.js
CHANGED
package/dist/src/parsers/java.js
CHANGED
package/dist/src/parsers/php.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Python Parser - v3.
|
|
2
|
+
* Python Parser - v3.9.1
|
|
3
3
|
* CLEANUP: replaceSymbol removed (inherited from BaseParser)
|
|
4
|
-
* v3.
|
|
4
|
+
* v3.9.1: override getInsideStartIndex/getInsideEndIndex for indentation-based syntax
|
|
5
5
|
*/
|
|
6
6
|
import { Tree } from "web-tree-sitter";
|
|
7
7
|
import { BaseParser, SymbolInfo } from "./base.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Python Parser - v3.
|
|
2
|
+
* Python Parser - v3.9.1
|
|
3
3
|
* CLEANUP: replaceSymbol removed (inherited from BaseParser)
|
|
4
|
-
* v3.
|
|
4
|
+
* v3.9.1: override getInsideStartIndex/getInsideEndIndex for indentation-based syntax
|
|
5
5
|
*/
|
|
6
6
|
import { BaseParser } from "./base.js";
|
|
7
7
|
export class PythonParser extends BaseParser {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Ruby Parser - v3.
|
|
2
|
+
* Ruby Parser - v3.9.1
|
|
3
3
|
* Tree-sitter based Ruby parser
|
|
4
|
-
* v3.
|
|
4
|
+
* v3.9.1: override getInsideStartIndex/getInsideEndIndex for end-based syntax
|
|
5
5
|
*/
|
|
6
6
|
import { Tree } from "web-tree-sitter";
|
|
7
7
|
import { BaseParser, SymbolInfo } from "./base.js";
|
package/dist/src/parsers/ruby.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Ruby Parser - v3.
|
|
2
|
+
* Ruby Parser - v3.9.1
|
|
3
3
|
* Tree-sitter based Ruby parser
|
|
4
|
-
* v3.
|
|
4
|
+
* v3.9.1: override getInsideStartIndex/getInsideEndIndex for end-based syntax
|
|
5
5
|
*/
|
|
6
6
|
import { BaseParser } from "./base.js";
|
|
7
7
|
export class RubyParser extends BaseParser {
|