beesbuild
Version:
构建工具链
34 lines (33 loc) • 1.01 kB
JavaScript
import { Packages, consola, nextTick } from "@beesbuild/utils";
import chalk from "chalk-unified";
const publish = async (options) => {
consola.info(chalk.cyan(`>>> publish\uFF1A\u5F00\u59CB ${options == null ? void 0 : options.monorepo}`));
if (options.monorepo === false) {
const cwd = options.rootDir;
const pkg = new Packages({ path: cwd });
consola.info(chalk.cyan(`>>> \u83B7\u53D6 ${pkg.manifest.version}`));
try {
await nextTick();
await pkg.publishBefore({
increment: options.increment,
preReleaseId: options.preReleaseId
});
await pkg.write();
await pkg.publish(options);
} catch (e) {
consola.error("\u53D1\u5E03\u5931\u8D25\uFF0C\u56DE\u9000\u7248\u672C\u3002");
await pkg.back();
consola.error(e);
} finally {
await pkg.end(options);
consola.info("\u53D1\u5E03 done");
}
return Promise.resolve();
} else {
options.json = true;
}
return Promise.resolve();
};
export {
publish
};