@principal-ai/codebase-composition 0.2.24 → 0.2.25
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/helpers/QualityMetricsCalculator.d.ts +26 -7
- package/dist/helpers/QualityMetricsCalculator.d.ts.map +1 -1
- package/dist/helpers/QualityMetricsCalculator.js +149 -107
- package/dist/helpers/QualityMetricsCalculator.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/PackageLayerModule.d.ts.map +1 -1
- package/dist/modules/PackageLayerModule.js +169 -3
- package/dist/modules/PackageLayerModule.js.map +1 -1
- package/dist/strategies/go-tools.d.ts +27 -0
- package/dist/strategies/go-tools.d.ts.map +1 -0
- package/dist/strategies/go-tools.js +184 -0
- package/dist/strategies/go-tools.js.map +1 -0
- package/dist/strategies/index.d.ts +37 -0
- package/dist/strategies/index.d.ts.map +1 -0
- package/dist/strategies/index.js +73 -0
- package/dist/strategies/index.js.map +1 -0
- package/dist/strategies/node-tools.d.ts +21 -0
- package/dist/strategies/node-tools.d.ts.map +1 -0
- package/dist/strategies/node-tools.js +141 -0
- package/dist/strategies/node-tools.js.map +1 -0
- package/dist/strategies/python-tools.d.ts +25 -0
- package/dist/strategies/python-tools.d.ts.map +1 -0
- package/dist/strategies/python-tools.js +191 -0
- package/dist/strategies/python-tools.js.map +1 -0
- package/dist/strategies/rust-tools.d.ts +23 -0
- package/dist/strategies/rust-tools.d.ts.map +1 -0
- package/dist/strategies/rust-tools.js +176 -0
- package/dist/strategies/rust-tools.js.map +1 -0
- package/dist/strategies/tool-detection.d.ts +137 -0
- package/dist/strategies/tool-detection.d.ts.map +1 -0
- package/dist/strategies/tool-detection.js +13 -0
- package/dist/strategies/tool-detection.js.map +1 -0
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { PackageCommand, QualityMetrics, LensOperation, ConfigFile } from '../types/layer-types';
|
|
5
5
|
import { type LensReadiness } from '@principal-ai/codebase-quality-lenses';
|
|
6
|
+
import { type Ecosystem, type PackageData, type ToolAvailability, type InstallInstruction } from '../strategies';
|
|
6
7
|
interface DetectedLens {
|
|
7
8
|
lensId: string;
|
|
8
9
|
operations: Set<LensOperation>;
|
|
@@ -48,18 +49,36 @@ export declare class QualityMetricsCalculator {
|
|
|
48
49
|
missingLenses: string[];
|
|
49
50
|
};
|
|
50
51
|
/**
|
|
51
|
-
*
|
|
52
|
-
* Checks package data against lens requirements
|
|
52
|
+
* Extended lens readiness result with ecosystem-aware install instructions
|
|
53
53
|
*/
|
|
54
|
-
static calculateLensReadiness(
|
|
54
|
+
static calculateLensReadiness(packageType: 'package' | 'node' | 'python' | 'cargo' | 'go', packageData: PackageData, configFiles: Record<string, ConfigFile | undefined>, lensIds?: string[]): Record<string, LensReadinessExtended>;
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
56
|
+
* Get install instructions for a tool in a specific ecosystem
|
|
57
57
|
*/
|
|
58
|
-
|
|
58
|
+
static getToolInstallInstructions(toolId: string, packageType: 'package' | 'node' | 'python' | 'cargo' | 'go', packageManager?: string): InstallInstruction;
|
|
59
59
|
/**
|
|
60
|
-
* Check if a
|
|
60
|
+
* Check if a tool is available in a package using ecosystem-specific detection
|
|
61
61
|
*/
|
|
62
|
-
|
|
62
|
+
static checkToolAvailability(toolId: string, packageType: 'package' | 'node' | 'python' | 'cargo' | 'go', packageData: PackageData, configFiles: Record<string, ConfigFile | undefined>): ToolAvailability;
|
|
63
|
+
/**
|
|
64
|
+
* Get the default command to run a tool
|
|
65
|
+
*/
|
|
66
|
+
static getToolDefaultCommand(toolId: string, packageType: 'package' | 'node' | 'python' | 'cargo' | 'go'): string;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Extended lens readiness with ecosystem-specific information
|
|
70
|
+
*/
|
|
71
|
+
export interface LensReadinessExtended extends LensReadiness {
|
|
72
|
+
/** The ecosystem this tool belongs to */
|
|
73
|
+
ecosystem: Ecosystem;
|
|
74
|
+
/** Detailed tool availability information */
|
|
75
|
+
toolAvailability: ToolAvailability;
|
|
76
|
+
/** Ecosystem-appropriate install instructions */
|
|
77
|
+
installInstructions: InstallInstruction;
|
|
78
|
+
/** Default command to run the tool */
|
|
79
|
+
defaultCommand: string;
|
|
80
|
+
/** Whether this is a built-in toolchain tool */
|
|
81
|
+
isToolchainTool: boolean;
|
|
63
82
|
}
|
|
64
83
|
export {};
|
|
65
84
|
//# sourceMappingURL=QualityMetricsCalculator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityMetricsCalculator.d.ts","sourceRoot":"","sources":["../../src/helpers/QualityMetricsCalculator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,
|
|
1
|
+
{"version":3,"file":"QualityMetricsCalculator.d.ts","sourceRoot":"","sources":["../../src/helpers/QualityMetricsCalculator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAGxB,MAAM,eAAe,CAAC;AAiKvB,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAChC;AAED,qBAAa,wBAAwB;IACnC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC;IAoChF;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAW1C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAoCrC;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACzC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,cAAc,CAAC;IAkB1B;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,EAAE;IAI9E;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,EAAE;IAK5E;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAC5B,QAAQ,EAAE,cAAc,EAAE,EAC1B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;;;;;IAkBlC;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAC3B,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,EAC3D,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,EACnD,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAyExC;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAC/B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,EAC3D,cAAc,CAAC,EAAE,MAAM,GACtB,kBAAkB;IAMrB;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,EAC3D,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,GAClD,gBAAgB;IAMnB;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,GAC1D,MAAM;CAKV;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,yCAAyC;IACzC,SAAS,EAAE,SAAS,CAAC;IAErB,6CAA6C;IAC7C,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,iDAAiD;IACjD,mBAAmB,EAAE,kBAAkB,CAAC;IAExC,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IAEvB,gDAAgD;IAChD,eAAe,EAAE,OAAO,CAAC;CAC1B"}
|
|
@@ -2,17 +2,31 @@
|
|
|
2
2
|
* Calculate quality metrics from lens commands
|
|
3
3
|
*/
|
|
4
4
|
import { ALL_LENS_REQUIREMENTS, } from '@principal-ai/codebase-quality-lenses';
|
|
5
|
+
import { getToolDetectionStrategy, packageTypeToEcosystem, } from '../strategies/index.js';
|
|
5
6
|
// Standard lens IDs and their corresponding hexagon metrics
|
|
6
7
|
const LENS_TO_METRIC_MAP = {
|
|
7
|
-
// Linting tools
|
|
8
|
+
// Linting tools (JavaScript/TypeScript)
|
|
8
9
|
'eslint': 'linting',
|
|
9
10
|
'biome': 'linting',
|
|
10
11
|
'biome-lint': 'linting',
|
|
11
12
|
'oxlint': 'linting',
|
|
12
|
-
//
|
|
13
|
+
// Linting tools (Python)
|
|
14
|
+
'ruff': 'linting',
|
|
15
|
+
'flake8': 'linting',
|
|
16
|
+
'pylint': 'linting',
|
|
17
|
+
// Linting tools (Go)
|
|
18
|
+
'golangci-lint': 'linting',
|
|
19
|
+
'staticcheck': 'linting',
|
|
20
|
+
'go-vet': 'linting',
|
|
21
|
+
// Linting tools (Rust)
|
|
22
|
+
'clippy': 'linting',
|
|
23
|
+
// Type checking tools (JavaScript/TypeScript)
|
|
13
24
|
'typescript': 'types',
|
|
14
25
|
'flow': 'types',
|
|
15
|
-
//
|
|
26
|
+
// Type checking tools (Python)
|
|
27
|
+
'mypy': 'types',
|
|
28
|
+
'pyright': 'types',
|
|
29
|
+
// Testing tools (JavaScript/TypeScript)
|
|
16
30
|
'test': 'tests',
|
|
17
31
|
'jest': 'tests',
|
|
18
32
|
'vitest': 'tests',
|
|
@@ -20,12 +34,33 @@ const LENS_TO_METRIC_MAP = {
|
|
|
20
34
|
'mocha': 'tests',
|
|
21
35
|
'playwright': 'tests',
|
|
22
36
|
'cypress': 'tests',
|
|
23
|
-
//
|
|
37
|
+
// Testing tools (Python)
|
|
38
|
+
'pytest': 'tests',
|
|
39
|
+
// Testing tools (Go)
|
|
40
|
+
'go-test': 'tests',
|
|
41
|
+
// Testing tools (Rust)
|
|
42
|
+
'cargo-test': 'tests',
|
|
43
|
+
'cargo-nextest': 'tests',
|
|
44
|
+
// Formatting tools (JavaScript/TypeScript)
|
|
24
45
|
'prettier': 'formatting',
|
|
25
46
|
'biome-format': 'formatting',
|
|
47
|
+
// Formatting tools (Python)
|
|
48
|
+
'black': 'formatting',
|
|
49
|
+
'isort': 'formatting',
|
|
50
|
+
'ruff-format': 'formatting',
|
|
51
|
+
// Formatting tools (Go)
|
|
52
|
+
'gofmt': 'formatting',
|
|
53
|
+
'goimports': 'formatting',
|
|
54
|
+
// Formatting tools (Rust)
|
|
55
|
+
'rustfmt': 'formatting',
|
|
26
56
|
// Dead code detection
|
|
27
57
|
'knip': 'deadCode',
|
|
28
58
|
'depcheck': 'deadCode',
|
|
59
|
+
'cargo-machete': 'deadCode',
|
|
60
|
+
// Security/vulnerability scanning
|
|
61
|
+
'govulncheck': 'deadCode', // Maps to deadCode for now, could be its own category
|
|
62
|
+
'cargo-audit': 'deadCode',
|
|
63
|
+
'cargo-deny': 'deadCode',
|
|
29
64
|
// Documentation
|
|
30
65
|
'typedoc': 'documentation',
|
|
31
66
|
'jsdoc': 'documentation',
|
|
@@ -44,25 +79,48 @@ const SCRIPT_CONTENT_PATTERNS = [
|
|
|
44
79
|
{ pattern: /\bvitest\b/, lensId: 'vitest' },
|
|
45
80
|
// Jest
|
|
46
81
|
{ pattern: /\bjest\b/, lensId: 'jest' },
|
|
82
|
+
// Python tools
|
|
83
|
+
{ pattern: /\bruff\s+(check|lint)\b/, lensId: 'ruff' },
|
|
84
|
+
{ pattern: /\bruff\s+format\b/, lensId: 'ruff-format' },
|
|
85
|
+
{ pattern: /\bmypy\b/, lensId: 'mypy' },
|
|
86
|
+
{ pattern: /\bpytest\b/, lensId: 'pytest' },
|
|
87
|
+
{ pattern: /\bpython\s+-m\s+pytest\b/, lensId: 'pytest' },
|
|
88
|
+
{ pattern: /\bblack\b/, lensId: 'black' },
|
|
89
|
+
{ pattern: /\bisort\b/, lensId: 'isort' },
|
|
90
|
+
{ pattern: /\bflake8\b/, lensId: 'flake8' },
|
|
91
|
+
{ pattern: /\bpylint\b/, lensId: 'pylint' },
|
|
92
|
+
{ pattern: /\bpyright\b/, lensId: 'pyright' },
|
|
47
93
|
];
|
|
48
94
|
// Standard lenses we expect to find
|
|
49
95
|
const STANDARD_LENSES = ['eslint', 'typescript', 'test', 'prettier', 'knip', 'typedoc', 'alexandria'];
|
|
50
96
|
// Fallback patterns for common script names
|
|
51
97
|
const SCRIPT_TO_LENS_MAP = {
|
|
52
|
-
// Linting
|
|
98
|
+
// Linting (JavaScript/TypeScript)
|
|
53
99
|
'lint': 'eslint',
|
|
54
100
|
'eslint': 'eslint',
|
|
55
|
-
//
|
|
101
|
+
// Linting (Python)
|
|
102
|
+
'ruff': 'ruff',
|
|
103
|
+
'flake8': 'flake8',
|
|
104
|
+
'pylint': 'pylint',
|
|
105
|
+
// Type checking (JavaScript/TypeScript)
|
|
56
106
|
'typecheck': 'typescript',
|
|
57
107
|
'type-check': 'typescript',
|
|
58
108
|
'tsc': 'typescript',
|
|
59
|
-
//
|
|
109
|
+
// Type checking (Python)
|
|
110
|
+
'mypy': 'mypy',
|
|
111
|
+
'pyright': 'pyright',
|
|
112
|
+
// Testing (JavaScript/TypeScript)
|
|
60
113
|
'test': 'test',
|
|
61
114
|
'jest': 'jest',
|
|
62
115
|
'vitest': 'vitest',
|
|
63
|
-
//
|
|
116
|
+
// Testing (Python)
|
|
117
|
+
'pytest': 'pytest',
|
|
118
|
+
// Formatting (JavaScript/TypeScript)
|
|
64
119
|
'format': 'prettier',
|
|
65
120
|
'prettier': 'prettier',
|
|
121
|
+
// Formatting (Python)
|
|
122
|
+
'black': 'black',
|
|
123
|
+
'isort': 'isort',
|
|
66
124
|
// Dead code
|
|
67
125
|
'knip': 'knip',
|
|
68
126
|
'unused': 'knip',
|
|
@@ -128,7 +186,9 @@ export class QualityMetricsCalculator {
|
|
|
128
186
|
let lensId = this.detectLensFromScriptContent(command.description);
|
|
129
187
|
// Fall back to script name mapping
|
|
130
188
|
if (!lensId) {
|
|
131
|
-
|
|
189
|
+
// Try exact match first, then base name (before colon suffix like :ci, :coverage)
|
|
190
|
+
const baseName = command.name.split(':')[0];
|
|
191
|
+
lensId = SCRIPT_TO_LENS_MAP[command.name] || SCRIPT_TO_LENS_MAP[baseName] || null;
|
|
132
192
|
}
|
|
133
193
|
if (lensId) {
|
|
134
194
|
if (!detectedLenses.has(lensId)) {
|
|
@@ -197,116 +257,98 @@ export class QualityMetricsCalculator {
|
|
|
197
257
|
missingLenses
|
|
198
258
|
};
|
|
199
259
|
}
|
|
260
|
+
// ============================================================================
|
|
261
|
+
// Strategy-based tool detection (multi-ecosystem support)
|
|
262
|
+
// ============================================================================
|
|
200
263
|
/**
|
|
201
|
-
*
|
|
202
|
-
* Checks package data against lens requirements
|
|
264
|
+
* Extended lens readiness result with ecosystem-aware install instructions
|
|
203
265
|
*/
|
|
204
|
-
static calculateLensReadiness(
|
|
266
|
+
static calculateLensReadiness(packageType, packageData, configFiles, lensIds) {
|
|
267
|
+
const ecosystem = packageTypeToEcosystem(packageType);
|
|
268
|
+
const strategy = getToolDetectionStrategy(ecosystem);
|
|
205
269
|
const result = {};
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
const missing = [];
|
|
217
|
-
const allDeps = { ...dependencies, ...devDependencies };
|
|
218
|
-
// Check devDependencies
|
|
219
|
-
for (const req of requirements.devDependencies) {
|
|
220
|
-
const version = devDependencies[req.name] || dependencies[req.name];
|
|
221
|
-
const satisfied = !!version;
|
|
270
|
+
// Get tools to check - either specified or all from ALL_LENS_REQUIREMENTS
|
|
271
|
+
const toolsToCheck = lensIds ?? Object.keys(ALL_LENS_REQUIREMENTS);
|
|
272
|
+
for (const lensId of toolsToCheck) {
|
|
273
|
+
const availability = strategy.detectToolAvailability(lensId, packageData, configFiles);
|
|
274
|
+
const installInstructions = strategy.getInstallInstructions(lensId, packageData.packageManager);
|
|
275
|
+
const defaultCommand = strategy.getDefaultCommand(lensId);
|
|
276
|
+
const isToolchain = strategy.isToolchainTool(lensId);
|
|
277
|
+
// Build checks array from availability
|
|
278
|
+
const checks = [];
|
|
279
|
+
// Check for tool installation
|
|
222
280
|
checks.push({
|
|
223
|
-
requirement:
|
|
224
|
-
|
|
225
|
-
|
|
281
|
+
requirement: {
|
|
282
|
+
type: 'devDependency',
|
|
283
|
+
name: lensId,
|
|
284
|
+
critical: true,
|
|
285
|
+
},
|
|
286
|
+
satisfied: availability.installed,
|
|
287
|
+
foundValue: availability.version,
|
|
226
288
|
});
|
|
227
|
-
|
|
228
|
-
missing.push(req);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
// Check scripts - strict matching by script name only
|
|
232
|
-
// The commandPattern is used for validation, not discovery
|
|
233
|
-
for (const req of requirements.scripts) {
|
|
234
|
-
const matchingCommand = commands.find(cmd => {
|
|
235
|
-
// Only match by exact script name
|
|
236
|
-
return cmd.name === req.name;
|
|
237
|
-
});
|
|
238
|
-
const satisfied = !!matchingCommand;
|
|
239
|
-
checks.push({
|
|
240
|
-
requirement: req,
|
|
241
|
-
satisfied,
|
|
242
|
-
foundValue: matchingCommand?.description || matchingCommand?.command,
|
|
243
|
-
});
|
|
244
|
-
if (!satisfied && req.critical !== false) {
|
|
245
|
-
missing.push(req);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
// Check config files
|
|
249
|
-
for (const req of requirements.configs) {
|
|
250
|
-
let satisfied = false;
|
|
251
|
-
let foundValue;
|
|
252
|
-
// Check against configFiles object
|
|
253
|
-
if (configFiles) {
|
|
254
|
-
// Try the primary config name (e.g., 'eslint' for eslint.config.js)
|
|
255
|
-
const lensConfigKey = requirements.lensId;
|
|
256
|
-
const configFile = configFiles[lensConfigKey];
|
|
257
|
-
if (configFile?.exists) {
|
|
258
|
-
satisfied = true;
|
|
259
|
-
foundValue = configFile.path;
|
|
260
|
-
}
|
|
261
|
-
// Check alternatives if not found
|
|
262
|
-
if (!satisfied && req.alternatives) {
|
|
263
|
-
for (const alt of req.alternatives) {
|
|
264
|
-
// Check if any config file matches the alternative pattern
|
|
265
|
-
for (const [, cf] of Object.entries(configFiles)) {
|
|
266
|
-
if (cf?.exists && cf.path && this.matchesConfigPattern(cf.path, alt)) {
|
|
267
|
-
satisfied = true;
|
|
268
|
-
foundValue = cf.path;
|
|
269
|
-
break;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
if (satisfied)
|
|
273
|
-
break;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
}
|
|
289
|
+
// Check for configuration
|
|
277
290
|
checks.push({
|
|
278
|
-
requirement:
|
|
279
|
-
|
|
280
|
-
|
|
291
|
+
requirement: {
|
|
292
|
+
type: 'config',
|
|
293
|
+
name: `${lensId} config`,
|
|
294
|
+
critical: false,
|
|
295
|
+
},
|
|
296
|
+
satisfied: availability.configured,
|
|
297
|
+
foundValue: configFiles[lensId]?.path,
|
|
281
298
|
});
|
|
282
|
-
|
|
283
|
-
|
|
299
|
+
// Determine missing requirements
|
|
300
|
+
const missing = [];
|
|
301
|
+
if (!availability.installed && !isToolchain) {
|
|
302
|
+
missing.push({
|
|
303
|
+
type: 'devDependency',
|
|
304
|
+
name: lensId,
|
|
305
|
+
critical: true,
|
|
306
|
+
suggestedFix: installInstructions.command,
|
|
307
|
+
});
|
|
284
308
|
}
|
|
309
|
+
// Overall readiness
|
|
310
|
+
const ready = availability.installed || isToolchain;
|
|
311
|
+
const partial = !ready && availability.configured;
|
|
312
|
+
result[lensId] = {
|
|
313
|
+
lensId,
|
|
314
|
+
displayName: lensId, // Would need requirements for proper display name
|
|
315
|
+
ready,
|
|
316
|
+
partial,
|
|
317
|
+
checks,
|
|
318
|
+
missing,
|
|
319
|
+
// Extended fields
|
|
320
|
+
ecosystem,
|
|
321
|
+
toolAvailability: availability,
|
|
322
|
+
installInstructions,
|
|
323
|
+
defaultCommand,
|
|
324
|
+
isToolchainTool: isToolchain,
|
|
325
|
+
};
|
|
285
326
|
}
|
|
286
|
-
|
|
287
|
-
const criticalMissing = missing.filter(m => m.critical !== false);
|
|
288
|
-
const ready = criticalMissing.length === 0;
|
|
289
|
-
const partial = !ready && checks.some(c => c.satisfied);
|
|
290
|
-
return {
|
|
291
|
-
lensId: requirements.lensId,
|
|
292
|
-
displayName: requirements.displayName,
|
|
293
|
-
ready,
|
|
294
|
-
partial,
|
|
295
|
-
checks,
|
|
296
|
-
missing,
|
|
297
|
-
};
|
|
327
|
+
return result;
|
|
298
328
|
}
|
|
299
329
|
/**
|
|
300
|
-
*
|
|
330
|
+
* Get install instructions for a tool in a specific ecosystem
|
|
301
331
|
*/
|
|
302
|
-
static
|
|
303
|
-
const
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
332
|
+
static getToolInstallInstructions(toolId, packageType, packageManager) {
|
|
333
|
+
const ecosystem = packageTypeToEcosystem(packageType);
|
|
334
|
+
const strategy = getToolDetectionStrategy(ecosystem);
|
|
335
|
+
return strategy.getInstallInstructions(toolId, packageManager);
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Check if a tool is available in a package using ecosystem-specific detection
|
|
339
|
+
*/
|
|
340
|
+
static checkToolAvailability(toolId, packageType, packageData, configFiles) {
|
|
341
|
+
const ecosystem = packageTypeToEcosystem(packageType);
|
|
342
|
+
const strategy = getToolDetectionStrategy(ecosystem);
|
|
343
|
+
return strategy.detectToolAvailability(toolId, packageData, configFiles);
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Get the default command to run a tool
|
|
347
|
+
*/
|
|
348
|
+
static getToolDefaultCommand(toolId, packageType) {
|
|
349
|
+
const ecosystem = packageTypeToEcosystem(packageType);
|
|
350
|
+
const strategy = getToolDetectionStrategy(ecosystem);
|
|
351
|
+
return strategy.getDefaultCommand(toolId);
|
|
310
352
|
}
|
|
311
353
|
}
|
|
312
354
|
//# sourceMappingURL=QualityMetricsCalculator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityMetricsCalculator.js","sourceRoot":"","sources":["../../src/helpers/QualityMetricsCalculator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,qBAAqB,
|
|
1
|
+
{"version":3,"file":"QualityMetricsCalculator.js","sourceRoot":"","sources":["../../src/helpers/QualityMetricsCalculator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,10 @@ export type { FileTypeInfo, FileSystemModuleConfig, FileSystemLoadResult, TypeEx
|
|
|
4
4
|
export { TypeScriptExtractor } from './modules';
|
|
5
5
|
export { FilesystemService } from './services';
|
|
6
6
|
export { QualityMetricsCalculator } from './helpers/QualityMetricsCalculator';
|
|
7
|
+
export type { LensReadinessExtended } from './helpers/QualityMetricsCalculator';
|
|
7
8
|
export { toQualityMetrics, hasQualityMetrics, getAvailableLenses, getMissingLenses, getOverallQualityScore, generateLensRecommendations, } from './helpers/packageLayerHelpers';
|
|
9
|
+
export { getToolDetectionStrategy, getAllStrategies, isEcosystemSupported, packageTypeToEcosystem, nodeToolDetection, pythonToolDetection, goToolDetection, rustToolDetection, } from './strategies';
|
|
10
|
+
export type { Ecosystem, ToolSource, ToolAvailability, PackageData, InstallInstruction, ToolDetectionStrategy, ToolMetadata, ToolRegistry, } from './strategies';
|
|
8
11
|
export { NodeFileSystemAdapter } from './adapters/NodeFileSystemAdapter';
|
|
9
12
|
export { GitVersionControlProvider, PackageManagerApiProvider } from './providers';
|
|
10
13
|
export type { FileSystemAdapter, GitAdapter, ShellAdapter, PackageManager, PackageVersionInfo, VersionCheckResult, VulnerabilityInfo, VulnerabilityCheckResult, LicenseInfo, LicenseCheckResult, DependencyCheckProgress, BatchCheckOptions, } from './providers';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,WAAW,EACX,OAAO,EACP,SAAS,EACT,cAAc,EACd,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EAEtB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,WAAW,EACX,OAAO,EACP,SAAS,EACT,cAAc,EACd,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EAEtB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,YAAY,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,8 @@ export { FilesystemService } from './services/index.js';
|
|
|
7
7
|
// Helpers
|
|
8
8
|
export { QualityMetricsCalculator } from './helpers/QualityMetricsCalculator.js';
|
|
9
9
|
export { toQualityMetrics, hasQualityMetrics, getAvailableLenses, getMissingLenses, getOverallQualityScore, generateLensRecommendations, } from './helpers/packageLayerHelpers.js';
|
|
10
|
+
// Strategies (multi-ecosystem tool detection)
|
|
11
|
+
export { getToolDetectionStrategy, getAllStrategies, isEcosystemSupported, packageTypeToEcosystem, nodeToolDetection, pythonToolDetection, goToolDetection, rustToolDetection, } from './strategies/index.js';
|
|
10
12
|
// Adapters
|
|
11
13
|
export { NodeFileSystemAdapter } from './adapters/NodeFileSystemAdapter.js';
|
|
12
14
|
// Providers
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAiCrC,UAAU;AACV,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAQnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,WAAW;AACX,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,UAAU;AACV,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAiCrC,UAAU;AACV,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAQnB,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,WAAW;AACX,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,UAAU;AACV,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAE9E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AAEvC,8CAA8C;AAC9C,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAYtB,WAAW;AACX,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,YAAY;AACZ,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageLayerModule.d.ts","sourceRoot":"","sources":["../../src/modules/PackageLayerModule.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAA+E,MAAM,sBAAsB,CAAC;AACjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"PackageLayerModule.d.ts","sourceRoot":"","sources":["../../src/modules/PackageLayerModule.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAA+E,MAAM,sBAAsB,CAAC;AACjI,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AA2hClE,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAIb;IAEF;;;;OAIG;IACG,gBAAgB,CACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAC7C,OAAO,CAAC,YAAY,EAAE,CAAC;IA4O1B;;OAEG;IACH,iCAAiC,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE;IAgDlF,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,6BAA6B;IAwBrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAsBlC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkCxB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;YACW,qBAAqB;IA4DnC;;OAEG;IACH,OAAO,CAAC,cAAc;IA0EtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwC5B;;;OAGG;IACH,OAAO,CAAC,uCAAuC;CAoEhD"}
|