@qiwi/semantic-release-gh-pages-plugin
Version:
gh-pages publishing plugin for semantic-release
72 lines (71 loc) • 2.29 kB
JavaScript
/** @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 zurk_1 = require("zurk");
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;
return (0, zurk_1.$)({
env: opts.env,
cwd: opts.cwd,
shell: false
})(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["git pull --tags --force ", " ", ""], ["git pull --tags --force ", " ", ""])), repo, pullTagsBranch).catch(console.error);
};
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, pattern = opts.pattern;
var ghpagesOpts = {
repo: repo,
branch: docsBranch,
dest: dst,
message: message,
add: add,
dotfiles: dotfiles,
src: pattern,
};
(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, ", pattern=").concat(ghpagesOpts.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);
var templateObject_1;
;