UNPKG

beesbuild

Version:

构建工具链

52 lines (51 loc) 3.11 kB
import { Argument, Command, Option } from "commander"; import * as scripts from "../scripts/index.mjs"; import { booleanParser } from "../boolean-parser.mjs"; import * as variables from "../variables.mjs"; import { handleOptions, init } from "./utils.mjs"; const publish = (program) => { if (!(program instanceof Command)) { program = init(variables).end(); } program.command("publish").description("\u4E00\u5065\u81EA\u52A8\u53D1\u5305\u5DE5\u5177").addArgument( new Argument( "[increment]", '\u9012\u589E "major", "minor", "patch", \u6216 "pre*" \u7248\u672C\uFF1B\u6216\u6307\u5B9A\u7248\u672C [\u9ED8\u8BA4: "patch"]' ).default("none").choices(variables.VERSION_STEPS) ).addOption( new Option( "-i, --increment <increment>", '\u9012\u589E "major", "minor", "patch", \u6216 "pre*" \u7248\u672C\uFF1B\u6216\u6307\u5B9A\u7248\u672C' ).default("none").choices(variables.VERSION_STEPS) ).addOption( new Option("--access <access>", "\u544A\u8BC9\u6CE8\u518C\u4E2D\u5FC3\u53D1\u5E03\u7684\u5305\u5E94\u8BE5\u662F\u516C\u5F00\u7684\u8FD8\u662F\u53D7\u9650\u5236\u7684\u3002").default("").choices(["public", "restricted"]) ).option( "--pre-release-id, --preReleaseId <preReleaseId>", `\u521B\u5EFA\u9884\u53D1\u5E03\uFF1A\u60A8\u60F3\u8981\u63D0\u4F9B\u7684\u8F6F\u4EF6\u7248\u672C\uFF0C\u540C\u65F6 \u5B83\u8FD8\u6CA1\u6709\u5728\u7A33\u5B9A\u7684Semver\u8303\u56F4\u5185\u3002\u901A\u5E38\uFF0C\u201Calpha\u201D\u3001\u201Cbeta\u201D\u548C\u201Crc\u201D\uFF08\u5019\u9009\u7248\u672C\uFF09\u7528\u4F5C \u9884\u53D1\u5E03` ).option( "--no-git-checks <gitChecks>", "\u4E0D\u8981\u68C0\u67E5\u5F53\u524D\u5206\u652F\u662F\u5426\u662F\u60A8\u7684\u53D1\u5E03\u5206\u652F\u3001\u5E72\u51C0\u4E14\u6700\u65B0\u7684\u8FDC\u7A0B\u5206\u652F\u3002" ).option("-s, --no-silent <silent>", "\u9759\u9ED8\u663E\u793A\u811A\u672C\u8F93\u51FA").option("--test <test>", "\u6A21\u62DF\u53D1\u5E03").option("--no-build <build>", "\u53D1\u5E03\u524D\u4E0D\u6267\u884CBuild\u811A\u672C").option("-b, --release-branch, --releaseBranch <releaseBranch>", "\u53D1\u5E03Git\u5206\u652F").option("-e, --excludes [...name]", "\u6392\u9664\u4E0D\u53D1\u5E03\u7684\u5305\u5217\u8868", []).option("--auto-git-tag <auto-git-tag>", "\u53D1\u5E03\u6210\u529F\u540E\u6DFB\u52A0Git tag").option("--dist-tag <value>", "dist-tag").action(async (increment, options) => { var _a; const { all, force, silent, test, includeDescendants, build, gitChecks } = options; options.increment = (_a = [options.increment, increment].find((value) => variables.ALL_RELEASE_TYPES.includes(value))) != null ? _a : ""; const opts = handleOptions( program, { ...options, gitChecks: booleanParser(gitChecks), all: booleanParser(all), silent: booleanParser(silent), build: booleanParser(build), test: booleanParser(test), force: booleanParser(force), includeDescendants: booleanParser(includeDescendants) } ); await scripts.publish(opts); }); return program; }; export { publish };