Use a set instead of raw JS objects.

This commit is contained in:
Federico Builes
2022-09-26 12:41:16 +02:00
parent 8a20ddbf25
commit a3563a05bc
3 changed files with 20 additions and 16 deletions

15
dist/index.js generated vendored
View File

@@ -303,16 +303,19 @@ function renderScannedDependency(change) {
return `${ansi_styles_1.default.color[color].open}${icon} ${change.manifest}@${change.version}${ansi_styles_1.default.color[color].close}`;
}
function printScannedDependencies(changes) {
core.group('Dependency changes', () => __awaiter(this, void 0, void 0, function* () {
core.group('Dependency Changes', () => __awaiter(this, void 0, void 0, function* () {
var _a;
// group changes by manifest
const dependencies = {};
const dependencies = new Map();
for (const change of changes) {
if (dependencies[change.manifest] === undefined) {
dependencies[change.manifest] = [];
const manifestName = change.manifest;
if (dependencies.get(manifestName) === undefined) {
dependencies.set(manifestName, []);
}
dependencies[change.manifest].push(change);
(_a = dependencies.get(manifestName)) === null || _a === void 0 ? void 0 : _a.push(change);
}
for (const [manifestName, manifestChanges] of Object.entries(dependencies)) {
for (const manifestName of dependencies.keys()) {
const manifestChanges = dependencies.get(manifestName) || [];
core.info(`File: ${ansi_styles_1.default.bold.open}${manifestName}${ansi_styles_1.default.bold.close}`);
for (const change of manifestChanges) {
core.info(`${renderScannedDependency(change)}`);

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@@ -65,7 +65,6 @@ async function run(): Promise<void> {
printVulnerabilitiesBlock(addedChanges, minSeverity || 'low')
printLicensesBlock(licenseErrors, unknownLicenses)
printScannedDependencies(changes)
} catch (error) {
if (error instanceof RequestError && error.status === 404) {
@@ -163,19 +162,21 @@ function renderScannedDependency(change: Change): string {
}
function printScannedDependencies(changes: Change[]): void {
core.group('Dependency changes', async () => {
core.group('Dependency Changes', async () => {
// group changes by manifest
const dependencies: Record<string, Change[]> = {}
const dependencies: Map<string, Change[]> = new Map()
for (const change of changes) {
if (dependencies[change.manifest] === undefined) {
dependencies[change.manifest] = []
const manifestName = change.manifest
if (dependencies.get(manifestName) === undefined) {
dependencies.set(manifestName, [])
}
dependencies[change.manifest].push(change)
dependencies.get(manifestName)?.push(change)
}
for (const [manifestName, manifestChanges] of Object.entries(
dependencies
)) {
for (const manifestName of dependencies.keys()) {
const manifestChanges = dependencies.get(manifestName) || []
core.info(`File: ${styles.bold.open}${manifestName}${styles.bold.close}`)
for (const change of manifestChanges) {
core.info(`${renderScannedDependency(change)}`)