UNPKG

@qiwi/semantic-release-gh-pages-plugin

Version:
77 lines (76 loc) 2.17 kB
"use strict"; /** @module semantic-release-gh-pages-plugin */ Object.defineProperty(exports, "__esModule", { value: true }); exports.publish = exports._publish = exports.pushPages = exports.pullTags = exports.OK = void 0; var tslib_1 = require("tslib"); var execa_1 = tslib_1.__importDefault(require("execa")); var gh_pages_1 = require("gh-pages"); var queuefy_1 = require("queuefy"); /** * @private */ exports.OK = { status: 'OK' }; /** * @private */ var pullTags = function (opts) { if (opts.pullTagsBranch === '') { return Promise.resolve(); } var repo = '' + opts.repo; var pullTagsBranch = '' + opts.pullTagsBranch; var execaOpts = { env: opts.env, cwd: opts.cwd }; return (0, execa_1.default)('git', [ 'pull', '--tags', '--force', repo, pullTagsBranch ], execaOpts) .catch(console.log); }; exports.pullTags = pullTags; /** * @private */ var pushPages = function (opts) { return new Promise(function (resolve, reject) { var src = opts.src, logger = opts.logger, repo = opts.repo, docsBranch = opts.docsBranch, dst = opts.dst, message = opts.message, add = opts.add, dotfiles = opts.dotfiles; var ghpagesOpts = { repo: repo, branch: docsBranch, dest: dst, message: message, add: add, dotfiles: dotfiles, }; (0, gh_pages_1.publish)(src, ghpagesOpts, function (err) { if (err) { logger.error('Publish docs failure', err); reject(err); } else { logger.log("Docs published successfully, branch=".concat(ghpagesOpts.branch, ", src=").concat(src, ", dst=").concat(ghpagesOpts.dest)); resolve(exports.OK); } }); }); }; exports.pushPages = pushPages; /** * @private */ var _publish = function (opts) { return (0, exports.pullTags)(opts) .then(function () { return (0, exports.pushPages)(opts); }) .then(function (res) { (0, gh_pages_1.clean)(); return res; }); }; exports._publish = _publish; /** * @private */ exports.publish = (0, queuefy_1.queuefy)(exports._publish);