Skip to content

Commit be74185

Browse files
fix: πŸ› skip domains that do not have a valid package.json file
βœ… Closes: RD-2226
1 parent ec13a2f commit be74185

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

β€Ž.github/actions/static-analysis/layer_dependency_analysis.jsβ€Ž

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,21 @@ class PackageJsonDependencyComparator {
6969
let parts = [];
7070

7171
if (report.mismatches.length > 0) {
72-
const mismatchItems = report.mismatches.map(({ dependency, version1, version2 }) =>
72+
const mismatchItems = report.mismatches.map(({ dependency, version1, version2 }) =>
7373
`${dependency}:${version1}vs${version2}`
7474
).join(', ');
7575
parts.push(`Mismatched against layer: [${mismatchItems}]`);
7676
}
7777

7878
if (report.missingInFirst.length > 0) {
79-
const missingFirstItems = report.missingInFirst.map(({ dependency, version }) =>
79+
const missingFirstItems = report.missingInFirst.map(({ dependency, version }) =>
8080
`${dependency}:${version}`
8181
).join(', ');
8282
parts.push(`Missing in First: [${missingFirstItems}]`);
8383
}
8484

8585
if (report.missingInSecond.length > 0) {
86-
const missingSecondItems = report.missingInSecond.map(({ dependency, version }) =>
86+
const missingSecondItems = report.missingInSecond.map(({ dependency, version }) =>
8787
`${dependency}:${version}`
8888
).join(', ');
8989
parts.push(`Missing in Second: [${missingSecondItems}]`);
@@ -142,11 +142,17 @@ function main() {
142142
const domains = JSON.parse(process.argv[3]); // {"include": [{"project": "domain1"}, {"project": "domain2"}]}
143143

144144
const domainPackageJsons = domains.include.filter(domain => domain.project != '.').map(domain => {
145-
return {
146-
project: domain.project,
147-
packageJson: JSON.parse(fs.readFileSync(process.cwd() + '/domains/' + domain.project + '/package.json', 'utf8'))
148-
};
149-
});
145+
try {
146+
const packageJson = JSON.parse(fs.readFileSync(process.cwd() + '/domains/' + domain.project + '/package.json', 'utf8'));
147+
return {
148+
project: domain.project,
149+
packageJson
150+
};
151+
} catch (error) {
152+
console.error('Error parsing package.json for domain:', domain.project, error);
153+
return undefined;
154+
}
155+
}).filter(domain => domain !== undefined);
150156

151157
// print the test plan
152158
console.log('Test plan:');

0 commit comments

Comments
Β (0)