|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- import {
- __toESM,
- bumpConfigDefaults,
- isReleaseType,
- loadBumpConfig,
- log_symbols_default,
- require_picocolors,
- versionBump
- } from "../chunk-L3LY4KGC.mjs";
-
- // package.json
- var version = "9.1.0";
-
- // src/cli/parse-args.ts
- var import_picocolors = __toESM(require_picocolors());
- import { valid as isValidVersion } from "semver";
- import cac from "cac";
- async function parseArgs() {
- var _a;
- try {
- const cli = cac("bumpp");
- cli.version(version).usage("[...files]").option("--preid <preid>", "ID for prerelease").option("--all", `Include all files (default: ${bumpConfigDefaults.all})`).option("-c, --commit [msg]", `Commit message (default: ${bumpConfigDefaults.commit})`).option("-t, --tag [tag]", `Tag name (default: ${bumpConfigDefaults.tag})`).option("-p, --push", `Push to remote (default: ${bumpConfigDefaults.push})`).option("-y, --yes", `Skip confirmation (default: ${!bumpConfigDefaults.confirm})`).option("-r, --recursive", `Bump package.json files recursively (default: ${bumpConfigDefaults.recursive})`).option("--no-verify", "Skip git verification").option("--ignore-scripts", `Ignore scripts (default: ${bumpConfigDefaults.ignoreScripts})`).option("-q, --quiet", "Quiet mode").option("-v, --version <version>", "Tagert version").option("-x, --execute <command>", "Commands to execute after version bumps").help();
- const result = cli.parse();
- const args = result.options;
- const parsedArgs = {
- help: args.help,
- version: args.version,
- quiet: args.quiet,
- options: await loadBumpConfig({
- preid: args.preid,
- commit: args.commit,
- tag: args.tag,
- push: args.push,
- all: args.all,
- confirm: !args.yes,
- noVerify: !args.verify,
- files: [...args["--"] || [], ...result.args],
- ignoreScripts: args.ignoreScripts,
- execute: args.execute,
- recursive: !!args.recursive
- })
- };
- if (parsedArgs.options.files && parsedArgs.options.files.length > 0) {
- const firstArg = parsedArgs.options.files[0];
- if (firstArg === "prompt" || isReleaseType(firstArg) || isValidVersion(firstArg)) {
- parsedArgs.options.release = firstArg;
- parsedArgs.options.files.shift();
- }
- }
- if (parsedArgs.options.recursive) {
- if ((_a = parsedArgs.options.files) == null ? void 0 : _a.length)
- console.log(import_picocolors.default.yellow("The --recursive option is ignored when files are specified"));
- else
- parsedArgs.options.files = ["package.json", "package-lock.json", "packages/**/package.json"];
- }
- return parsedArgs;
- } catch (error) {
- return errorHandler(error);
- }
- }
- function errorHandler(error) {
- console.error(error.message);
- return process.exit(9 /* InvalidArgument */);
- }
-
- // src/cli/index.ts
- async function main() {
- try {
- process.on("uncaughtException", errorHandler2);
- process.on("unhandledRejection", errorHandler2);
- const { help, version: version2, quiet, options } = await parseArgs();
- if (help) {
- process.exit(0 /* Success */);
- } else if (version2) {
- console.log(version);
- process.exit(0 /* Success */);
- } else {
- if (!quiet)
- options.progress = options.progress ? options.progress : progress;
- await versionBump(options);
- }
- } catch (error) {
- errorHandler2(error);
- }
- }
- function progress({ event, script, updatedFiles, skippedFiles, newVersion }) {
- switch (event) {
- case "file updated" /* FileUpdated */:
- console.log(log_symbols_default.success, `Updated ${updatedFiles.pop()} to ${newVersion}`);
- break;
- case "file skipped" /* FileSkipped */:
- console.log(log_symbols_default.info, `${skippedFiles.pop()} did not need to be updated`);
- break;
- case "git commit" /* GitCommit */:
- console.log(log_symbols_default.success, "Git commit");
- break;
- case "git tag" /* GitTag */:
- console.log(log_symbols_default.success, "Git tag");
- break;
- case "git push" /* GitPush */:
- console.log(log_symbols_default.success, "Git push");
- break;
- case "npm script" /* NpmScript */:
- console.log(log_symbols_default.success, `Npm run ${script}`);
- break;
- }
- }
- function errorHandler2(error) {
- let message = error.message || String(error);
- if (process.env.DEBUG || process.env.NODE_ENV === "development")
- message = error.stack || message;
- console.error(message);
- process.exit(1 /* FatalError */);
- }
- export {
- main
- };
|