depwire-cli 1.0.0 → 1.0.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/README.md +6 -3
- package/dist/{chunk-5BQLGAUL.js → chunk-5D36PY3Q.js} +10 -7
- package/dist/{chunk-IYKS66CG.js → chunk-LV32EDYQ.js} +1163 -226
- package/dist/index.js +2 -2
- package/dist/mcpb-entry.js +2 -2
- package/dist/parser/grammars/tree-sitter-java.wasm +0 -0
- package/dist/sdk.js +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -294,7 +294,11 @@ The SDK is the stable public API surface. All integrations should import from `d
|
|
|
294
294
|
|
|
295
295
|
## Language support
|
|
296
296
|
|
|
297
|
-
TypeScript, JavaScript, Python, Go, Rust, C, C
|
|
297
|
+
TypeScript, JavaScript, Python, Go, Rust, C, C#, Java — with cross-language edge detection between all supported languages.
|
|
298
|
+
|
|
299
|
+
**Java / JVM** — classes, interfaces, enums, records, annotations, inner classes, anonymous classes, lambda expressions, Maven pom.xml and Gradle build file dependency edges, Spring Boot cross-language edges (@GetMapping, @PostMapping, @RequestMapping), JAX-RS / Jakarta EE route detection, Spring WebFlux RouterFunction support.
|
|
300
|
+
|
|
301
|
+
**C# / .NET** — classes, interfaces, records, structs, enums, delegates, file-scoped namespaces, primary constructors, global usings, .csproj ProjectReference and PackageReference edges, ASP.NET Core cross-language edges (attribute routing + Minimal API).
|
|
298
302
|
|
|
299
303
|
---
|
|
300
304
|
|
|
@@ -358,7 +362,7 @@ Block PRs that hurt your architecture:
|
|
|
358
362
|
**Shipped**
|
|
359
363
|
- Arc diagram visualization
|
|
360
364
|
- 17 MCP tools
|
|
361
|
-
- Multi-language support (TypeScript, JavaScript, Python, Go, Rust, C, C
|
|
365
|
+
- Multi-language support (TypeScript, JavaScript, Python, Go, Rust, C, C#, Java)
|
|
362
366
|
- Architecture health score
|
|
363
367
|
- Dead code detection
|
|
364
368
|
- Temporal graph
|
|
@@ -370,7 +374,6 @@ Block PRs that hurt your architecture:
|
|
|
370
374
|
- PR Impact GitHub Action
|
|
371
375
|
|
|
372
376
|
**Coming next**
|
|
373
|
-
- C# / .NET language support
|
|
374
377
|
- AI-suggested refactors
|
|
375
378
|
- VSCode extension
|
|
376
379
|
- Natural language architecture queries
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
parseTypeScriptFile,
|
|
17
17
|
scanSecurity,
|
|
18
18
|
searchSymbols
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-LV32EDYQ.js";
|
|
20
20
|
|
|
21
21
|
// src/viz/data.ts
|
|
22
22
|
import { basename } from "path";
|
|
@@ -122,23 +122,26 @@ function watchProject(projectRoot, callbacks) {
|
|
|
122
122
|
const watcher = chokidar.watch(projectRoot, watcherOptions);
|
|
123
123
|
console.error("[Watcher] Attaching event listeners...");
|
|
124
124
|
watcher.on("change", (absolutePath) => {
|
|
125
|
-
const validExtensions = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".py", ".go", ".rs", ".c", ".h", ".cs", ".csx", ".csproj"];
|
|
125
|
+
const validExtensions = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".py", ".go", ".rs", ".c", ".h", ".cs", ".csx", ".csproj", ".java"];
|
|
126
126
|
if (!validExtensions.some((ext) => absolutePath.endsWith(ext))) return;
|
|
127
|
+
const fileName = absolutePath.split("/").pop() || "";
|
|
128
|
+
if (!validExtensions.some((ext) => absolutePath.endsWith(ext)) && !["pom.xml", "build.gradle", "build.gradle.kts"].includes(fileName)) return;
|
|
127
129
|
if (absolutePath.endsWith("_test.go")) return;
|
|
128
130
|
const relativePath = absolutePath.replace(projectRoot + "/", "");
|
|
129
131
|
console.error(`[Watcher] Change event: ${relativePath}`);
|
|
130
132
|
callbacks.onFileChanged(relativePath);
|
|
131
133
|
});
|
|
132
134
|
watcher.on("add", (absolutePath) => {
|
|
133
|
-
const validExtensions = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".py", ".go", ".rs", ".c", ".h", ".cs", ".csx", ".csproj"];
|
|
134
|
-
|
|
135
|
+
const validExtensions = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".py", ".go", ".rs", ".c", ".h", ".cs", ".csx", ".csproj", ".java"];
|
|
136
|
+
const addFileName = absolutePath.split("/").pop() || "";
|
|
137
|
+
if (!validExtensions.some((ext) => absolutePath.endsWith(ext)) && !["pom.xml", "build.gradle", "build.gradle.kts"].includes(addFileName)) return;
|
|
135
138
|
if (absolutePath.endsWith("_test.go")) return;
|
|
136
139
|
const relativePath = absolutePath.replace(projectRoot + "/", "");
|
|
137
140
|
console.error(`[Watcher] Add event: ${relativePath}`);
|
|
138
141
|
callbacks.onFileAdded(relativePath);
|
|
139
142
|
});
|
|
140
143
|
watcher.on("unlink", (absolutePath) => {
|
|
141
|
-
const validExtensions = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".py", ".go", ".rs", ".c", ".h", ".cs", ".csx", ".csproj"];
|
|
144
|
+
const validExtensions = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs", ".py", ".go", ".rs", ".c", ".h", ".cs", ".csx", ".csproj", ".java"];
|
|
142
145
|
if (!validExtensions.some((ext) => absolutePath.endsWith(ext))) return;
|
|
143
146
|
if (absolutePath.endsWith("_test.go")) return;
|
|
144
147
|
const relativePath = absolutePath.replace(projectRoot + "/", "");
|
|
@@ -156,10 +159,10 @@ function watchProject(projectRoot, callbacks) {
|
|
|
156
159
|
for (const dir of dirs) {
|
|
157
160
|
const files = watched[dir];
|
|
158
161
|
fileCount += files.filter(
|
|
159
|
-
(f) => f.endsWith(".ts") || f.endsWith(".tsx") || f.endsWith(".js") || f.endsWith(".jsx") || f.endsWith(".mjs") || f.endsWith(".cjs") || f.endsWith(".py") || f.endsWith(".go") && !f.endsWith("_test.go") || f.endsWith(".rs") || f.endsWith(".c") || f.endsWith(".h") || f.endsWith(".cs") || f.endsWith(".csx") || f.endsWith(".csproj")
|
|
162
|
+
(f) => f.endsWith(".ts") || f.endsWith(".tsx") || f.endsWith(".js") || f.endsWith(".jsx") || f.endsWith(".mjs") || f.endsWith(".cjs") || f.endsWith(".py") || f.endsWith(".go") && !f.endsWith("_test.go") || f.endsWith(".rs") || f.endsWith(".c") || f.endsWith(".h") || f.endsWith(".cs") || f.endsWith(".csx") || f.endsWith(".csproj") || f.endsWith(".java") || f === "pom.xml" || f === "build.gradle" || f === "build.gradle.kts"
|
|
160
163
|
).length;
|
|
161
164
|
}
|
|
162
|
-
console.error(`[Watcher] Watching ${fileCount} TypeScript/JavaScript/Python/Go/Rust/C/C
|
|
165
|
+
console.error(`[Watcher] Watching ${fileCount} TypeScript/JavaScript/Python/Go/Rust/C/C#/Java files in ${dirs.length} directories`);
|
|
163
166
|
});
|
|
164
167
|
return watcher;
|
|
165
168
|
}
|