UNPKG

@lerna/publish

Version:

Publish packages in the current project

119 lines (118 loc) 4.73 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var git_exports = {}; __export(git_exports, { commitChangeToPackage: () => commitChangeToPackage, getCommitMessage: () => getCommitMessage, gitAdd: () => gitAdd, gitCheckout: () => gitCheckout, gitCommit: () => gitCommit, gitInit: () => gitInit, gitMerge: () => gitMerge, gitStatus: () => gitStatus, gitTag: () => gitTag, showCommit: () => showCommit }); module.exports = __toCommonJS(git_exports); var import_core = require("@lerna/core"); var import_child_process = __toESM(require("child_process")); var import_execa = __toESM(require("execa")); var import_load_json_file = __toESM(require("load-json-file")); var import_os = __toESM(require("os")); var import_path = __toESM(require("path")); var import_devkit = require("@nrwl/devkit"); const gitSHA = require("../serializers/serialize-git-sha"); const TEMPLATE = import_path.default.resolve(__dirname, "template"); function getCommitMessage(cwd, format = "%B") { return (0, import_execa.default)("git", ["log", "-1", `--pretty=format:${format}`], { cwd }).then((result) => result.stdout); } function gitAdd(cwd, ...files) { return (0, import_execa.default)("git", ["add", ...files], { cwd }); } function gitCheckout(cwd, args) { return (0, import_execa.default)("git", ["checkout", ...args], { cwd }); } function gitCommit(cwd, message) { if (message.indexOf(import_os.default.EOL) > -1) { return (0, import_core.tempWrite)(message).then((fp) => (0, import_execa.default)("git", ["commit", "-F", fp], { cwd })); } return (0, import_execa.default)("git", ["commit", "-m", message], { cwd }); } function gitInit(cwd, ...args) { return (0, import_execa.default)("git", ["init", "--template", TEMPLATE, ...args], { cwd }).then( () => (0, import_execa.default)("git", ["checkout", "-B", "main"], { cwd }) ); } function gitMerge(cwd, args) { return (0, import_execa.default)("git", ["merge", ...args], { cwd }); } function gitStatus(cwd) { return import_child_process.default.spawnSync("git", ["status", "--porcelain"], { cwd, encoding: "utf8" }); } function gitTag(cwd, tagName) { return (0, import_execa.default)("git", ["tag", tagName, "-m", tagName], { cwd }); } function showCommit(cwd, ...args) { return (0, import_execa.default)( "git", [ "show", "--unified=0", "--ignore-space-at-eol", "--pretty=%B%+D", // make absolutely certain that no OS localization // changes the expected value of the path prefixes "--src-prefix=a/", "--dst-prefix=b/", ...args ], { cwd } ).then((result) => gitSHA.serialize(result.stdout)); } function commitChangeToPackage(cwd, packageName, commitMsg, data) { const packageJSONPath = import_path.default.join(cwd, "packages", packageName, "package.json"); let chain = Promise.resolve(); chain = chain.then(() => (0, import_load_json_file.default)(packageJSONPath)); chain = chain.then((pkg) => (0, import_devkit.writeJsonFile)(packageJSONPath, Object.assign(pkg, data))); chain = chain.then(() => gitAdd(cwd, packageJSONPath)); chain = chain.then(() => gitCommit(cwd, commitMsg)); return chain; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { commitChangeToPackage, getCommitMessage, gitAdd, gitCheckout, gitCommit, gitInit, gitMerge, gitStatus, gitTag, showCommit });