@dxworks/depinder 0.1.6 → 0.2.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 (47) hide show
  1. package/dist/cache/json-cache.js.map +1 -1
  2. package/dist/cache/mongo-cache.js +20 -11
  3. package/dist/cache/mongo-cache.js.map +1 -1
  4. package/dist/commands/analyse.js +28 -27
  5. package/dist/commands/analyse.js.map +1 -1
  6. package/dist/commands/cache.js +6 -6
  7. package/dist/commands/cache.js.map +1 -1
  8. package/dist/commands/extractFrameworkVersion.js +67 -22
  9. package/dist/commands/extractFrameworkVersion.js.map +1 -1
  10. package/dist/commands/transformBlackDuckReports.d.ts +11 -0
  11. package/dist/commands/transformBlackDuckReports.js +491 -0
  12. package/dist/commands/transformBlackDuckReports.js.map +1 -0
  13. package/dist/commands/update.js +3 -4
  14. package/dist/commands/update.js.map +1 -1
  15. package/dist/depinder.js +4 -2
  16. package/dist/depinder.js.map +1 -1
  17. package/dist/extension-points/registrar.js +7 -8
  18. package/dist/extension-points/registrar.js.map +1 -1
  19. package/dist/info/php/parser.js +21 -12
  20. package/dist/info/php/parser.js.map +1 -1
  21. package/dist/plugins/dotnet/index.js +8 -16
  22. package/dist/plugins/dotnet/index.js.map +1 -1
  23. package/dist/plugins/index.js +3 -3
  24. package/dist/plugins/index.js.map +1 -1
  25. package/dist/plugins/java/index.js +15 -23
  26. package/dist/plugins/java/index.js.map +1 -1
  27. package/dist/plugins/java/parsers/maven.js +2 -4
  28. package/dist/plugins/java/parsers/maven.js.map +1 -1
  29. package/dist/plugins/javascript/index.js +116 -24
  30. package/dist/plugins/javascript/index.js.map +1 -1
  31. package/dist/plugins/php/index.js +8 -11
  32. package/dist/plugins/php/index.js.map +1 -1
  33. package/dist/plugins/php/php-interfaces.js +4 -6
  34. package/dist/plugins/php/php-interfaces.js.map +1 -1
  35. package/dist/plugins/python/index.js +33 -20
  36. package/dist/plugins/python/index.js.map +1 -1
  37. package/dist/plugins/ruby/index.js +21 -12
  38. package/dist/plugins/ruby/index.js.map +1 -1
  39. package/dist/utils/npm.d.ts +0 -1
  40. package/dist/utils/projectMapping.d.ts +41 -0
  41. package/dist/utils/projectMapping.js +310 -0
  42. package/dist/utils/projectMapping.js.map +1 -0
  43. package/dist/utils/utils.js +6 -6
  44. package/dist/utils/utils.js.map +1 -1
  45. package/dist/utils/vulnerabilities.js +54 -54
  46. package/dist/utils/vulnerabilities.js.map +1 -1
  47. package/package.json +45 -49
@@ -0,0 +1,491 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.transformBlackDuckReportsCommand = void 0;
40
+ exports.transformBlackDuckReports = transformBlackDuckReports;
41
+ const promises_1 = __importDefault(require("fs/promises"));
42
+ const fsSync = __importStar(require("fs"));
43
+ const path_1 = __importDefault(require("path"));
44
+ const commander_1 = require("commander");
45
+ const sync_1 = require("csv-parse/sync");
46
+ const sync_2 = require("csv-stringify/sync");
47
+ const projectMapping_1 = require("../utils/projectMapping");
48
+ /**
49
+ * Common options for CSV parsing
50
+ */
51
+ const CSV_PARSE_OPTIONS = { columns: true, skip_empty_lines: true };
52
+ /**
53
+ * Column order for dependencies.csv output
54
+ */
55
+ const DEPENDENCIES_COLUMN_ORDER = [
56
+ 'Component name',
57
+ 'Component version name',
58
+ 'Component Version Origin Id',
59
+ 'License names',
60
+ 'License families',
61
+ 'Match type',
62
+ 'Usage',
63
+ 'Operational Risk',
64
+ 'Origin name',
65
+ 'License Risk',
66
+ 'Total Vulnerability Count',
67
+ 'Critical and High Vulnerability Count',
68
+ 'Critical Vulnerability Count',
69
+ 'High Vulnerability Count',
70
+ 'Medium Vulnerability Count',
71
+ 'Low Vulnerability Count',
72
+ 'Release Date',
73
+ 'Newer Versions',
74
+ 'Commit Activity',
75
+ 'Commits in Past 12 Months',
76
+ 'Contributors in Past 12 Months',
77
+ 'Has License Conflicts',
78
+ 'Component Link',
79
+ 'Open Hub URL'
80
+ ];
81
+ /**
82
+ * Column order for dependencies_sources.csv output
83
+ */
84
+ const DEPENDENCIES_SOURCES_COLUMN_ORDER = [
85
+ 'Component name',
86
+ 'Component version name',
87
+ 'Component Version Origin Id',
88
+ 'Match type',
89
+ 'Path',
90
+ 'ProjectPath',
91
+ 'ProjectPathExists',
92
+ 'VerifiedPath',
93
+ 'Origin name',
94
+ 'License names',
95
+ 'License families',
96
+ 'License Risk',
97
+ 'Critical Vulnerability Count',
98
+ 'High Vulnerability Count',
99
+ 'Medium Vulnerability Count',
100
+ 'Low Vulnerability Count',
101
+ 'Total Vulnerability Count',
102
+ 'Critical and High Vulnerability Count',
103
+ 'Operational Risk',
104
+ 'Release Date',
105
+ 'Newer Versions',
106
+ 'OpenHubURL'
107
+ ];
108
+ /**
109
+ * Headers to keep for vulnerability_details.csv output
110
+ */
111
+ const VULNERABILITY_DETAILS_HEADERS = [
112
+ 'Component name',
113
+ 'Component version name',
114
+ 'Component Version Origin Id',
115
+ 'Vulnerability id',
116
+ 'Description',
117
+ 'Published on',
118
+ 'Updated on',
119
+ 'Base score',
120
+ 'Exploitability',
121
+ 'Impact',
122
+ 'Vulnerability source',
123
+ 'Remediation status',
124
+ 'URL',
125
+ 'Security Risk',
126
+ 'Project path',
127
+ 'Overall score',
128
+ 'CWE Ids',
129
+ 'Solution available',
130
+ 'Workaround available',
131
+ 'Exploit available',
132
+ 'CVSS Version',
133
+ 'Match type',
134
+ 'Vulnerability tags'
135
+ ];
136
+ /**
137
+ * Columns to remove from upgrade guidance CSV
138
+ */
139
+ const UPGRADE_GUIDANCE_COLUMNS_TO_REMOVE = new Set([
140
+ 'Used by',
141
+ 'Component Id',
142
+ 'Component Version Id',
143
+ 'Component Origin Id',
144
+ 'Component Origin Version Name',
145
+ 'Short Term Recommended Version Id',
146
+ 'Long Term Recommended Version Id',
147
+ 'Short Term Recommended Component Origin Id',
148
+ 'Long Term Recommended Component Origin Id',
149
+ 'Knowledgebase Timed Out'
150
+ ]);
151
+ /**
152
+ * Safely parses a string to an integer, returning 0 for invalid inputs
153
+ * @param s String to parse
154
+ * @returns Parsed integer or 0 if invalid
155
+ */
156
+ function safeInt(s) {
157
+ const v = parseInt(s ?? '', 10);
158
+ return isNaN(v) ? 0 : v;
159
+ }
160
+ /**
161
+ * Formats a date string from MM/DD/YY to \tYYYY-MM-DD format for Excel compatibility
162
+ * @param raw Raw date string in MM/DD/YY format
163
+ * @returns Formatted date string or empty string if invalid
164
+ */
165
+ function formatDateField(raw) {
166
+ if (!raw)
167
+ return '';
168
+ const parts = raw.trim().split('/');
169
+ if (parts.length !== 3)
170
+ return '';
171
+ const [month, day, year] = parts.map(s => parseInt(s, 10));
172
+ if (isNaN(month) || isNaN(day) || isNaN(year))
173
+ return '';
174
+ const fullYear = year < 50 ? 2000 + year : 1900 + year;
175
+ return `\t${fullYear}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`;
176
+ }
177
+ /**
178
+ * Normalizes values to string format according to Black Duck report requirements
179
+ * @param val Value to normalize
180
+ * @returns Normalized string value
181
+ */
182
+ function normalizeValue(val) {
183
+ if (val === true)
184
+ return 'TRUE';
185
+ if (val === false)
186
+ return 'FALSE';
187
+ if (val === null || val === undefined)
188
+ return '';
189
+ if (typeof val === 'number')
190
+ return `${val}`;
191
+ return `${val}`.trim();
192
+ }
193
+ /**
194
+ * Normalizes match type by removing " Dependency" suffix
195
+ * @param matchType Match type string
196
+ * @returns Normalized match type
197
+ */
198
+ function normalizeMatchType(matchType) {
199
+ return (matchType || '').replace(/ Dependency/g, '');
200
+ }
201
+ /**
202
+ * Calculates vulnerability counts from a component record
203
+ * @param component Component record
204
+ * @returns Object with vulnerability counts
205
+ */
206
+ function calculateVulnerabilityCounts(component) {
207
+ const critical = safeInt(component['Critical Vulnerability Count']);
208
+ const high = safeInt(component['High Vulnerability Count']);
209
+ const medium = safeInt(component['Medium Vulnerability Count']);
210
+ const low = safeInt(component['Low Vulnerability Count']);
211
+ return {
212
+ critical,
213
+ high,
214
+ medium,
215
+ low,
216
+ total: critical + high + medium + low,
217
+ criticalAndHigh: critical + high
218
+ };
219
+ }
220
+ /**
221
+ * Extracts a single origin name from a potentially comma-separated list
222
+ * @param originName Origin name string that might contain multiple comma-separated values
223
+ * @returns A single origin name if all values are the same, otherwise throws an exception
224
+ */
225
+ function getSingleOriginName(originName) {
226
+ if (!originName) {
227
+ return '';
228
+ }
229
+ const origins = originName.split(',').map(origin => origin.trim()).filter(origin => origin.length > 0);
230
+ if (origins.length === 0) {
231
+ return '';
232
+ }
233
+ const firstOrigin = origins[0];
234
+ const allSame = origins.every(origin => origin === firstOrigin);
235
+ if (!allSame) {
236
+ throw new Error(`Multiple different origin names found: ${originName}`);
237
+ }
238
+ return firstOrigin;
239
+ }
240
+ /**
241
+ * Transforms components data into dependencies records
242
+ * @param components Raw component records from Black Duck
243
+ * @returns Transformed dependency records
244
+ */
245
+ function transformDependencies(components) {
246
+ return components.map(component => {
247
+ const counts = calculateVulnerabilityCounts(component);
248
+ const result = {
249
+ 'Component name': component['Component name'],
250
+ 'Component version name': component['Component version name'],
251
+ 'Component Version Origin Id': component['Origin id'] || '',
252
+ 'License names': component['License names'],
253
+ 'License families': component['License families'],
254
+ 'Match type': normalizeMatchType(component['Match type']),
255
+ 'Usage': component['Usage'],
256
+ 'Operational Risk': component['Operational Risk'],
257
+ 'License Risk': component['License Risk'],
258
+ 'Total Vulnerability Count': `${counts.total}`,
259
+ 'Critical and High Vulnerability Count': `${counts.criticalAndHigh}`,
260
+ 'Critical Vulnerability Count': counts.critical > 0 ? `${counts.critical}` : '',
261
+ 'High Vulnerability Count': counts.high > 0 ? `${counts.high}` : '',
262
+ 'Medium Vulnerability Count': counts.medium > 0 ? `${counts.medium}` : '',
263
+ 'Low Vulnerability Count': counts.low > 0 ? `${counts.low}` : '',
264
+ 'Release Date': formatDateField(component['Release Date']),
265
+ 'Newer Versions': component['Newer Versions'],
266
+ 'Open Hub URL': component['Open Hub URL']
267
+ };
268
+ // Handle optional fields
269
+ result['Origin name'] = getSingleOriginName(component['Origin name'] || '');
270
+ result['Commit Activity'] = component['Commit Activity'] || '';
271
+ result['Commits in Past 12 Months'] = component['Commits in Past 12 Months'] || '';
272
+ result['Contributors in Past 12 Months'] = component['Contributors in Past 12 Months'] || '';
273
+ result['Has License Conflicts'] = component['Has License Conflicts'] || '';
274
+ result['Component Link'] = component['Component Link'] || '';
275
+ return result;
276
+ });
277
+ }
278
+ /**
279
+ * Transforms sources and components data into dependencies_sources records
280
+ * @param sources Raw source records from Black Duck
281
+ * @param components Raw component records from Black Duck
282
+ * @param basePath Optional base path for verifying project paths
283
+ * @returns Transformed dependency source records
284
+ */
285
+ function transformDependenciesSources(sources, components, basePath, pathMappings) {
286
+ const validSources = sources.filter(src => components.some(c => c['Version id'] === src['Version id']));
287
+ return validSources.map(src => {
288
+ const comp = components.find(c => c['Version id'] === src['Version id']);
289
+ const counts = calculateVulnerabilityCounts(comp);
290
+ // Extract project information from path
291
+ const projectInfo = basePath
292
+ ? (0, projectMapping_1.extractProjectInfo)(src['Path'], src['Origin name'], basePath, pathMappings)
293
+ : (0, projectMapping_1.extractProjectInfo)(src['Path'], src['Origin name']);
294
+ return {
295
+ 'Component name': src['Component name'],
296
+ 'Component version name': src['Component version name'],
297
+ 'Component Version Origin Id': src['Origin name id'],
298
+ 'Match type': normalizeMatchType(src['Match type']),
299
+ 'Path': src['Path'],
300
+ 'ProjectPath': projectInfo.projectPath,
301
+ 'VerifiedPath': projectInfo.verifiedPath,
302
+ 'ProjectPathExists': projectInfo.projectPathExists !== undefined ? String(projectInfo.projectPathExists) : '',
303
+ 'Origin name': src['Origin name'],
304
+ 'License names': comp['License names'],
305
+ 'License families': comp['License families'],
306
+ 'License Risk': comp['License Risk'],
307
+ 'Critical Vulnerability Count': counts.critical > 0 ? `${counts.critical}` : '',
308
+ 'High Vulnerability Count': counts.high > 0 ? `${counts.high}` : '',
309
+ 'Medium Vulnerability Count': counts.medium > 0 ? `${counts.medium}` : '',
310
+ 'Low Vulnerability Count': counts.low > 0 ? `${counts.low}` : '',
311
+ 'Total Vulnerability Count': `${counts.total}`,
312
+ 'Critical and High Vulnerability Count': `${counts.criticalAndHigh}`,
313
+ 'Operational Risk': comp['Operational Risk'],
314
+ 'Release Date': formatDateField(comp['Release Date']),
315
+ 'Newer Versions': comp['Newer Versions'],
316
+ 'OpenHubURL': comp['Open Hub URL'],
317
+ 'Repository': '',
318
+ 'Group': ''
319
+ };
320
+ });
321
+ }
322
+ /**
323
+ * Transforms security records into vulnerability details records
324
+ * @param securityRecords Raw security records from Black Duck
325
+ * @returns Transformed vulnerability detail records
326
+ */
327
+ function transformVulnerabilityDetails(securityRecords) {
328
+ return securityRecords.map(record => {
329
+ const result = {};
330
+ for (const key of VULNERABILITY_DETAILS_HEADERS) {
331
+ if (key === 'Published on' || key === 'Updated on') {
332
+ result[key] = formatDateField(record[key] || '');
333
+ }
334
+ else if (key === 'Component Version Origin Id') {
335
+ result[key] = normalizeValue(record['Component origin id']);
336
+ }
337
+ else {
338
+ result[key] = normalizeValue(record[key]);
339
+ }
340
+ }
341
+ return result;
342
+ });
343
+ }
344
+ /**
345
+ * Transforms upgrade guidance CSV content
346
+ * @param upgradeRaw Raw upgrade guidance CSV content
347
+ * @returns Transformed upgrade guidance CSV content
348
+ */
349
+ function transformUpgradeGuidance(upgradeRaw) {
350
+ const [headerLine, ...lines] = upgradeRaw.trim().split('\n');
351
+ const headers = headerLine.split(',');
352
+ // Replace 'Component Origin External Id' with 'Component Version Origin Id'
353
+ const modifiedHeaders = headers.map(h => h.trim() === 'Component Origin External Id' ? 'Component Version Origin Id' : h);
354
+ const keepIndexes = modifiedHeaders
355
+ .map((h, i) => UPGRADE_GUIDANCE_COLUMNS_TO_REMOVE.has(h.trim()) ? -1 : i)
356
+ .filter(i => i >= 0);
357
+ return [
358
+ keepIndexes.map(i => modifiedHeaders[i]).join(','),
359
+ ...lines.map(line => {
360
+ const parts = line.split(',');
361
+ return keepIndexes.map(i => parts[i] ?? '').join(',');
362
+ })
363
+ ].join('\n');
364
+ }
365
+ /**
366
+ * Formats records according to a specific column order
367
+ * @param records Records to format
368
+ * @param columnOrder Column order to use
369
+ * @returns Formatted records
370
+ */
371
+ function formatRecordsWithColumnOrder(records, columnOrder) {
372
+ return records.map(row => {
373
+ const formattedRow = {};
374
+ columnOrder.forEach(col => {
375
+ formattedRow[col] = row[col] || '';
376
+ });
377
+ return formattedRow;
378
+ });
379
+ }
380
+ /**
381
+ * Validates that all required Black Duck report files are present
382
+ * @param entries Directory entries
383
+ * @returns Object with file names or throws error if files are missing
384
+ */
385
+ function validateRequiredFiles(entries) {
386
+ const componentFile = entries.find(f => f.startsWith('components_'));
387
+ const sourceFile = entries.find(f => f.startsWith('source_'));
388
+ const securityFile = entries.find(f => f.startsWith('security_'));
389
+ const upgradeFile = entries.find(f => f.startsWith('project_version_upgrade_guidance_'));
390
+ const missingFiles = [];
391
+ if (!componentFile)
392
+ missingFiles.push('components_*.csv');
393
+ if (!sourceFile)
394
+ missingFiles.push('source_*.csv');
395
+ if (!securityFile)
396
+ missingFiles.push('security_*.csv');
397
+ if (!upgradeFile)
398
+ missingFiles.push('project_version_upgrade_guidance_*.csv');
399
+ if (missingFiles.length > 0) {
400
+ throw new Error(`Missing required Black Duck CSV files: ${missingFiles.join(', ')}`);
401
+ }
402
+ return {
403
+ componentFile: componentFile,
404
+ sourceFile: sourceFile,
405
+ securityFile: securityFile,
406
+ upgradeFile: upgradeFile
407
+ };
408
+ }
409
+ /**
410
+ * Transforms raw Black Duck CSV exports into four cleaned and shareable CSV reports
411
+ * @param reportDir Directory containing Black Duck report files
412
+ * @param options Command options including optional basePath and pathMappings
413
+ */
414
+ async function transformBlackDuckReports(reportDir, options) {
415
+ try {
416
+ // Find and validate required input files
417
+ const entries = await promises_1.default.readdir(reportDir);
418
+ const { componentFile, sourceFile, securityFile, upgradeFile } = validateRequiredFiles(entries);
419
+ let pathMappings = loadPathMappings(options);
420
+ // Read input files
421
+ const componentsRawData = await promises_1.default.readFile(path_1.default.join(reportDir, componentFile), 'utf-8');
422
+ const sourcesRawData = await promises_1.default.readFile(path_1.default.join(reportDir, sourceFile), 'utf-8');
423
+ const securityRawData = await promises_1.default.readFile(path_1.default.join(reportDir, securityFile), 'utf-8');
424
+ const upgradeRawData = await promises_1.default.readFile(path_1.default.join(reportDir, upgradeFile), 'utf-8');
425
+ // Parse input data
426
+ const components = (0, sync_1.parse)(componentsRawData, CSV_PARSE_OPTIONS);
427
+ const sources = (0, sync_1.parse)(sourcesRawData, CSV_PARSE_OPTIONS);
428
+ const securityRecords = (0, sync_1.parse)(securityRawData, CSV_PARSE_OPTIONS);
429
+ // Transform and write _dependencies_sources.csv
430
+ const dependenciesSourcesRecords = transformDependenciesSources(sources, components, options?.basePath, pathMappings);
431
+ const emptyVerifiedPaths = dependenciesSourcesRecords.filter(record => record['VerifiedPath'] === '');
432
+ if (emptyVerifiedPaths.length > 0) {
433
+ console.warn(`Found ${emptyVerifiedPaths.length} out of ${dependenciesSourcesRecords.length} dependencies with empty verified paths.`);
434
+ }
435
+ const formattedDependenciesSources = formatRecordsWithColumnOrder(dependenciesSourcesRecords, DEPENDENCIES_SOURCES_COLUMN_ORDER);
436
+ const dependenciesSourcesCSV = (0, sync_2.stringify)(formattedDependenciesSources, { header: true });
437
+ await promises_1.default.writeFile(path_1.default.join(reportDir, '_dependencies_sources.csv'), dependenciesSourcesCSV);
438
+ // Transform and write _dependencies.csv
439
+ const dependencyRecords = transformDependencies(components);
440
+ const formattedDependencies = formatRecordsWithColumnOrder(dependencyRecords, DEPENDENCIES_COLUMN_ORDER);
441
+ const dependenciesCSV = (0, sync_2.stringify)(formattedDependencies, { header: true });
442
+ await promises_1.default.writeFile(path_1.default.join(reportDir, '_dependencies.csv'), dependenciesCSV);
443
+ // Transform and write _vulnerability_details.csv
444
+ const vulnerabilityRecords = transformVulnerabilityDetails(securityRecords);
445
+ const vulnerabilityCSV = (0, sync_2.stringify)(vulnerabilityRecords, { header: true });
446
+ await promises_1.default.writeFile(path_1.default.join(reportDir, '_vulnerability_details.csv'), vulnerabilityCSV);
447
+ // Transform and write _upgrade_guidance.csv
448
+ const upgradeGuidanceCSV = transformUpgradeGuidance(upgradeRawData);
449
+ await promises_1.default.writeFile(path_1.default.join(reportDir, '_upgrade_guidance.csv'), upgradeGuidanceCSV);
450
+ }
451
+ catch (error) {
452
+ if (error instanceof Error) {
453
+ throw new Error(`Failed to transform Black Duck reports: ${error.message}`);
454
+ }
455
+ throw error;
456
+ }
457
+ }
458
+ exports.transformBlackDuckReportsCommand = new commander_1.Command()
459
+ .command('transformBlackDuckReports')
460
+ .description('Transforms Black Duck CSV reports to shareable format')
461
+ .argument('<reportPath>', 'Path to the directory with Black Duck CSVs')
462
+ .option('-b, --basePath <path>', 'Base path for verifying project paths')
463
+ .option('-m, --pathMappings <path>', 'Path to JSON file containing path mappings')
464
+ .action(transformBlackDuckReports);
465
+ function loadPathMappings(options) {
466
+ let pathMappings = undefined;
467
+ if (options?.pathMappings) {
468
+ try {
469
+ console.log(`Loading path mappings from ${options.pathMappings}`);
470
+ if (!fsSync.existsSync(options.pathMappings)) {
471
+ console.warn(`Path mapping file not found: ${options.pathMappings}`);
472
+ }
473
+ else {
474
+ const fileContent = fsSync.readFileSync(options.pathMappings, 'utf8');
475
+ const mappingData = JSON.parse(fileContent);
476
+ if (!mappingData.pathMappings || !Array.isArray(mappingData.pathMappings)) {
477
+ console.warn(`Invalid path mapping file format: ${options.pathMappings}`);
478
+ }
479
+ else {
480
+ pathMappings = (0, projectMapping_1.createPathMappings)(mappingData.pathMappings);
481
+ console.log(`Loaded ${pathMappings.size} path mappings from ${options.pathMappings}`);
482
+ }
483
+ }
484
+ }
485
+ catch (error) {
486
+ console.error(`Error loading path mappings: ${error}`);
487
+ }
488
+ }
489
+ return pathMappings;
490
+ }
491
+ //# sourceMappingURL=transformBlackDuckReports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformBlackDuckReports.js","sourceRoot":"","sources":["../../src/commands/transformBlackDuckReports.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.updateLibs = exports.updateCommand = void 0;
6
+ exports.updateCommand = void 0;
7
+ exports.updateLibs = updateLibs;
7
8
  const commander_1 = require("commander");
8
9
  const chalk_1 = __importDefault(require("chalk"));
9
10
  const cache_1 = require("./cache");
@@ -47,7 +48,6 @@ async function updateLibs(updated_before, plugins) {
47
48
  }
48
49
  mongo_cache_1.mongoCache.write();
49
50
  }
50
- exports.updateLibs = updateLibs;
51
51
  async function getLibraryIdsToUpdate(lastUpdateMoment) {
52
52
  try {
53
53
  const query = { updatedAt: { $lt: lastUpdateMoment.toDate() } };
@@ -60,7 +60,6 @@ async function getLibraryIdsToUpdate(lastUpdateMoment) {
60
60
  }
61
61
  }
62
62
  async function updateLibrariesFor(selectedPlugins, idsToUpdate, progressBar) {
63
- var _a;
64
63
  for (const plugin of selectedPlugins) {
65
64
  const libsToUpdate = idsToUpdate.filter(id => id.startsWith(`${plugin.name}:`));
66
65
  if (libsToUpdate.length > 0) {
@@ -68,7 +67,7 @@ async function updateLibrariesFor(selectedPlugins, idsToUpdate, progressBar) {
68
67
  const libraryName = id.substring(plugin.name.length + 1);
69
68
  try {
70
69
  const lib = await plugin.registrar.retrieve(libraryName);
71
- if ((_a = plugin.checker) === null || _a === void 0 ? void 0 : _a.githubSecurityAdvisoryEcosystem) {
70
+ if (plugin.checker?.githubSecurityAdvisoryEcosystem) {
72
71
  lib.vulnerabilities = await (0, vulnerabilities_1.getVulnerabilitiesFromGithub)(plugin.checker.githubSecurityAdvisoryEcosystem, lib.name);
73
72
  }
74
73
  await mongo_cache_1.mongoCache.set(id, lib);
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
package/dist/depinder.js CHANGED
@@ -7,12 +7,14 @@ const analyse_1 = require("./commands/analyse");
7
7
  const cache_1 = require("./commands/cache");
8
8
  const update_1 = require("./commands/update");
9
9
  const extractFrameworkVersion_1 = require("./commands/extractFrameworkVersion");
10
+ const transformBlackDuckReports_1 = require("./commands/transformBlackDuckReports");
10
11
  exports.mainCommand = new commander_1.Command()
11
12
  .name('depinder')
12
13
  .description(utils_1._package.description)
13
- .version(utils_1._package.version, '-v, -version, --version, -V')
14
+ .version(utils_1._package.version, '-v, --version')
14
15
  .addCommand(analyse_1.analyseCommand)
15
16
  .addCommand(update_1.updateCommand)
16
17
  .addCommand(cache_1.cacheCommand)
17
- .addCommand(extractFrameworkVersion_1.extractFrameworkVersionsCommand);
18
+ .addCommand(extractFrameworkVersion_1.extractFrameworkVersionsCommand)
19
+ .addCommand(transformBlackDuckReports_1.transformBlackDuckReportsCommand);
18
20
  //# sourceMappingURL=depinder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"depinder.js","sourceRoot":"","sources":["../src/depinder.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,yCAAsC;AACtC,gDAAiD;AACjD,4CAA6C;AAC7C,8CAA+C;AAC/C,gFAAkF;AAErE,QAAA,WAAW,GAAG,IAAI,mBAAO,EAAE;KACnC,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,gBAAQ,CAAC,WAAW,CAAC;KACjC,OAAO,CAAC,gBAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;KACxD,UAAU,CAAC,wBAAc,CAAC;KAC1B,UAAU,CAAC,sBAAa,CAAC;KACzB,UAAU,CAAC,oBAAY,CAAC;KACxB,UAAU,CAAC,yDAA+B,CAAC,CAAA"}
1
+ {"version":3,"file":"depinder.js","sourceRoot":"","sources":["../src/depinder.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,yCAAsC;AACtC,gDAAiD;AACjD,4CAA6C;AAC7C,8CAA+C;AAC/C,gFAAkF;AAClF,oFAAqF;AAExE,QAAA,WAAW,GAAG,IAAI,mBAAO,EAAE;KACnC,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,gBAAQ,CAAC,WAAW,CAAC;KACjC,OAAO,CAAC,gBAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;KAC1C,UAAU,CAAC,wBAAc,CAAC;KAC1B,UAAU,CAAC,sBAAa,CAAC;KACzB,UAAU,CAAC,oBAAY,CAAC;KACxB,UAAU,CAAC,yDAA+B,CAAC;KAC3C,UAAU,CAAC,4DAAgC,CAAC,CAAA"}
@@ -4,12 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.LibrariesIORegistrar = exports.AbstractRegistrar = void 0;
7
- const node_fetch_1 = __importDefault(require("node-fetch"));
8
7
  const moment_1 = __importDefault(require("moment/moment"));
9
8
  const utils_1 = require("../utils/utils");
10
9
  class AbstractRegistrar {
10
+ next = null;
11
11
  constructor(next = null) {
12
- this.next = null;
13
12
  this.next = next;
14
13
  }
15
14
  async retrieve(libraryName) {
@@ -27,15 +26,15 @@ class AbstractRegistrar {
27
26
  }
28
27
  exports.AbstractRegistrar = AbstractRegistrar;
29
28
  class LibrariesIORegistrar extends AbstractRegistrar {
29
+ registryType;
30
30
  constructor(registryType) {
31
31
  super();
32
32
  this.registryType = registryType;
33
33
  }
34
34
  async retrieveFromRegistry(libraryName) {
35
- var _a, _b, _c;
36
35
  await (0, utils_1.delay)(500);
37
36
  const librariesIoURL = `https://libraries.io/api/${this.registryType}/${libraryName}?api_key=${process.env.LIBRARIES_IO_API_KEY}`;
38
- const librariesIoResponse = await (0, node_fetch_1.default)(librariesIoURL);
37
+ const librariesIoResponse = await fetch(librariesIoURL);
39
38
  const libIoData = await librariesIoResponse.json();
40
39
  return {
41
40
  name: libraryName,
@@ -47,11 +46,11 @@ class LibrariesIORegistrar extends AbstractRegistrar {
47
46
  licenses: [],
48
47
  };
49
48
  }),
50
- description: (_a = libIoData === null || libIoData === void 0 ? void 0 : libIoData.description) !== null && _a !== void 0 ? _a : '',
49
+ description: libIoData?.description ?? '',
51
50
  licenses: libIoData.licenses ? [libIoData.licenses] : [],
52
- homepageUrl: (_b = libIoData === null || libIoData === void 0 ? void 0 : libIoData.homepage) !== null && _b !== void 0 ? _b : '',
53
- keywords: (_c = libIoData === null || libIoData === void 0 ? void 0 : libIoData.keywords) !== null && _c !== void 0 ? _c : [],
54
- reposUrl: (libIoData === null || libIoData === void 0 ? void 0 : libIoData.repository_url) ? [libIoData.repository_url] : [],
51
+ homepageUrl: libIoData?.homepage ?? '',
52
+ keywords: libIoData?.keywords ?? [],
53
+ reposUrl: libIoData?.repository_url ? [libIoData.repository_url] : [],
55
54
  };
56
55
  }
57
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/extension-points/registrar.ts"],"names":[],"mappings":";;;;;;AACA,4DAA8B;AAC9B,2DAAkC;AAClC,0CAAoC;AAiCpC,MAAsB,iBAAiB;IAInC,YAAY,OAAyB,IAAI;QAFxB,SAAI,GAAqB,IAAI,CAAA;QAG1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,WAAmB;QACrC,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;SACtD;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;aACzC;;gBACI,MAAM,CAAC,CAAA;SACf;IACL,CAAC;CAEJ;AAnBD,8CAmBC;AAKD,MAAa,oBAAqB,SAAQ,iBAAiB;IAGvD,YAAY,YAA0B;QAClC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB;;QAC1C,MAAM,IAAA,aAAK,EAAC,GAAG,CAAC,CAAA;QAChB,MAAM,cAAc,GAAG,4BAA4B,IAAI,CAAC,YAAY,IAAI,WAAW,YAAY,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAA;QACjI,MAAM,mBAAmB,GAAQ,MAAM,IAAA,oBAAK,EAAC,cAAc,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAA;QAElD,OAAO;YACH,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE;gBACzC,OAAO;oBACH,OAAO,EAAE,EAAE,CAAC,MAAM;oBAClB,SAAS,EAAE,IAAA,gBAAM,EAAC,EAAE,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;oBAC5C,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,qBAAqB;oBACrD,QAAQ,EAAE,EAAE;iBACf,CAAA;YACL,CAAC,CAAC;YACF,WAAW,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,mCAAI,EAAE;YACzC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACxD,WAAW,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,mCAAI,EAAE;YACtC,QAAQ,EAAE,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,mCAAI,EAAE;YACnC,QAAQ,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;SACxE,CAAA;IACL,CAAC;CAEJ;AAhCD,oDAgCC"}
1
+ {"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/extension-points/registrar.ts"],"names":[],"mappings":";;;;;;AACA,2DAAkC;AAClC,0CAAoC;AAiCpC,MAAsB,iBAAiB;IAElB,IAAI,GAAqB,IAAI,CAAA;IAE9C,YAAY,OAAyB,IAAI;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,WAAmB;QACrC,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC1C,CAAC;;gBACI,MAAM,CAAC,CAAA;QAChB,CAAC;IACL,CAAC;CAEJ;AAnBD,8CAmBC;AAKD,MAAa,oBAAqB,SAAQ,iBAAiB;IACtC,YAAY,CAAc;IAE3C,YAAY,YAA0B;QAClC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QAC1C,MAAM,IAAA,aAAK,EAAC,GAAG,CAAC,CAAA;QAChB,MAAM,cAAc,GAAG,4BAA4B,IAAI,CAAC,YAAY,IAAI,WAAW,YAAY,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAA;QACjI,MAAM,mBAAmB,GAAQ,MAAM,KAAK,CAAC,cAAc,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAA;QAElD,OAAO;YACH,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE;gBACzC,OAAO;oBACH,OAAO,EAAE,EAAE,CAAC,MAAM;oBAClB,SAAS,EAAE,IAAA,gBAAM,EAAC,EAAE,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE;oBAC5C,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,qBAAqB;oBACrD,QAAQ,EAAE,EAAE;iBACf,CAAA;YACL,CAAC,CAAC;YACF,WAAW,EAAE,SAAS,EAAE,WAAW,IAAI,EAAE;YACzC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACxD,WAAW,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE;YACtC,QAAQ,EAAE,SAAS,EAAE,QAAQ,IAAI,EAAE;YACnC,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;SACxE,CAAA;IACL,CAAC;CAEJ;AAhCD,oDAgCC"}