mirror of
https://github.com/denoland/deno.git
synced 2024-11-27 16:10:57 -05:00
28 lines
775 B
TypeScript
Executable file
28 lines
775 B
TypeScript
Executable file
#!/usr/bin/env -S deno run -A --lock=tools/deno.lock.json
|
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
|
|
// deno-lint-ignore-file no-console
|
|
|
|
import { DenoWorkspace } from "./deno_workspace.ts";
|
|
import { $, getCratesPublishOrder } from "./deps.ts";
|
|
|
|
$.logStep(`Running cargo publish...`);
|
|
|
|
const workspace = await DenoWorkspace.load();
|
|
const cliCrate = workspace.getCliCrate();
|
|
|
|
const dependencyCrates = getCratesPublishOrder(
|
|
workspace.getCliDependencyCrates(),
|
|
);
|
|
|
|
try {
|
|
for (const [i, crate] of dependencyCrates.entries()) {
|
|
await crate.publish();
|
|
$.log(`Finished ${i + 1} of ${dependencyCrates.length} crates.`);
|
|
}
|
|
|
|
await cliCrate.publish();
|
|
} finally {
|
|
// system beep to notify error or completion
|
|
console.log("\x07");
|
|
}
|