@yalehwang/archguard 0.1.8 → 0.1.10
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/dist/cli/analyze/normalize-to-diagrams.d.ts.map +1 -1
- package/dist/cli/analyze/normalize-to-diagrams.js +50 -10
- package/dist/cli/analyze/normalize-to-diagrams.js.map +1 -1
- package/dist/cli/analyze/run-analysis.d.ts.map +1 -1
- package/dist/cli/analyze/run-analysis.js +8 -3
- package/dist/cli/analyze/run-analysis.js.map +1 -1
- package/dist/cli/cache/render-hash-cache.d.ts +1 -1
- package/dist/cli/cache/render-hash-cache.d.ts.map +1 -1
- package/dist/cli/cache/render-hash-cache.js +1 -1
- package/dist/cli/cache/render-hash-cache.js.map +1 -1
- package/dist/cli/processors/arch-json-provider.d.ts +4 -1
- package/dist/cli/processors/arch-json-provider.d.ts.map +1 -1
- package/dist/cli/processors/arch-json-provider.js +79 -21
- package/dist/cli/processors/arch-json-provider.js.map +1 -1
- package/dist/cli/processors/diagram-processor.d.ts.map +1 -1
- package/dist/cli/processors/diagram-processor.js +10 -5
- package/dist/cli/processors/diagram-processor.js.map +1 -1
- package/dist/cli/query/query-artifacts.d.ts +5 -1
- package/dist/cli/query/query-artifacts.d.ts.map +1 -1
- package/dist/cli/query/query-artifacts.js +22 -3
- package/dist/cli/query/query-artifacts.js.map +1 -1
- package/dist/cli/query/query-manifest.d.ts +2 -0
- package/dist/cli/query/query-manifest.d.ts.map +1 -1
- package/dist/cli/utils/default-scope-planner.d.ts +22 -0
- package/dist/cli/utils/default-scope-planner.d.ts.map +1 -0
- package/dist/cli/utils/default-scope-planner.js +84 -0
- package/dist/cli/utils/default-scope-planner.js.map +1 -0
- package/dist/cli/utils/java-project-structure-detector.d.ts +7 -0
- package/dist/cli/utils/java-project-structure-detector.d.ts.map +1 -0
- package/dist/cli/utils/java-project-structure-detector.js +97 -0
- package/dist/cli/utils/java-project-structure-detector.js.map +1 -0
- package/dist/cli/utils/project-language-detector.d.ts +10 -0
- package/dist/cli/utils/project-language-detector.d.ts.map +1 -0
- package/dist/cli/utils/project-language-detector.js +179 -0
- package/dist/cli/utils/project-language-detector.js.map +1 -0
- package/dist/cli/utils/project-structure-detector.d.ts +3 -2
- package/dist/cli/utils/project-structure-detector.d.ts.map +1 -1
- package/dist/cli/utils/project-structure-detector.js +8 -7
- package/dist/cli/utils/project-structure-detector.js.map +1 -1
- package/dist/mermaid/grouper.d.ts +1 -0
- package/dist/mermaid/grouper.d.ts.map +1 -1
- package/dist/mermaid/grouper.js +30 -10
- package/dist/mermaid/grouper.js.map +1 -1
- package/dist/mermaid/render-worker-pool.d.ts.map +1 -1
- package/dist/mermaid/render-worker-pool.js +7 -1
- package/dist/mermaid/render-worker-pool.js.map +1 -1
- package/dist/mermaid/renderer.d.ts.map +1 -1
- package/dist/mermaid/renderer.js +30 -0
- package/dist/mermaid/renderer.js.map +1 -1
- package/dist/parser/archjson-aggregator.d.ts +1 -0
- package/dist/parser/archjson-aggregator.d.ts.map +1 -1
- package/dist/parser/archjson-aggregator.js +26 -8
- package/dist/parser/archjson-aggregator.js.map +1 -1
- package/dist/plugins/java/archjson-mapper.js +1 -1
- package/dist/plugins/java/archjson-mapper.js.map +1 -1
- package/dist/plugins/java/dependency-extractor.js +2 -2
- package/dist/plugins/java/dependency-extractor.js.map +1 -1
- package/dist/types/config.d.ts +1 -0
- package/dist/types/config.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagram-processor.js","sourceRoot":"","sources":["../../../src/cli/processors/diagram-processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"diagram-processor.js","sourceRoot":"","sources":["../../../src/cli/processors/diagram-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { QueryScopeEntry, QuerySourceGroup } from './query-manifest.js';
|
|
2
2
|
export type QueryScopeInput = QuerySourceGroup;
|
|
3
|
+
export interface PersistQueryScopesOptions {
|
|
4
|
+
merge?: boolean;
|
|
5
|
+
preferredGlobalScopeKey?: string;
|
|
6
|
+
}
|
|
3
7
|
export declare function atomicWriteFile(filePath: string, data: string | Buffer): Promise<void>;
|
|
4
8
|
export declare function generateScopeLabel(sources: string[], language: string): string;
|
|
5
9
|
export declare function buildManifestEntry(scope: QueryScopeInput): QueryScopeEntry;
|
|
6
|
-
export declare function persistQueryScopes(workDir: string, scopes: QueryScopeInput[]): Promise<QueryScopeEntry[]>;
|
|
10
|
+
export declare function persistQueryScopes(workDir: string, scopes: QueryScopeInput[], options?: PersistQueryScopesOptions): Promise<QueryScopeEntry[]>;
|
|
7
11
|
//# sourceMappingURL=query-artifacts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-artifacts.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5F,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"query-artifacts.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAO5F,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAgBD,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5F;AAYD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG9E;AAYD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAa1E;AAuCD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,eAAe,EAAE,CAAC,CAgE5B"}
|
|
@@ -25,6 +25,7 @@ export function buildManifestEntry(scope) {
|
|
|
25
25
|
entityCount: archJson.entities.length,
|
|
26
26
|
relationCount: archJson.relations.length,
|
|
27
27
|
hasAtlasExtension: !!archJson.extensions?.goAtlas,
|
|
28
|
+
...(scope.role ? { role: scope.role } : {}),
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
function selectGlobalScopeKey(entries) {
|
|
@@ -41,7 +42,7 @@ function selectGlobalScopeKey(entries) {
|
|
|
41
42
|
return current.key.localeCompare(best.key) < 0 ? current : best;
|
|
42
43
|
}).key;
|
|
43
44
|
}
|
|
44
|
-
export async function persistQueryScopes(workDir, scopes) {
|
|
45
|
+
export async function persistQueryScopes(workDir, scopes, options = {}) {
|
|
45
46
|
const resolvedDir = workDir || path.join(process.cwd(), '.archguard');
|
|
46
47
|
const queryDir = path.join(resolvedDir, 'query');
|
|
47
48
|
await fs.ensureDir(queryDir);
|
|
@@ -65,11 +66,29 @@ export async function persistQueryScopes(workDir, scopes) {
|
|
|
65
66
|
console.warn(`[query-artifacts] Failed to write scope "${scope.key}": ${message}`);
|
|
66
67
|
}
|
|
67
68
|
}
|
|
69
|
+
const existingManifest = options.merge !== false
|
|
70
|
+
? await fs
|
|
71
|
+
.readJson(path.join(queryDir, 'manifest.json'))
|
|
72
|
+
.catch(() => null)
|
|
73
|
+
: null;
|
|
74
|
+
const mergedEntries = new Map();
|
|
75
|
+
for (const entry of existingManifest?.scopes ?? []) {
|
|
76
|
+
mergedEntries.set(entry.key, entry);
|
|
77
|
+
}
|
|
78
|
+
for (const entry of writtenEntries) {
|
|
79
|
+
mergedEntries.set(entry.key, entry);
|
|
80
|
+
}
|
|
81
|
+
const mergedList = Array.from(mergedEntries.values()).sort((a, b) => a.key.localeCompare(b.key));
|
|
82
|
+
const preferredGlobalScopeKey = options.preferredGlobalScopeKey && mergedEntries.has(options.preferredGlobalScopeKey)
|
|
83
|
+
? options.preferredGlobalScopeKey
|
|
84
|
+
: existingManifest?.globalScopeKey && mergedEntries.has(existingManifest.globalScopeKey)
|
|
85
|
+
? existingManifest.globalScopeKey
|
|
86
|
+
: selectGlobalScopeKey(mergedList);
|
|
68
87
|
const manifest = {
|
|
69
88
|
version: '1.0',
|
|
70
89
|
generatedAt: new Date().toISOString(),
|
|
71
|
-
globalScopeKey:
|
|
72
|
-
scopes:
|
|
90
|
+
globalScopeKey: preferredGlobalScopeKey,
|
|
91
|
+
scopes: mergedList,
|
|
73
92
|
};
|
|
74
93
|
const manifestPath = path.join(queryDir, 'manifest.json');
|
|
75
94
|
await atomicWriteFile(manifestPath, JSON.stringify(manifest, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-artifacts.js","sourceRoot":"","sources":["../../../src/cli/query/query-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"query-artifacts.js","sourceRoot":"","sources":["../../../src/cli/query/query-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,11 +14,13 @@ export interface QueryScopeEntry {
|
|
|
14
14
|
entityCount: number;
|
|
15
15
|
relationCount: number;
|
|
16
16
|
hasAtlasExtension: boolean;
|
|
17
|
+
role?: 'primary' | 'secondary';
|
|
17
18
|
}
|
|
18
19
|
export interface QuerySourceGroup {
|
|
19
20
|
key: string;
|
|
20
21
|
sources: string[];
|
|
21
22
|
archJson: ArchJSON;
|
|
22
23
|
kind: 'parsed' | 'derived';
|
|
24
|
+
role?: 'primary' | 'secondary';
|
|
23
25
|
}
|
|
24
26
|
//# sourceMappingURL=query-manifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-manifest.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-manifest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMjD,MAAM,WAAW,aAAa;IAE5B,OAAO,EAAE,MAAM,CAAC;IAGhB,WAAW,EAAE,MAAM,CAAC;IAMpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAE9B,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAG3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,aAAa,EAAE,MAAM,CAAC;IAGtB,iBAAiB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"query-manifest.d.ts","sourceRoot":"","sources":["../../../src/cli/query/query-manifest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMjD,MAAM,WAAW,aAAa;IAE5B,OAAO,EAAE,MAAM,CAAC;IAGhB,WAAW,EAAE,MAAM,CAAC;IAMpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAE9B,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAG3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IAGpB,aAAa,EAAE,MAAM,CAAC;IAGtB,iBAAiB,EAAE,OAAO,CAAC;IAG3B,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CAChC;AAMD,MAAM,WAAW,gBAAgB;IAE/B,GAAG,EAAE,MAAM,CAAC;IAGZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,QAAQ,EAAE,QAAQ,CAAC;IAGnB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAG3B,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CAChC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { DiagramConfig } from '../../types/config.js';
|
|
2
|
+
import type { DetectedLanguage } from './project-language-detector.js';
|
|
3
|
+
export type QueryRole = 'primary' | 'secondary';
|
|
4
|
+
export interface PlannedScope {
|
|
5
|
+
language: DetectedLanguage;
|
|
6
|
+
label: string;
|
|
7
|
+
role?: QueryRole;
|
|
8
|
+
sources: string[];
|
|
9
|
+
}
|
|
10
|
+
interface DiagramOptions {
|
|
11
|
+
format?: DiagramConfig['format'];
|
|
12
|
+
exclude?: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function planDefaultScopes(projectRoot: string): Promise<PlannedScope[]>;
|
|
15
|
+
export declare function planDefaultDiagrams(projectRoot: string, options?: DiagramOptions): Promise<DiagramConfig[]>;
|
|
16
|
+
export declare function createProjectRootLanguageDiagrams(projectRoot: string, language: DetectedLanguage, options?: DiagramOptions & {
|
|
17
|
+
label?: string;
|
|
18
|
+
role?: QueryRole;
|
|
19
|
+
source?: string;
|
|
20
|
+
}): DiagramConfig[];
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=default-scope-planner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-scope-planner.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/default-scope-planner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,gCAAgC,CAAC;AAG1F,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAwBpF;AAED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,EAAE,CAAC,CAG1B;AAED,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,CAAC,EAAE,cAAc,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/E,aAAa,EAAE,CAYjB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { detectProjectLanguages } from './project-language-detector.js';
|
|
3
|
+
export async function planDefaultScopes(projectRoot) {
|
|
4
|
+
const candidates = await detectProjectLanguages(projectRoot);
|
|
5
|
+
const rootCounts = new Map();
|
|
6
|
+
return candidates.map((candidate, index) => {
|
|
7
|
+
const role = index === 0 ? 'primary' : 'secondary';
|
|
8
|
+
const scopeRoot = selectScopeRoot(candidate, projectRoot);
|
|
9
|
+
const relativeRoot = path.relative(projectRoot, scopeRoot).replace(/\\/g, '/');
|
|
10
|
+
const isProjectRoot = !relativeRoot || relativeRoot === '';
|
|
11
|
+
const base = isProjectRoot ? path.basename(projectRoot) : path.basename(scopeRoot);
|
|
12
|
+
const rootUsage = rootCounts.get(scopeRoot) ?? 0;
|
|
13
|
+
rootCounts.set(scopeRoot, rootUsage + 1);
|
|
14
|
+
const label = isProjectRoot && role === 'primary' && rootUsage === 0
|
|
15
|
+
? base
|
|
16
|
+
: `${base}-${candidate.language}`;
|
|
17
|
+
return {
|
|
18
|
+
language: candidate.language,
|
|
19
|
+
label,
|
|
20
|
+
role,
|
|
21
|
+
sources: [isProjectRoot ? '.' : relativeRoot],
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
export async function planDefaultDiagrams(projectRoot, options) {
|
|
26
|
+
const scopes = await planDefaultScopes(projectRoot);
|
|
27
|
+
return scopes.flatMap((scope) => createScopeDiagrams(scope, options));
|
|
28
|
+
}
|
|
29
|
+
export function createProjectRootLanguageDiagrams(projectRoot, language, options) {
|
|
30
|
+
const label = options?.label ?? path.basename(projectRoot);
|
|
31
|
+
const source = options?.source ?? '.';
|
|
32
|
+
return createScopeDiagrams({
|
|
33
|
+
language,
|
|
34
|
+
label,
|
|
35
|
+
role: options?.role,
|
|
36
|
+
sources: [source],
|
|
37
|
+
}, options);
|
|
38
|
+
}
|
|
39
|
+
function createScopeDiagrams(scope, options) {
|
|
40
|
+
const common = {
|
|
41
|
+
language: scope.language,
|
|
42
|
+
...(options?.format !== undefined && { format: options.format }),
|
|
43
|
+
...(options?.exclude !== undefined && { exclude: options.exclude }),
|
|
44
|
+
...(scope.role ? { queryRole: scope.role } : {}),
|
|
45
|
+
};
|
|
46
|
+
if (scope.language === 'go') {
|
|
47
|
+
return [
|
|
48
|
+
{
|
|
49
|
+
...common,
|
|
50
|
+
name: `${scope.label}/overview/package`,
|
|
51
|
+
sources: scope.sources,
|
|
52
|
+
level: 'package',
|
|
53
|
+
languageSpecific: {
|
|
54
|
+
atlas: {
|
|
55
|
+
enabled: true,
|
|
56
|
+
functionBodyStrategy: 'selective',
|
|
57
|
+
excludeTests: true,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
}
|
|
63
|
+
return [
|
|
64
|
+
{
|
|
65
|
+
...common,
|
|
66
|
+
name: `${scope.label}/overview/package`,
|
|
67
|
+
sources: scope.sources,
|
|
68
|
+
level: 'package',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
...common,
|
|
72
|
+
name: `${scope.label}/class/all-classes`,
|
|
73
|
+
sources: scope.sources,
|
|
74
|
+
level: 'class',
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
function selectScopeRoot(candidate, projectRoot) {
|
|
79
|
+
if (candidate.language === 'cpp' || candidate.language === 'go') {
|
|
80
|
+
return projectRoot;
|
|
81
|
+
}
|
|
82
|
+
return candidate.roots[0] ?? projectRoot;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=default-scope-planner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-scope-planner.js","sourceRoot":"","sources":["../../../src/cli/utils/default-scope-planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DiagramConfig } from '../../types/config.js';
|
|
2
|
+
export declare function detectJavaProjectStructure(projectRoot: string, options?: {
|
|
3
|
+
label?: string;
|
|
4
|
+
format?: DiagramConfig['format'];
|
|
5
|
+
exclude?: string[];
|
|
6
|
+
}): Promise<DiagramConfig[]>;
|
|
7
|
+
//# sourceMappingURL=java-project-structure-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"java-project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/java-project-structure-detector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAgE3D,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACjF,OAAO,CAAC,aAAa,EAAE,CAAC,CA+C1B"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
const JAVA_EXTENSIONS = ['.java'];
|
|
4
|
+
const EXCLUDED_DIRS = new Set([
|
|
5
|
+
'.git',
|
|
6
|
+
'.idea',
|
|
7
|
+
'.gradle',
|
|
8
|
+
'.settings',
|
|
9
|
+
'node_modules',
|
|
10
|
+
'target',
|
|
11
|
+
'build',
|
|
12
|
+
'dist',
|
|
13
|
+
'.archguard',
|
|
14
|
+
]);
|
|
15
|
+
function isExcluded(name) {
|
|
16
|
+
return name.startsWith('.') || EXCLUDED_DIRS.has(name);
|
|
17
|
+
}
|
|
18
|
+
async function directoryHasJavaFiles(dir) {
|
|
19
|
+
let entries;
|
|
20
|
+
try {
|
|
21
|
+
entries = await fs.readdir(dir, { withFileTypes: true });
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
for (const entry of entries) {
|
|
27
|
+
if (entry.isFile() && JAVA_EXTENSIONS.includes(path.extname(entry.name).toLowerCase())) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
if (entry.isDirectory() && !isExcluded(entry.name)) {
|
|
31
|
+
if (await directoryHasJavaFiles(path.join(dir, entry.name))) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
async function readMavenModules(projectRoot) {
|
|
39
|
+
const pomPath = path.join(projectRoot, 'pom.xml');
|
|
40
|
+
let pom;
|
|
41
|
+
try {
|
|
42
|
+
pom = await fs.readFile(pomPath, 'utf-8');
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
const modules = [];
|
|
48
|
+
const moduleRegex = /<module>\s*([^<\s][^<]*)\s*<\/module>/g;
|
|
49
|
+
for (const match of pom.matchAll(moduleRegex)) {
|
|
50
|
+
const moduleName = match[1]?.trim();
|
|
51
|
+
if (moduleName) {
|
|
52
|
+
modules.push(moduleName);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return modules;
|
|
56
|
+
}
|
|
57
|
+
export async function detectJavaProjectStructure(projectRoot, options) {
|
|
58
|
+
const label = options?.label ?? path.basename(projectRoot);
|
|
59
|
+
const common = {
|
|
60
|
+
language: 'java',
|
|
61
|
+
...(options?.format !== undefined && { format: options.format }),
|
|
62
|
+
...(options?.exclude !== undefined && { exclude: options.exclude }),
|
|
63
|
+
};
|
|
64
|
+
const diagrams = [
|
|
65
|
+
{
|
|
66
|
+
...common,
|
|
67
|
+
name: `${label}/overview/package`,
|
|
68
|
+
sources: [projectRoot],
|
|
69
|
+
level: 'package',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
...common,
|
|
73
|
+
name: `${label}/class/all-classes`,
|
|
74
|
+
sources: [projectRoot],
|
|
75
|
+
level: 'class',
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
const modules = await readMavenModules(projectRoot);
|
|
79
|
+
const validModules = [];
|
|
80
|
+
for (const moduleName of modules) {
|
|
81
|
+
const moduleRoot = path.join(projectRoot, moduleName);
|
|
82
|
+
if (await directoryHasJavaFiles(moduleRoot)) {
|
|
83
|
+
validModules.push(moduleName);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
validModules.sort();
|
|
87
|
+
return [
|
|
88
|
+
...diagrams,
|
|
89
|
+
...validModules.map((moduleName) => ({
|
|
90
|
+
...common,
|
|
91
|
+
name: `${label}/class/${moduleName}`,
|
|
92
|
+
sources: [path.join(projectRoot, moduleName)],
|
|
93
|
+
level: 'class',
|
|
94
|
+
})),
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=java-project-structure-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"java-project-structure-detector.js","sourceRoot":"","sources":["../../../src/cli/utils/java-project-structure-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type DetectedLanguage = 'typescript' | 'go' | 'java' | 'python' | 'cpp';
|
|
2
|
+
export interface LanguageCandidate {
|
|
3
|
+
language: DetectedLanguage;
|
|
4
|
+
score: number;
|
|
5
|
+
evidence: string[];
|
|
6
|
+
roots: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function detectProjectLanguages(projectRoot: string): Promise<LanguageCandidate[]>;
|
|
9
|
+
export declare function detectPrimaryLanguage(projectRoot: string): Promise<LanguageCandidate | null>;
|
|
10
|
+
//# sourceMappingURL=project-language-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-language-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-language-detector.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAgED,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAuB9F;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAGnC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
const SKIP_DIRS = new Set([
|
|
4
|
+
'.git',
|
|
5
|
+
'.archguard',
|
|
6
|
+
'node_modules',
|
|
7
|
+
'build',
|
|
8
|
+
'dist',
|
|
9
|
+
'coverage',
|
|
10
|
+
'vendor',
|
|
11
|
+
'third_party',
|
|
12
|
+
'thirdparty',
|
|
13
|
+
'target',
|
|
14
|
+
'__pycache__',
|
|
15
|
+
'.venv',
|
|
16
|
+
'venv',
|
|
17
|
+
]);
|
|
18
|
+
const LOW_PRIORITY_DIRS = new Set(['scripts', 'tests', 'test', 'examples', 'docs', 'doc', 'bench']);
|
|
19
|
+
const MARKERS = {
|
|
20
|
+
cpp: ['CMakeLists.txt', 'Makefile'],
|
|
21
|
+
go: ['go.mod'],
|
|
22
|
+
java: ['pom.xml', 'build.gradle'],
|
|
23
|
+
python: ['pyproject.toml', 'requirements.txt', 'setup.py', 'setup.cfg', 'Pipfile'],
|
|
24
|
+
typescript: ['package.json', 'tsconfig.json'],
|
|
25
|
+
};
|
|
26
|
+
const EXTENSIONS = {
|
|
27
|
+
cpp: ['.cpp', '.cxx', '.cc', '.hpp', '.hxx', '.h'],
|
|
28
|
+
go: ['.go'],
|
|
29
|
+
java: ['.java'],
|
|
30
|
+
python: ['.py'],
|
|
31
|
+
typescript: ['.ts', '.tsx'],
|
|
32
|
+
};
|
|
33
|
+
function createStats() {
|
|
34
|
+
return {
|
|
35
|
+
cpp: emptyStats(),
|
|
36
|
+
go: emptyStats(),
|
|
37
|
+
java: emptyStats(),
|
|
38
|
+
python: emptyStats(),
|
|
39
|
+
typescript: emptyStats(),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function emptyStats() {
|
|
43
|
+
return {
|
|
44
|
+
totalFiles: 0,
|
|
45
|
+
priorityFiles: 0,
|
|
46
|
+
markerRoots: new Map(),
|
|
47
|
+
markerFiles: new Set(),
|
|
48
|
+
sourceRoots: new Map(),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export async function detectProjectLanguages(projectRoot) {
|
|
52
|
+
const resolvedRoot = path.resolve(projectRoot);
|
|
53
|
+
const stats = createStats();
|
|
54
|
+
await scanDirectory(resolvedRoot, resolvedRoot, stats, 0);
|
|
55
|
+
const candidates = Object.keys(stats)
|
|
56
|
+
.map((language) => buildCandidate(language, stats[language], resolvedRoot))
|
|
57
|
+
.filter((candidate) => candidate !== null)
|
|
58
|
+
.sort((a, b) => b.score - a.score || a.language.localeCompare(b.language));
|
|
59
|
+
if (candidates.length > 0) {
|
|
60
|
+
return candidates;
|
|
61
|
+
}
|
|
62
|
+
return [
|
|
63
|
+
{
|
|
64
|
+
language: 'typescript',
|
|
65
|
+
score: 0,
|
|
66
|
+
evidence: ['fallback: no strong language markers found'],
|
|
67
|
+
roots: [resolvedRoot],
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
export async function detectPrimaryLanguage(projectRoot) {
|
|
72
|
+
const candidates = await detectProjectLanguages(projectRoot);
|
|
73
|
+
return candidates[0] ?? null;
|
|
74
|
+
}
|
|
75
|
+
async function scanDirectory(currentDir, projectRoot, stats, depth) {
|
|
76
|
+
let entries;
|
|
77
|
+
try {
|
|
78
|
+
entries = await fs.readdir(currentDir, { withFileTypes: true });
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const relDir = path.relative(projectRoot, currentDir).replace(/\\/g, '/');
|
|
84
|
+
const lowPriority = relDir
|
|
85
|
+
.split('/')
|
|
86
|
+
.filter(Boolean)
|
|
87
|
+
.some((segment) => LOW_PRIORITY_DIRS.has(segment));
|
|
88
|
+
for (const entry of entries) {
|
|
89
|
+
const fullPath = path.join(currentDir, entry.name);
|
|
90
|
+
if (entry.isDirectory()) {
|
|
91
|
+
if (shouldSkipDirectory(entry.name))
|
|
92
|
+
continue;
|
|
93
|
+
await scanDirectory(fullPath, projectRoot, stats, depth + 1);
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
if (!entry.isFile())
|
|
97
|
+
continue;
|
|
98
|
+
for (const [language, markers] of Object.entries(MARKERS)) {
|
|
99
|
+
if (markers.includes(entry.name)) {
|
|
100
|
+
const markerDepth = path
|
|
101
|
+
.relative(projectRoot, currentDir)
|
|
102
|
+
.split(path.sep)
|
|
103
|
+
.filter(Boolean).length;
|
|
104
|
+
stats[language].markerRoots.set(currentDir, Math.min(stats[language].markerRoots.get(currentDir) ?? Number.MAX_SAFE_INTEGER, markerDepth));
|
|
105
|
+
stats[language].markerFiles.add(entry.name);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const ext = path.extname(entry.name).toLowerCase();
|
|
109
|
+
for (const [language, extensions] of Object.entries(EXTENSIONS)) {
|
|
110
|
+
if (!extensions.includes(ext))
|
|
111
|
+
continue;
|
|
112
|
+
const languageStats = stats[language];
|
|
113
|
+
languageStats.totalFiles += 1;
|
|
114
|
+
if (!lowPriority)
|
|
115
|
+
languageStats.priorityFiles += 1;
|
|
116
|
+
const rootKey = chooseSourceRoot(projectRoot, currentDir, language, depth);
|
|
117
|
+
languageStats.sourceRoots.set(rootKey, (languageStats.sourceRoots.get(rootKey) ?? 0) + 1);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function shouldSkipDirectory(name) {
|
|
122
|
+
return name.startsWith('.') || SKIP_DIRS.has(name) || name.startsWith('cmake-build-');
|
|
123
|
+
}
|
|
124
|
+
function chooseSourceRoot(projectRoot, currentDir, language, depth) {
|
|
125
|
+
if (language === 'cpp' || language === 'go' || language === 'python') {
|
|
126
|
+
return projectRoot;
|
|
127
|
+
}
|
|
128
|
+
if (language === 'java') {
|
|
129
|
+
const javaRoot = path.join(projectRoot, 'src', 'main', 'java');
|
|
130
|
+
if (currentDir.startsWith(javaRoot))
|
|
131
|
+
return javaRoot;
|
|
132
|
+
return projectRoot;
|
|
133
|
+
}
|
|
134
|
+
if (language === 'typescript') {
|
|
135
|
+
let dir = currentDir;
|
|
136
|
+
while (dir.startsWith(projectRoot)) {
|
|
137
|
+
if (fs.existsSync(path.join(dir, 'tsconfig.json')) ||
|
|
138
|
+
fs.existsSync(path.join(dir, 'package.json'))) {
|
|
139
|
+
return dir;
|
|
140
|
+
}
|
|
141
|
+
if (dir === projectRoot)
|
|
142
|
+
break;
|
|
143
|
+
dir = path.dirname(dir);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return depth <= 1 ? currentDir : projectRoot;
|
|
147
|
+
}
|
|
148
|
+
function buildCandidate(language, languageStats, projectRoot) {
|
|
149
|
+
const markerCount = languageStats.markerFiles.size;
|
|
150
|
+
const totalFiles = languageStats.totalFiles;
|
|
151
|
+
const priorityFiles = languageStats.priorityFiles;
|
|
152
|
+
if (markerCount === 0 && totalFiles === 0) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
const rootMarkerCount = Array.from(languageStats.markerRoots.values()).filter((depth) => depth === 0).length;
|
|
156
|
+
const nestedMarkerCount = markerCount - rootMarkerCount;
|
|
157
|
+
const score = rootMarkerCount * 40 + nestedMarkerCount * 12 + priorityFiles * 3 + totalFiles;
|
|
158
|
+
const roots = languageStats.markerRoots.size > 0
|
|
159
|
+
? Array.from(languageStats.markerRoots.entries())
|
|
160
|
+
.sort((a, b) => a[1] - b[1] || a[0].localeCompare(b[0]))
|
|
161
|
+
.map(([root]) => root)
|
|
162
|
+
: Array.from(languageStats.sourceRoots.entries())
|
|
163
|
+
.sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))
|
|
164
|
+
.map(([root]) => root);
|
|
165
|
+
return {
|
|
166
|
+
language,
|
|
167
|
+
score,
|
|
168
|
+
evidence: [
|
|
169
|
+
...(markerCount > 0
|
|
170
|
+
? [`markers: ${Array.from(languageStats.markerFiles).sort().join(', ')}`]
|
|
171
|
+
: []),
|
|
172
|
+
...(rootMarkerCount > 0 ? [`rootMarkers=${rootMarkerCount}`] : []),
|
|
173
|
+
`priorityFiles=${priorityFiles}`,
|
|
174
|
+
`totalFiles=${totalFiles}`,
|
|
175
|
+
],
|
|
176
|
+
roots: roots.length > 0 ? roots : [projectRoot],
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=project-language-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-language-detector.js","sourceRoot":"","sources":["../../../src/cli/utils/project-language-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { DiagramConfig } from '../../types/config.js';
|
|
2
|
+
export declare const DEFAULT_SOURCE_EXTENSIONS: string[];
|
|
2
3
|
export declare function findSourceRoot(rootDir: string): Promise<string>;
|
|
3
|
-
export declare function getTopLevelModules(rootDir: string, sourceRoot: string): Promise<string[]>;
|
|
4
|
-
export declare function hasTopLevelSourceFiles(sourceRootPath: string): Promise<boolean>;
|
|
4
|
+
export declare function getTopLevelModules(rootDir: string, sourceRoot: string, extensions?: string[]): Promise<string[]>;
|
|
5
|
+
export declare function hasTopLevelSourceFiles(sourceRootPath: string, extensions?: string[]): Promise<boolean>;
|
|
5
6
|
export declare function detectProjectStructure(rootDir: string, externalSourceRoot?: string): Promise<DiagramConfig[]>;
|
|
6
7
|
//# sourceMappingURL=project-structure-detector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-structure-detector.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/project-structure-detector.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,eAAO,MAAM,yBAAyB,UAAiB,CAAC;AAuBxD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAarE;AAWD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,EAA8B,GAC/C,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnB;AAQD,wBAAsB,sBAAsB,CAC1C,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE,MAAM,EAA8B,GAC/C,OAAO,CAAC,OAAO,CAAC,CAiBlB;AA4CD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,aAAa,EAAE,CAAC,CAmE1B"}
|