UNPKG

@process-engine/ci_tools

Version:
62 lines (59 loc) 2.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.printHelp = exports.getShortDoc = exports.run = void 0; const yargsParser = require("yargs-parser"); const git_1 = require("../git/git"); const package_version_1 = require("../versions/package_version"); const setup_git_and_npm_connections_1 = require("./internal/setup-git-and-npm-connections"); const shell_1 = require("../cli/shell"); const printMultiLineString_1 = require("../cli/printMultiLineString"); const notifier_1 = require("../slack/notifier"); const create_release_announcement_1 = require("./internal/create-release-announcement"); const COMMAND_NAME = 'publish-releasenotes-on-slack'; const BADGE = `[${COMMAND_NAME}]\t`; const DEFAULT_MODE = 'node'; const DOC = ` Publishes the releasenotes for the current version on slack. To use this command, an incoming webhook for slack is required and must be configured as an environment variable named 'SLACK_WEBHOOK'. OPTIONS --mode sets the package mode [dotnet, node, python] (default: node) `; // DOC: see above async function run(...args) { const argv = yargsParser(args, { alias: { help: ['h'] }, default: { mode: DEFAULT_MODE } }); const mode = argv.mode; (0, setup_git_and_npm_connections_1.setupGit)(); await printInfo(mode); annotatedSh('git config user.name'); annotatedSh('git config user.email'); const releasenotes = await (0, create_release_announcement_1.createReleaseAnnouncement)(mode); await (0, notifier_1.sendSlackMessage)(releasenotes); return true; } exports.run = run; function getShortDoc() { return DOC.trim().split('\n')[0]; } exports.getShortDoc = getShortDoc; function printHelp() { console.log(`Usage: ci_tools ${COMMAND_NAME} [--mode <MODE>]`); console.log(''); console.log(DOC.trim()); } exports.printHelp = printHelp; function annotatedSh(cmd) { console.log(`${BADGE}|>>> ${cmd}`); const output = (0, shell_1.sh)(cmd); (0, printMultiLineString_1.printMultiLineString)(output, `${BADGE}| `); return output; } async function printInfo(mode) { const packageVersion = await (0, package_version_1.getPackageVersion)(mode); const packageVersionTag = await (0, package_version_1.getPackageVersionTag)(mode); const branchName = (0, git_1.getGitBranch)(); console.log(`${BADGE}packageVersion:`, packageVersion); console.log(`${BADGE}packageVersionTag:`, packageVersionTag); console.log(`${BADGE}branchName:`, branchName); console.log(''); } //# sourceMappingURL=publish-releasenotes-on-slack.js.map