02-rbor 0.1.0
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/LICENSE +21 -0
- package/README.md +429 -0
- package/bin/rbor.js +3 -0
- package/dist/analyzers/file-categorizer.d.ts +5 -0
- package/dist/analyzers/file-categorizer.js +269 -0
- package/dist/analyzers/file-categorizer.js.map +1 -0
- package/dist/analyzers/file-categorizer.test.d.ts +1 -0
- package/dist/analyzers/file-categorizer.test.js +155 -0
- package/dist/analyzers/file-categorizer.test.js.map +1 -0
- package/dist/analyzers/graph-builder.d.ts +4 -0
- package/dist/analyzers/graph-builder.js +509 -0
- package/dist/analyzers/graph-builder.js.map +1 -0
- package/dist/analyzers/import-parser.d.ts +8 -0
- package/dist/analyzers/import-parser.js +285 -0
- package/dist/analyzers/import-parser.js.map +1 -0
- package/dist/analyzers/import-parser.test.d.ts +1 -0
- package/dist/analyzers/import-parser.test.js +177 -0
- package/dist/analyzers/import-parser.test.js.map +1 -0
- package/dist/analyzers/index.d.ts +4 -0
- package/dist/analyzers/index.js +28 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/analyzers/output-formatters.d.ts +11 -0
- package/dist/analyzers/output-formatters.js +451 -0
- package/dist/analyzers/output-formatters.js.map +1 -0
- package/dist/analyzers/yo.d.ts +1 -0
- package/dist/analyzers/yo.js +10 -0
- package/dist/analyzers/yo.js.map +1 -0
- package/dist/app/App.d.ts +1 -0
- package/dist/app/App.js +6 -0
- package/dist/app/App.js.map +1 -0
- package/dist/cli.d.ts +5 -0
- package/dist/cli.js +167 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/analyze-deps.d.ts +12 -0
- package/dist/commands/analyze-deps.js +136 -0
- package/dist/commands/analyze-deps.js.map +1 -0
- package/dist/commands/generate-constant.d.ts +1 -0
- package/dist/commands/generate-constant.js +148 -0
- package/dist/commands/generate-constant.js.map +1 -0
- package/dist/commands/generate-domain.d.ts +2 -0
- package/dist/commands/generate-domain.js +87 -0
- package/dist/commands/generate-domain.js.map +1 -0
- package/dist/commands/generate-endpoint.d.ts +1 -0
- package/dist/commands/generate-endpoint.js +124 -0
- package/dist/commands/generate-endpoint.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.js +32 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list-domains.d.ts +1 -0
- package/dist/commands/list-domains.js +122 -0
- package/dist/commands/list-domains.js.map +1 -0
- package/dist/commands/validate.d.ts +4 -0
- package/dist/commands/validate.js +255 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/layouts/MainLayout.d.ts +1 -0
- package/dist/layouts/MainLayout.js +6 -0
- package/dist/layouts/MainLayout.js.map +1 -0
- package/dist/pages/HomePage.d.ts +1 -0
- package/dist/pages/HomePage.js +6 -0
- package/dist/pages/HomePage.js.map +1 -0
- package/dist/templates/barrel/index.d.ts +1 -0
- package/dist/templates/barrel/index.js +14 -0
- package/dist/templates/barrel/index.js.map +1 -0
- package/dist/templates/component/index.d.ts +1 -0
- package/dist/templates/component/index.js +6 -0
- package/dist/templates/component/index.js.map +1 -0
- package/dist/templates/component/main.d.ts +1 -0
- package/dist/templates/component/main.js +8 -0
- package/dist/templates/component/main.js.map +1 -0
- package/dist/templates/hooks/action.d.ts +1 -0
- package/dist/templates/hooks/action.js +49 -0
- package/dist/templates/hooks/action.js.map +1 -0
- package/dist/templates/hooks/controller.d.ts +1 -0
- package/dist/templates/hooks/controller.js +41 -0
- package/dist/templates/hooks/controller.js.map +1 -0
- package/dist/templates/hooks/data.d.ts +1 -0
- package/dist/templates/hooks/data.js +38 -0
- package/dist/templates/hooks/data.js.map +1 -0
- package/dist/templates/hooks/index.d.ts +3 -0
- package/dist/templates/hooks/index.js +10 -0
- package/dist/templates/hooks/index.js.map +1 -0
- package/dist/templates/index.d.ts +10 -0
- package/dist/templates/index.js +33 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/methods/index.d.ts +1 -0
- package/dist/templates/methods/index.js +85 -0
- package/dist/templates/methods/index.js.map +1 -0
- package/dist/templates/schema/index.d.ts +1 -0
- package/dist/templates/schema/index.js +40 -0
- package/dist/templates/schema/index.js.map +1 -0
- package/dist/templates/services/base-service-axios.d.ts +1 -0
- package/dist/templates/services/base-service-axios.js +77 -0
- package/dist/templates/services/base-service-axios.js.map +1 -0
- package/dist/templates/services/base-service-fetch.d.ts +1 -0
- package/dist/templates/services/base-service-fetch.js +113 -0
- package/dist/templates/services/base-service-fetch.js.map +1 -0
- package/dist/templates/services/base-service-ky.d.ts +1 -0
- package/dist/templates/services/base-service-ky.js +85 -0
- package/dist/templates/services/base-service-ky.js.map +1 -0
- package/dist/templates/services/base-service.d.ts +1 -0
- package/dist/templates/services/base-service.js +92 -0
- package/dist/templates/services/base-service.js.map +1 -0
- package/dist/templates/services/domain-service.d.ts +2 -0
- package/dist/templates/services/domain-service.js +95 -0
- package/dist/templates/services/domain-service.js.map +1 -0
- package/dist/templates/services/index.d.ts +7 -0
- package/dist/templates/services/index.js +23 -0
- package/dist/templates/services/index.js.map +1 -0
- package/dist/templates/services/service-factory.d.ts +4 -0
- package/dist/templates/services/service-factory.js +68 -0
- package/dist/templates/services/service-factory.js.map +1 -0
- package/dist/templates/types/index.d.ts +1 -0
- package/dist/templates/types/index.js +7 -0
- package/dist/templates/types/index.js.map +1 -0
- package/dist/templates/utils/build-url.d.ts +1 -0
- package/dist/templates/utils/build-url.js +72 -0
- package/dist/templates/utils/build-url.js.map +1 -0
- package/dist/templates/utils/endpoints.d.ts +2 -0
- package/dist/templates/utils/endpoints.js +23 -0
- package/dist/templates/utils/endpoints.js.map +1 -0
- package/dist/templates/utils/generateURL.d.ts +1 -0
- package/dist/templates/utils/generateURL.js +40 -0
- package/dist/templates/utils/generateURL.js.map +1 -0
- package/dist/templates/utils/index.d.ts +1 -0
- package/dist/templates/utils/index.js +7 -0
- package/dist/templates/utils/index.js.map +1 -0
- package/dist/types/dependency-graph.d.ts +95 -0
- package/dist/types/dependency-graph.js +13 -0
- package/dist/types/dependency-graph.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/config.d.ts +16 -0
- package/dist/utils/config.js +145 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/create-file.d.ts +13 -0
- package/dist/utils/create-file.js +159 -0
- package/dist/utils/create-file.js.map +1 -0
- package/dist/utils/dependency-installer.d.ts +5 -0
- package/dist/utils/dependency-installer.js +95 -0
- package/dist/utils/dependency-installer.js.map +1 -0
- package/dist/utils/file-finder.d.ts +6 -0
- package/dist/utils/file-finder.js +80 -0
- package/dist/utils/file-finder.js.map +1 -0
- package/dist/utils/naming.d.ts +11 -0
- package/dist/utils/naming.js +46 -0
- package/dist/utils/naming.js.map +1 -0
- package/dist/utils/naming.test.d.ts +1 -0
- package/dist/utils/naming.test.js +106 -0
- package/dist/utils/naming.test.js.map +1 -0
- package/dist/utils/service-factory-updater.d.ts +2 -0
- package/dist/utils/service-factory-updater.js +87 -0
- package/dist/utils/service-factory-updater.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.formatAsJson = formatAsJson;
|
|
37
|
+
exports.formatAsSummary = formatAsSummary;
|
|
38
|
+
exports.generateFileSummary = generateFileSummary;
|
|
39
|
+
exports.formatAsTree = formatAsTree;
|
|
40
|
+
exports.formatAsDot = formatAsDot;
|
|
41
|
+
exports.formatGraph = formatGraph;
|
|
42
|
+
exports.formatAsSvg = formatAsSvg;
|
|
43
|
+
function formatAsJson(graph, pretty = true) {
|
|
44
|
+
return JSON.stringify(graph, null, pretty ? 2 : 0);
|
|
45
|
+
}
|
|
46
|
+
function formatAsSummary(graph, targetFile) {
|
|
47
|
+
const lines = [];
|
|
48
|
+
// Find the entry/target file
|
|
49
|
+
const entryPoints = graph.metadata.entryPoints;
|
|
50
|
+
const primaryEntry = entryPoints[0] || 'Unknown';
|
|
51
|
+
const entryNode = graph.nodes.find(n => n.isEntry) || graph.nodes.find(n => n.path.includes(primaryEntry));
|
|
52
|
+
// Header
|
|
53
|
+
lines.push('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
54
|
+
lines.push(` FILE SUMMARY: ${entryNode?.label || primaryEntry}`);
|
|
55
|
+
lines.push(` Path: ${entryNode?.path || primaryEntry}`);
|
|
56
|
+
lines.push('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
57
|
+
lines.push('');
|
|
58
|
+
if (!entryNode) {
|
|
59
|
+
lines.push(' โ ๏ธ Could not find entry file in graph');
|
|
60
|
+
lines.push('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
61
|
+
return lines.join('\n');
|
|
62
|
+
}
|
|
63
|
+
// Get outgoing edges (what this file imports)
|
|
64
|
+
const outgoingEdges = graph.edges.filter(e => e.source === entryNode.id);
|
|
65
|
+
const importedNodes = outgoingEdges
|
|
66
|
+
.map(e => graph.nodes.find(n => n.id === e.target))
|
|
67
|
+
.filter((n) => n !== undefined);
|
|
68
|
+
// Get incoming edges (what imports this file)
|
|
69
|
+
const incomingEdges = graph.edges.filter(e => e.target === entryNode.id);
|
|
70
|
+
const importerNodes = incomingEdges
|
|
71
|
+
.map(e => graph.nodes.find(n => n.id === e.source))
|
|
72
|
+
.filter((n) => n !== undefined);
|
|
73
|
+
// IMPORTS section (what this file depends on)
|
|
74
|
+
lines.push('๐ฅ IMPORTS (what this file depends on)');
|
|
75
|
+
lines.push('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
76
|
+
const internalImports = importedNodes.filter(n => n.type === 'internal');
|
|
77
|
+
const externalImports = importedNodes.filter(n => n.type === 'external');
|
|
78
|
+
if (internalImports.length > 0) {
|
|
79
|
+
lines.push(...formatAsFileTree(internalImports, ' '));
|
|
80
|
+
}
|
|
81
|
+
if (externalImports.length > 0) {
|
|
82
|
+
lines.push('');
|
|
83
|
+
lines.push(' ๐ฆ PACKAGES');
|
|
84
|
+
const externalByCategory = groupNodesByCategory(externalImports, 'external');
|
|
85
|
+
for (const [category, nodes] of Object.entries(externalByCategory)) {
|
|
86
|
+
if (nodes.length === 0)
|
|
87
|
+
continue;
|
|
88
|
+
lines.push(` ${getPackageEmoji(category)} ${category} (${nodes.length})`);
|
|
89
|
+
for (const node of nodes) {
|
|
90
|
+
lines.push(` โโ ${node.label}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (importedNodes.length === 0) {
|
|
95
|
+
lines.push(' (no imports)');
|
|
96
|
+
}
|
|
97
|
+
lines.push('');
|
|
98
|
+
// IMPORTED BY section (what depends on this file)
|
|
99
|
+
lines.push('๐ค IMPORTED BY (what depends on this file)');
|
|
100
|
+
lines.push('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
101
|
+
const internalImporters = importerNodes.filter(n => n.type === 'internal');
|
|
102
|
+
if (internalImporters.length > 0) {
|
|
103
|
+
lines.push(...formatAsFileTree(internalImporters, ' '));
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
lines.push(' (not imported by any analyzed file)');
|
|
107
|
+
}
|
|
108
|
+
lines.push('');
|
|
109
|
+
// Dynamic imports
|
|
110
|
+
const dynamicOutgoing = outgoingEdges.filter(e => e.importType === 'dynamic');
|
|
111
|
+
const dynamicIncoming = incomingEdges.filter(e => e.importType === 'dynamic');
|
|
112
|
+
if (dynamicOutgoing.length > 0 || dynamicIncoming.length > 0) {
|
|
113
|
+
lines.push('โก DYNAMIC IMPORTS');
|
|
114
|
+
lines.push('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
115
|
+
for (const edge of dynamicOutgoing) {
|
|
116
|
+
const target = graph.nodes.find(n => n.id === edge.target);
|
|
117
|
+
lines.push(` โโ imports โ ${target?.path || edge.target}`);
|
|
118
|
+
}
|
|
119
|
+
for (const edge of dynamicIncoming) {
|
|
120
|
+
const source = graph.nodes.find(n => n.id === edge.source);
|
|
121
|
+
lines.push(` โโ imported by โ ${source?.path || edge.source}`);
|
|
122
|
+
}
|
|
123
|
+
lines.push('');
|
|
124
|
+
}
|
|
125
|
+
// Circular dependencies involving this file
|
|
126
|
+
const circularInvolvingEntry = graph.metadata.circularDependencies.filter(cycle => cycle.includes(entryNode.id));
|
|
127
|
+
lines.push('๐ CIRCULAR DEPENDENCIES');
|
|
128
|
+
lines.push('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
129
|
+
if (circularInvolvingEntry.length > 0) {
|
|
130
|
+
for (const cycle of circularInvolvingEntry) {
|
|
131
|
+
lines.push(` โ ๏ธ ${cycle.join(' โ ')}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
lines.push(' (none)');
|
|
136
|
+
}
|
|
137
|
+
lines.push('');
|
|
138
|
+
lines.push('โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ');
|
|
139
|
+
return lines.join('\n');
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Format nodes as a folder-structured file tree
|
|
143
|
+
* Groups files by directory and displays as ASCII tree
|
|
144
|
+
*/
|
|
145
|
+
function formatAsFileTree(nodes, indent = '') {
|
|
146
|
+
const lines = [];
|
|
147
|
+
const root = { files: [], folders: new Map() };
|
|
148
|
+
for (const node of nodes) {
|
|
149
|
+
const relativePath = node.path.replace(/\\/g, '/');
|
|
150
|
+
const parts = relativePath.split('/');
|
|
151
|
+
const fileName = parts.pop() || node.label;
|
|
152
|
+
// Navigate to the correct folder
|
|
153
|
+
let current = root;
|
|
154
|
+
for (const part of parts) {
|
|
155
|
+
if (!current.folders.has(part)) {
|
|
156
|
+
current.folders.set(part, { files: [], folders: new Map() });
|
|
157
|
+
}
|
|
158
|
+
current = current.folders.get(part);
|
|
159
|
+
}
|
|
160
|
+
current.files.push({ ...node, label: fileName });
|
|
161
|
+
}
|
|
162
|
+
// Render the tree
|
|
163
|
+
function renderFolder(folder, prefix, isRoot = false) {
|
|
164
|
+
const folderNames = [...folder.folders.keys()].sort();
|
|
165
|
+
const files = [...folder.files].sort((a, b) => a.label.localeCompare(b.label));
|
|
166
|
+
const totalItems = folderNames.length + files.length;
|
|
167
|
+
let itemIndex = 0;
|
|
168
|
+
// Render subfolders
|
|
169
|
+
for (const folderName of folderNames) {
|
|
170
|
+
itemIndex++;
|
|
171
|
+
const isLast = itemIndex === totalItems;
|
|
172
|
+
const connector = isLast ? 'โโโ ' : 'โโโ ';
|
|
173
|
+
const childPrefix = prefix + (isLast ? ' ' : 'โ ');
|
|
174
|
+
lines.push(`${prefix}${connector}๐ ${folderName}/`);
|
|
175
|
+
renderFolder(folder.folders.get(folderName), childPrefix);
|
|
176
|
+
}
|
|
177
|
+
// Render files
|
|
178
|
+
for (const file of files) {
|
|
179
|
+
itemIndex++;
|
|
180
|
+
const isLast = itemIndex === totalItems;
|
|
181
|
+
const connector = isLast ? 'โโโ ' : 'โโโ ';
|
|
182
|
+
const icon = getCategoryEmoji(file.category);
|
|
183
|
+
// Show full path for VS Code to auto-link
|
|
184
|
+
lines.push(`${prefix}${connector}${icon} ${file.path}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
// Start rendering from root's children (skip empty root)
|
|
188
|
+
const rootFolders = [...root.folders.keys()];
|
|
189
|
+
const rootFiles = root.files;
|
|
190
|
+
if (rootFolders.length === 1 && rootFiles.length === 0) {
|
|
191
|
+
// Single root folder - skip one level
|
|
192
|
+
const singleFolder = rootFolders[0];
|
|
193
|
+
lines.push(`${indent}๐ ${singleFolder}/`);
|
|
194
|
+
renderFolder(root.folders.get(singleFolder), indent);
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
renderFolder(root, indent, true);
|
|
198
|
+
}
|
|
199
|
+
return lines;
|
|
200
|
+
}
|
|
201
|
+
function generateFileSummary(graph, filePath) {
|
|
202
|
+
const normalizedPath = filePath.replace(/\\/g, '/');
|
|
203
|
+
// Find the node
|
|
204
|
+
const node = graph.nodes.find(n => n.path.replace(/\\/g, '/').endsWith(normalizedPath) || n.id === normalizedPath);
|
|
205
|
+
if (!node) {
|
|
206
|
+
return {
|
|
207
|
+
file: filePath,
|
|
208
|
+
direction: graph.metadata.direction,
|
|
209
|
+
internal: {},
|
|
210
|
+
external: {},
|
|
211
|
+
dynamic: [],
|
|
212
|
+
circular: [],
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
// Get edges related to this file
|
|
216
|
+
const outgoingEdges = graph.edges.filter(e => e.source === node.id);
|
|
217
|
+
const incomingEdges = graph.edges.filter(e => e.target === node.id);
|
|
218
|
+
const relevantEdges = graph.metadata.direction === 'forward' ? outgoingEdges : incomingEdges;
|
|
219
|
+
// Group dependencies
|
|
220
|
+
const internal = {};
|
|
221
|
+
const external = {};
|
|
222
|
+
const dynamic = [];
|
|
223
|
+
for (const edge of relevantEdges) {
|
|
224
|
+
const targetId = graph.metadata.direction === 'forward' ? edge.target : edge.source;
|
|
225
|
+
const targetNode = graph.nodes.find(n => n.id === targetId);
|
|
226
|
+
if (!targetNode)
|
|
227
|
+
continue;
|
|
228
|
+
if (edge.importType === 'dynamic') {
|
|
229
|
+
dynamic.push(targetId);
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
if (targetNode.type === 'internal') {
|
|
233
|
+
const category = targetNode.category;
|
|
234
|
+
if (!internal[category])
|
|
235
|
+
internal[category] = [];
|
|
236
|
+
internal[category].push(targetId);
|
|
237
|
+
}
|
|
238
|
+
else if (targetNode.type === 'external') {
|
|
239
|
+
const category = targetNode.category;
|
|
240
|
+
if (!external[category])
|
|
241
|
+
external[category] = [];
|
|
242
|
+
external[category].push(targetNode.label);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
// Find circular dependencies involving this file
|
|
246
|
+
const circular = graph.metadata.circularDependencies.filter(cycle => cycle.includes(node.id));
|
|
247
|
+
return {
|
|
248
|
+
file: filePath,
|
|
249
|
+
direction: graph.metadata.direction,
|
|
250
|
+
internal: internal,
|
|
251
|
+
external: external,
|
|
252
|
+
dynamic,
|
|
253
|
+
circular,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
function formatAsTree(graph, maxDepth = 3) {
|
|
257
|
+
const lines = [];
|
|
258
|
+
const visited = new Set();
|
|
259
|
+
const isReverse = graph.metadata.direction === 'reverse';
|
|
260
|
+
function printNode(nodeId, depth, prefix, isLast) {
|
|
261
|
+
if (depth > maxDepth)
|
|
262
|
+
return;
|
|
263
|
+
const node = graph.nodes.find(n => n.id === nodeId);
|
|
264
|
+
if (!node)
|
|
265
|
+
return;
|
|
266
|
+
const connector = isLast ? 'โโโ ' : 'โโโ ';
|
|
267
|
+
const icon = getNodeIcon(node);
|
|
268
|
+
lines.push(`${prefix}${connector}${icon} ${node.id}`);
|
|
269
|
+
if (visited.has(nodeId)) {
|
|
270
|
+
lines.push(`${prefix}${isLast ? ' ' : 'โ '} (circular)`);
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
visited.add(nodeId);
|
|
274
|
+
// Get children based on direction
|
|
275
|
+
const children = isReverse
|
|
276
|
+
? graph.edges.filter(e => e.target === nodeId).map(e => e.source)
|
|
277
|
+
: graph.edges.filter(e => e.source === nodeId).map(e => e.target);
|
|
278
|
+
const childPrefix = prefix + (isLast ? ' ' : 'โ ');
|
|
279
|
+
children.forEach((child, index) => {
|
|
280
|
+
printNode(child, depth + 1, childPrefix, index === children.length - 1);
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
// Build adjacency list for BFS
|
|
284
|
+
const adjacency = new Map();
|
|
285
|
+
for (const edge of graph.edges) {
|
|
286
|
+
if (isReverse) {
|
|
287
|
+
// For reverse: edge.target is the file, edge.source is who imports it
|
|
288
|
+
if (!adjacency.has(edge.target))
|
|
289
|
+
adjacency.set(edge.target, []);
|
|
290
|
+
adjacency.get(edge.target).push(edge.source);
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
// For forward: edge.source imports edge.target
|
|
294
|
+
if (!adjacency.has(edge.source))
|
|
295
|
+
adjacency.set(edge.source, []);
|
|
296
|
+
adjacency.get(edge.source).push(edge.target);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// Start from the actual entry points the user passed
|
|
300
|
+
const startIds = graph.metadata.entryPoints.map(e => {
|
|
301
|
+
const relative = require('path').relative(process.cwd(), e);
|
|
302
|
+
return relative.replace(/\\/g, '/');
|
|
303
|
+
});
|
|
304
|
+
// Dedupe in case multiple entry points resolve to the same id
|
|
305
|
+
const uniqueStartIds = [...new Set(startIds)];
|
|
306
|
+
for (const startId of uniqueStartIds) {
|
|
307
|
+
const node = graph.nodes.find(n => n.id === startId);
|
|
308
|
+
if (!node)
|
|
309
|
+
continue;
|
|
310
|
+
lines.push(`๐ฆ ${node.path}`);
|
|
311
|
+
const children = adjacency.get(startId) || [];
|
|
312
|
+
children.forEach((child, index) => {
|
|
313
|
+
printNode(child, 1, '', index === children.length - 1);
|
|
314
|
+
});
|
|
315
|
+
lines.push('');
|
|
316
|
+
visited.clear();
|
|
317
|
+
}
|
|
318
|
+
return lines.join('\n');
|
|
319
|
+
}
|
|
320
|
+
function formatAsDot(graph) {
|
|
321
|
+
const lines = [];
|
|
322
|
+
const isReverse = graph.metadata.direction === 'reverse';
|
|
323
|
+
lines.push('digraph DependencyGraph {');
|
|
324
|
+
lines.push(' rankdir=LR;');
|
|
325
|
+
lines.push(' node [shape=box, style="filled,rounded", fontname="Segoe UI", fontsize=12, margin="0.2,0.15"];');
|
|
326
|
+
lines.push(' edge [fontname="Segoe UI", fontsize=10];');
|
|
327
|
+
lines.push('');
|
|
328
|
+
const colors = {
|
|
329
|
+
internal: '#4FC3F7', // Soft Blue
|
|
330
|
+
external: '#81C784', // Muted Green
|
|
331
|
+
dynamic: '#FFD54F', // Amber
|
|
332
|
+
builtin: '#90A4AE', // Blue Grey
|
|
333
|
+
entry: '#BA68C8', // Purple
|
|
334
|
+
};
|
|
335
|
+
// Collect nodes involved in circular dependencies
|
|
336
|
+
const circularNodeIds = new Set();
|
|
337
|
+
for (const cycle of graph.metadata.circularDependencies) {
|
|
338
|
+
for (const nodeId of cycle) {
|
|
339
|
+
const normalized = nodeId.replace(/\\/g, '/');
|
|
340
|
+
circularNodeIds.add(normalized);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
lines.push(' // Nodes');
|
|
344
|
+
for (const node of graph.nodes) {
|
|
345
|
+
const isCircularNode = circularNodeIds.has(node.id);
|
|
346
|
+
const color = isCircularNode ? '#FFCDD2' : node.isEntry ? colors.entry : colors[node.type];
|
|
347
|
+
const label = node.id.replace(/"/g, '\\"');
|
|
348
|
+
const border = isCircularNode ? ', color="#E57373", penwidth=2' : '';
|
|
349
|
+
lines.push(` "${node.id}" [label="${label}", fillcolor="${color}"${border}];`);
|
|
350
|
+
}
|
|
351
|
+
lines.push('');
|
|
352
|
+
lines.push(' // Edges');
|
|
353
|
+
for (const edge of graph.edges) {
|
|
354
|
+
const style = edge.importType === 'dynamic' ? 'dashed' : 'solid';
|
|
355
|
+
const color = edge.isCircular ? '#E57373' : '#666666';
|
|
356
|
+
const circularLabel = edge.isCircular ? ', label="โ circular", fontcolor="#E57373"' : '';
|
|
357
|
+
if (isReverse) {
|
|
358
|
+
lines.push(` "${edge.target}" -> "${edge.source}" [style=${style}, color="${color}"${circularLabel}];`);
|
|
359
|
+
}
|
|
360
|
+
else {
|
|
361
|
+
lines.push(` "${edge.source}" -> "${edge.target}" [style=${style}, color="${color}"${circularLabel}];`);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
// Add legend if circular dependencies exist
|
|
365
|
+
if (graph.metadata.circularDependencies.length > 0) {
|
|
366
|
+
lines.push('');
|
|
367
|
+
lines.push(' // Legend');
|
|
368
|
+
lines.push(' subgraph cluster_legend {');
|
|
369
|
+
lines.push(' label="โ Circular Dependencies Detected";');
|
|
370
|
+
lines.push(' style=dashed; color="#E57373"; fontcolor="#E57373"; fontname="Segoe UI";');
|
|
371
|
+
lines.push(' node [shape=plaintext, fillcolor=transparent, style=""];');
|
|
372
|
+
const count = graph.metadata.circularDependencies.length;
|
|
373
|
+
lines.push(` legend_text [label="${count} circular dependency cycle${count > 1 ? 's' : ''} found"];`);
|
|
374
|
+
lines.push(' }');
|
|
375
|
+
}
|
|
376
|
+
lines.push('}');
|
|
377
|
+
return lines.join('\n');
|
|
378
|
+
}
|
|
379
|
+
function groupNodesByCategory(nodes, type) {
|
|
380
|
+
const grouped = {};
|
|
381
|
+
for (const node of nodes) {
|
|
382
|
+
const category = node.category;
|
|
383
|
+
if (!grouped[category]) {
|
|
384
|
+
grouped[category] = [];
|
|
385
|
+
}
|
|
386
|
+
grouped[category].push(node);
|
|
387
|
+
}
|
|
388
|
+
return grouped;
|
|
389
|
+
}
|
|
390
|
+
function getCategoryEmoji(category) {
|
|
391
|
+
const emojis = {
|
|
392
|
+
page: '๐',
|
|
393
|
+
component: '๐งฉ',
|
|
394
|
+
hook: '๐ช',
|
|
395
|
+
service: 'โ๏ธ',
|
|
396
|
+
util: '๐ง',
|
|
397
|
+
config: 'โ๏ธ',
|
|
398
|
+
type: '๐',
|
|
399
|
+
schema: '๐',
|
|
400
|
+
method: '๐จ',
|
|
401
|
+
constant: '๐',
|
|
402
|
+
test: '๐งช',
|
|
403
|
+
unknown: 'โ',
|
|
404
|
+
};
|
|
405
|
+
return emojis[category] || '๐';
|
|
406
|
+
}
|
|
407
|
+
function getPackageEmoji(category) {
|
|
408
|
+
const emojis = {
|
|
409
|
+
framework: '๐๏ธ',
|
|
410
|
+
state: '๐๏ธ',
|
|
411
|
+
networking: '๐',
|
|
412
|
+
ui: '๐จ',
|
|
413
|
+
utility: '๐ง',
|
|
414
|
+
testing: '๐งช',
|
|
415
|
+
build: '๐ฆ',
|
|
416
|
+
other: '๐',
|
|
417
|
+
};
|
|
418
|
+
return emojis[category] || '๐ฆ';
|
|
419
|
+
}
|
|
420
|
+
function getNodeIcon(node) {
|
|
421
|
+
if (node.type === 'external')
|
|
422
|
+
return '๐ฆ';
|
|
423
|
+
if (node.type === 'builtin')
|
|
424
|
+
return '๐';
|
|
425
|
+
if (node.type === 'dynamic')
|
|
426
|
+
return 'โก';
|
|
427
|
+
return getCategoryEmoji(node.category);
|
|
428
|
+
}
|
|
429
|
+
function formatGraph(graph, format, options) {
|
|
430
|
+
switch (format) {
|
|
431
|
+
case 'json':
|
|
432
|
+
return formatAsJson(graph, options?.pretty ?? true);
|
|
433
|
+
case 'summary':
|
|
434
|
+
return formatAsSummary(graph);
|
|
435
|
+
case 'tree':
|
|
436
|
+
return formatAsTree(graph, options?.maxDepth ?? 3);
|
|
437
|
+
case 'dot':
|
|
438
|
+
return formatAsDot(graph);
|
|
439
|
+
case 'svg':
|
|
440
|
+
return formatAsDot(graph); // SVG rendering handled separately
|
|
441
|
+
default:
|
|
442
|
+
return formatAsSummary(graph);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
async function formatAsSvg(graph) {
|
|
446
|
+
const { instance } = await Promise.resolve().then(() => __importStar(require('@viz-js/viz')));
|
|
447
|
+
const viz = await instance();
|
|
448
|
+
const dotString = formatAsDot(graph);
|
|
449
|
+
return viz.renderString(dotString, { format: 'svg', engine: 'dot' });
|
|
450
|
+
}
|
|
451
|
+
//# sourceMappingURL=output-formatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-formatters.js","sourceRoot":"","sources":["../../src/analyzers/output-formatters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const Checking_1 = __importDefault(require("../../domains/checking/components/Checking"));
|
|
7
|
+
function yes() {
|
|
8
|
+
return Checking_1.default;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=yo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yo.js","sourceRoot":"","sources":["../../src/analyzers/yo.tsx"],"names":[],"mappings":";;;;;AAAA,0FAAiE;AAEjE,SAAS,GAAG;IACR,OAAO,kBAAQ,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function App(): any;
|
package/dist/app/App.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/app/App.tsx"],"names":[],"mappings":";;AACA,kBAA8C;AAD9C,yEAAsE;AACtE,SAAgB,GAAG,KAAK,OAAO,CAAC,mBAAQ,CAAC,AAAD,EAAG,CAAC,CAAC,CAAC"}
|