Handle missing cargo installs gracefully

fixes #17
This commit is contained in:
Arpad Borsos 2021-05-30 10:55:21 +02:00
parent ebd95456c3
commit 31c41a926e
No known key found for this signature in database
GPG Key ID: FC7BCA77824B3298
1 changed files with 12 additions and 8 deletions

View File

@ -86,16 +86,20 @@ export async function getCacheConfig(): Promise<CacheConfig> {
}
export async function getCargoBins(): Promise<Set<string>> {
const { installs }: { installs: { [key: string]: { bins: Array<string> } } } = JSON.parse(
await fs.promises.readFile(path.join(paths.cargoHome, ".crates2.json"), "utf8"),
);
const bins = new Set<string>();
for (const pkg of Object.values(installs)) {
for (const bin of pkg.bins) {
bins.add(bin);
try {
const { installs }: { installs: { [key: string]: { bins: Array<string> } } } = JSON.parse(
await fs.promises.readFile(path.join(paths.cargoHome, ".crates2.json"), "utf8"),
);
const bins = new Set<string>();
for (const pkg of Object.values(installs)) {
for (const bin of pkg.bins) {
bins.add(bin);
}
}
return bins;
} catch {
return new Set<string>();
}
return bins;
}
async function getRustKey(): Promise<string> {