summaryrefslogtreecommitdiff
path: root/tools/release/helpers/crates_io.ts
blob: b26539964d9f53bc774a8914eba586172799ce1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.

export interface CratesIoMetadata {
  crate: {
    id: string;
    name: string;
  };
  versions: {
    crate: string;
    num: string;
  }[];
}

export async function getCratesIoMetadata(crateName: string) {
  // rate limit
  await new Promise((resolve) => setTimeout(resolve, 100));

  const response = await fetch(`https://crates.io/api/v1/crates/${crateName}`);
  const data = await response.json();

  return data as CratesIoMetadata;
}