UNPKG

typescript-assistant

Version:

Combines and integrates professional Typescript tools into your project

53 lines 2.67 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const inquirer_1 = require("inquirer"); const path_1 = require("path"); exports.createReleaseCommand = (deps) => { let { git, taskRunner, logger } = deps; return { execute: () => __awaiter(this, void 0, void 0, function* () { let pristine = yield git.isPristine(); if (!pristine) { throw new Error('There are uncommitted changes in the working tree'); } let npm = path_1.sep === '\\' ? 'npm.cmd' : 'npm'; let onBranch = yield git.isOnBranch(); if (onBranch) { let answers = yield inquirer_1.prompt({ type: 'confirm', name: 'confirm', message: 'You are not on master, do you want to do a pre-release?' }); if (!answers['confirm']) { return; } yield taskRunner.runTask(npm, ['version', 'prerelease'], { name: 'npm', logger }).result; } else { let answers = yield inquirer_1.prompt({ type: 'list', name: 'bump', message: 'What type of bump would you like to do?', choices: ['patch', 'minor', 'major'] }); let importance = answers['bump']; // 'npm version' also does a 'git commit' and 'git tag' yield taskRunner.runTask(npm, ['version', importance, '--commit-hooks', 'false'], { name: 'npm', logger }).result; } yield git.execute(['push', '--no-verify']); yield git.execute(['push', '--tags', '--no-verify']); let publishArguments = onBranch ? ['publish', '--tag', 'dev'] : ['publish']; publishArguments.push('--commit-hooks', 'false'); yield taskRunner.runTask(npm, publishArguments, { name: 'npm', logger }).result; }) }; }; //# sourceMappingURL=release.js.map