summaryrefslogtreecommitdiff
path: root/tools/release/helpers/crates_io.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tools/release/helpers/crates_io.ts')
-rw-r--r--tools/release/helpers/crates_io.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/release/helpers/crates_io.ts b/tools/release/helpers/crates_io.ts
new file mode 100644
index 000000000..b26539964
--- /dev/null
+++ b/tools/release/helpers/crates_io.ts
@@ -0,0 +1,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;
+}