tdepend 0.2.0 → 0.3.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.
Files changed (115) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +212 -116
  3. package/dist/api/analyze.d.ts +8 -68
  4. package/dist/api/analyze.js +33 -108
  5. package/dist/api/analyze.js.map +1 -1
  6. package/dist/api/explain.d.ts +22 -0
  7. package/dist/api/explain.js +38 -0
  8. package/dist/api/explain.js.map +1 -0
  9. package/dist/api/export.d.ts +4 -47
  10. package/dist/api/export.js +6 -45
  11. package/dist/api/export.js.map +1 -1
  12. package/dist/api/serialization.d.ts +6 -26
  13. package/dist/api/serialization.js +68 -58
  14. package/dist/api/serialization.js.map +1 -1
  15. package/dist/cli/index.js +11 -129
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/run.d.ts +12 -0
  18. package/dist/cli/run.js +112 -0
  19. package/dist/cli/run.js.map +1 -0
  20. package/dist/config/loadConfig.d.ts +10 -10
  21. package/dist/config/loadConfig.js +73 -36
  22. package/dist/config/loadConfig.js.map +1 -1
  23. package/dist/config/schema.d.ts +59 -29
  24. package/dist/config/schema.js +45 -51
  25. package/dist/config/schema.js.map +1 -1
  26. package/dist/errors.d.ts +9 -0
  27. package/dist/errors.js +21 -0
  28. package/dist/errors.js.map +1 -0
  29. package/dist/files/collectFiles.d.ts +21 -0
  30. package/dist/files/collectFiles.js +189 -0
  31. package/dist/files/collectFiles.js.map +1 -0
  32. package/dist/fs.d.ts +16 -0
  33. package/dist/fs.js +50 -0
  34. package/dist/fs.js.map +1 -0
  35. package/dist/graph/buildFileGraph.d.ts +33 -0
  36. package/dist/graph/buildFileGraph.js +163 -0
  37. package/dist/graph/buildFileGraph.js.map +1 -0
  38. package/dist/graph/fileGraph.d.ts +20 -0
  39. package/dist/graph/fileGraph.js +75 -0
  40. package/dist/graph/fileGraph.js.map +1 -0
  41. package/dist/index.d.ts +10 -21
  42. package/dist/index.js +6 -29
  43. package/dist/index.js.map +1 -1
  44. package/dist/output/analyzeText.d.ts +7 -0
  45. package/dist/output/analyzeText.js +91 -0
  46. package/dist/output/analyzeText.js.map +1 -0
  47. package/dist/parser/extractSites.d.ts +3 -0
  48. package/dist/parser/extractSites.js +704 -0
  49. package/dist/parser/extractSites.js.map +1 -0
  50. package/dist/parser/loadsTarget.d.ts +10 -0
  51. package/dist/parser/loadsTarget.js +304 -0
  52. package/dist/parser/loadsTarget.js.map +1 -0
  53. package/dist/parser/types.d.ts +30 -0
  54. package/dist/{types/graph.js → parser/types.js} +1 -1
  55. package/dist/parser/types.js.map +1 -0
  56. package/dist/project/discoverProject.d.ts +2 -0
  57. package/dist/project/discoverProject.js +477 -0
  58. package/dist/project/discoverProject.js.map +1 -0
  59. package/dist/project/gitignore.d.ts +13 -0
  60. package/dist/project/gitignore.js +138 -0
  61. package/dist/project/gitignore.js.map +1 -0
  62. package/dist/project/types.d.ts +44 -0
  63. package/dist/{types/parser.js → project/types.js} +1 -1
  64. package/dist/project/types.js.map +1 -0
  65. package/dist/resolver/createResolver.d.ts +4 -0
  66. package/dist/resolver/createResolver.js +276 -0
  67. package/dist/resolver/createResolver.js.map +1 -0
  68. package/dist/resolver/types.d.ts +28 -0
  69. package/dist/resolver/types.js +3 -0
  70. package/dist/resolver/types.js.map +1 -0
  71. package/dist/resolver/workspaceHost.d.ts +12 -0
  72. package/dist/resolver/workspaceHost.js +253 -0
  73. package/dist/resolver/workspaceHost.js.map +1 -0
  74. package/dist/types/api.d.ts +71 -64
  75. package/package.json +24 -25
  76. package/dist/analysis/reporter.d.ts +0 -22
  77. package/dist/analysis/reporter.js +0 -116
  78. package/dist/analysis/reporter.js.map +0 -1
  79. package/dist/graph/cycleDetector.d.ts +0 -2
  80. package/dist/graph/cycleDetector.js +0 -56
  81. package/dist/graph/cycleDetector.js.map +0 -1
  82. package/dist/graph/dependencyGraph.d.ts +0 -10
  83. package/dist/graph/dependencyGraph.js +0 -41
  84. package/dist/graph/dependencyGraph.js.map +0 -1
  85. package/dist/metrics/abstractness.d.ts +0 -2
  86. package/dist/metrics/abstractness.js +0 -10
  87. package/dist/metrics/abstractness.js.map +0 -1
  88. package/dist/metrics/distance.d.ts +0 -1
  89. package/dist/metrics/distance.js +0 -7
  90. package/dist/metrics/distance.js.map +0 -1
  91. package/dist/metrics/index.d.ts +0 -4
  92. package/dist/metrics/index.js +0 -30
  93. package/dist/metrics/index.js.map +0 -1
  94. package/dist/metrics/instability.d.ts +0 -1
  95. package/dist/metrics/instability.js +0 -8
  96. package/dist/metrics/instability.js.map +0 -1
  97. package/dist/parser/fileScanner.d.ts +0 -8
  98. package/dist/parser/fileScanner.js +0 -22
  99. package/dist/parser/fileScanner.js.map +0 -1
  100. package/dist/parser/tsParser.d.ts +0 -18
  101. package/dist/parser/tsParser.js +0 -158
  102. package/dist/parser/tsParser.js.map +0 -1
  103. package/dist/types/graph.d.ts +0 -14
  104. package/dist/types/graph.js.map +0 -1
  105. package/dist/types/parser.d.ts +0 -26
  106. package/dist/types/parser.js.map +0 -1
  107. package/dist/utils/deepMerge.d.ts +0 -1
  108. package/dist/utils/deepMerge.js +0 -23
  109. package/dist/utils/deepMerge.js.map +0 -1
  110. package/dist/utils/log.d.ts +0 -2
  111. package/dist/utils/log.js +0 -9
  112. package/dist/utils/log.js.map +0 -1
  113. package/dist/utils/pathUtils.d.ts +0 -12
  114. package/dist/utils/pathUtils.js +0 -27
  115. package/dist/utils/pathUtils.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,41 +1,18 @@
1
1
  "use strict";
2
2
  /**
3
- * TDepend - TypeScript Dependency Analysis Library
3
+ * tdepend: executable architecture contracts for TypeScript.
4
4
  *
5
- * A JDepend-inspired dependency analysis tool for TypeScript projects.
6
- * Computes architectural metrics and detects dependency issues.
7
- *
8
- * @packageDocumentation
5
+ * The public surface is the four high-level functions below plus their types.
6
+ * Discovery, resolution and graph helpers stay internal.
9
7
  */
10
8
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.defaultConfig = exports.formatJsonOutput = exports.generateReport = exports.loadConfig = exports.scanFiles = exports.parseFile = exports.parseProject = exports.computeAllMetrics = exports.detectCycles = exports.DependencyGraph = exports.toSerializable = exports.exportToJson = exports.exportToFile = exports.analyzeWithConfig = exports.analyze = void 0;
12
- // High-level API - Primary interface for library users
9
+ exports.toSerializable = exports.exportToFile = exports.explainFile = exports.analyze = void 0;
13
10
  var analyze_1 = require("./api/analyze");
14
11
  Object.defineProperty(exports, "analyze", { enumerable: true, get: function () { return analyze_1.analyze; } });
15
- Object.defineProperty(exports, "analyzeWithConfig", { enumerable: true, get: function () { return analyze_1.analyzeWithConfig; } });
12
+ var explain_1 = require("./api/explain");
13
+ Object.defineProperty(exports, "explainFile", { enumerable: true, get: function () { return explain_1.explainFile; } });
16
14
  var export_1 = require("./api/export");
17
15
  Object.defineProperty(exports, "exportToFile", { enumerable: true, get: function () { return export_1.exportToFile; } });
18
- Object.defineProperty(exports, "exportToJson", { enumerable: true, get: function () { return export_1.exportToJson; } });
19
16
  var serialization_1 = require("./api/serialization");
20
17
  Object.defineProperty(exports, "toSerializable", { enumerable: true, get: function () { return serialization_1.toSerializable; } });
21
- // Core building blocks - For advanced users who want fine-grained control
22
- var dependencyGraph_1 = require("./graph/dependencyGraph");
23
- Object.defineProperty(exports, "DependencyGraph", { enumerable: true, get: function () { return dependencyGraph_1.DependencyGraph; } });
24
- var cycleDetector_1 = require("./graph/cycleDetector");
25
- Object.defineProperty(exports, "detectCycles", { enumerable: true, get: function () { return cycleDetector_1.detectCycles; } });
26
- var metrics_1 = require("./metrics");
27
- Object.defineProperty(exports, "computeAllMetrics", { enumerable: true, get: function () { return metrics_1.computeAllMetrics; } });
28
- var tsParser_1 = require("./parser/tsParser");
29
- Object.defineProperty(exports, "parseProject", { enumerable: true, get: function () { return tsParser_1.parseProject; } });
30
- Object.defineProperty(exports, "parseFile", { enumerable: true, get: function () { return tsParser_1.parseFile; } });
31
- var fileScanner_1 = require("./parser/fileScanner");
32
- Object.defineProperty(exports, "scanFiles", { enumerable: true, get: function () { return fileScanner_1.scanFiles; } });
33
- var loadConfig_1 = require("./config/loadConfig");
34
- Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return loadConfig_1.loadConfig; } });
35
- var reporter_1 = require("./analysis/reporter");
36
- Object.defineProperty(exports, "generateReport", { enumerable: true, get: function () { return reporter_1.generateReport; } });
37
- Object.defineProperty(exports, "formatJsonOutput", { enumerable: true, get: function () { return reporter_1.formatJsonOutput; } });
38
- // Configuration - Useful for customization
39
- var schema_1 = require("./config/schema");
40
- Object.defineProperty(exports, "defaultConfig", { enumerable: true, get: function () { return schema_1.defaultConfig; } });
41
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,uDAAuD;AACvD,yCAA2D;AAAlD,kGAAA,OAAO,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAGnC,uCAA0D;AAAjD,sGAAA,YAAY,OAAA;AAAE,sGAAA,YAAY,OAAA;AAGnC,qDAAqD;AAA5C,+GAAA,cAAc,OAAA;AAEvB,0EAA0E;AAC1E,2DAA0D;AAAjD,kHAAA,eAAe,OAAA;AACxB,uDAAqD;AAA5C,6GAAA,YAAY,OAAA;AACrB,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAC1B,8CAA4D;AAAnD,wGAAA,YAAY,OAAA;AAAE,qGAAA,SAAS,OAAA;AAChC,oDAAiD;AAAxC,wGAAA,SAAS,OAAA;AAClB,kDAAiD;AAAxC,wGAAA,UAAU,OAAA;AACnB,gDAAuE;AAA9D,0GAAA,cAAc,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAezC,2CAA2C;AAC3C,0CAAgD;AAAvC,uGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yCAAwC;AAA/B,kGAAA,OAAO,OAAA;AAGhB,yCAA4C;AAAnC,sGAAA,WAAW,OAAA;AAGpB,uCAA4C;AAAnC,sGAAA,YAAY,OAAA;AAErB,qDAAqD;AAA5C,+GAAA,cAAc,OAAA"}
@@ -0,0 +1,7 @@
1
+ import type { AnalysisResult } from '../types/api';
2
+ /**
3
+ * Renders the human-readable `analyze` report: a summary line set, the
4
+ * unresolved imports with `path:line`, the ignored (gitignored) target
5
+ * directories, and the unsupported, self-import and uncovered-file counts.
6
+ */
7
+ export declare function formatAnalyzeText(result: AnalysisResult): string;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatAnalyzeText = formatAnalyzeText;
4
+ const serialization_1 = require("../api/serialization");
5
+ const MAX_UNRESOLVED = 20;
6
+ const MAX_IGNORED_DIRS = 10;
7
+ /**
8
+ * Renders the human-readable `analyze` report: a summary line set, the
9
+ * unresolved imports with `path:line`, the ignored (gitignored) target
10
+ * directories, and the unsupported, self-import and uncovered-file counts.
11
+ */
12
+ function formatAnalyzeText(result) {
13
+ const sections = [
14
+ summaryLines(result),
15
+ classLines(result),
16
+ unresolvedLines(result),
17
+ ignoredLines(result),
18
+ unsupportedLines(result),
19
+ [
20
+ `Self-imports: ${result.report.selfImports.length}`,
21
+ `Files outside every tsconfig: ${result.files.uncovered.length}`,
22
+ ],
23
+ notInstalledLines(result),
24
+ warningLines(result),
25
+ ].filter((lines) => lines.length > 0);
26
+ return `${sections.map((lines) => lines.join('\n')).join('\n\n')}\n`;
27
+ }
28
+ function summaryLines(result) {
29
+ return [
30
+ `Files: ${result.files.files.length}`,
31
+ `Import sites: ${result.sites.length}`,
32
+ `Edges: ${result.graph.edges().length}`,
33
+ ];
34
+ }
35
+ function classLines(result) {
36
+ const lines = ['Sites by class:'];
37
+ for (const [name, count] of Object.entries(result.report.stats)) {
38
+ lines.push(` ${name}: ${count}`);
39
+ }
40
+ return lines;
41
+ }
42
+ function unsupportedLines(result) {
43
+ const byReason = new Map();
44
+ for (const record of result.report.unsupported) {
45
+ const reason = record.resolution.reason ?? 'unknown';
46
+ byReason.set(reason, (byReason.get(reason) ?? 0) + 1);
47
+ }
48
+ const lines = [`Unsupported imports: ${result.report.unsupported.length}`];
49
+ for (const [reason, count] of [...byReason.entries()].sort()) {
50
+ lines.push(` ${reason}: ${count}`);
51
+ }
52
+ return lines;
53
+ }
54
+ function notInstalledLines(result) {
55
+ const count = result.sites.filter((record) => record.resolution.class === 'external' && record.resolution.reason === 'not-installed').length;
56
+ if (count === 0)
57
+ return [];
58
+ return [`Declared packages not found: ${count} (is node_modules installed?)`];
59
+ }
60
+ function warningLines(result) {
61
+ const warnings = (0, serialization_1.discoveryWarnings)(result);
62
+ if (warnings.length === 0)
63
+ return [];
64
+ return ['Warnings:', ...warnings.map((warning) => ` ${warning}`)];
65
+ }
66
+ function unresolvedLines(result) {
67
+ const { unresolved } = result.report;
68
+ const lines = [`Unresolved imports (${unresolved.length}):`];
69
+ for (const record of unresolved.slice(0, MAX_UNRESOLVED)) {
70
+ lines.push(` ${record.file}:${record.site.line} ${record.site.specifier}`);
71
+ }
72
+ if (unresolved.length > MAX_UNRESOLVED) {
73
+ lines.push(` ... and ${unresolved.length - MAX_UNRESOLVED} more`);
74
+ }
75
+ return lines;
76
+ }
77
+ function ignoredLines(result) {
78
+ const entries = Object.entries(result.report.ignoredByDir).sort(compareIgnored);
79
+ const total = entries.reduce((sum, [, count]) => sum + count, 0);
80
+ const lines = [`Ignored (gitignored targets): ${total}`];
81
+ for (const [dir, count] of entries.slice(0, MAX_IGNORED_DIRS)) {
82
+ lines.push(` ${dir} (${count})`);
83
+ }
84
+ return lines;
85
+ }
86
+ function compareIgnored(a, b) {
87
+ if (a[1] !== b[1])
88
+ return b[1] - a[1];
89
+ return a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0;
90
+ }
91
+ //# sourceMappingURL=analyzeText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzeText.js","sourceRoot":"","sources":["../../src/output/analyzeText.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import * as ts from 'typescript';
2
+ import type { ParsedFile } from './types';
3
+ export declare function parseFile(file: string, text: string, options: ts.CompilerOptions, absolutePath?: string): ParsedFile;