3
0
Fork 0
mirror of https://github.com/Swatinem/rust-cache synced 2025-04-07 05:44:07 +00:00

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

View file

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