UNPKG

jiranch

Version:

Easily create Git branches from your sprint issues

1 lines 4.55 kB
"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var t,a=1,r=arguments.length;a<r;a++)for(var n in t=arguments[a])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},__assign.apply(this,arguments)},__awaiter=this&&this.__awaiter||function(e,t,a,r){return new(a||(a=Promise))((function(n,i){function o(e){try{l(r.next(e))}catch(e){i(e)}}function u(e){try{l(r.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(o,u)}l((r=r.apply(e,t||[])).next())}))},__generator=this&&this.__generator||function(e,t){var a,r,n,i,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(u){return function(l){return function(u){if(a)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(o=0)),o;)try{if(a=1,r&&(n=2&u[0]?r.return:u[0]?r.throw||((n=r.return)&&n.call(r),0):r.next)&&!(n=n.call(r,u[1])).done)return n;switch(r=0,n&&(u=[2&u[0],n.value]),u[0]){case 0:case 1:n=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,r=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!n||u[1]>n[0]&&u[1]<n[3])){o.label=u[1];break}if(6===u[0]&&o.label<n[1]){o.label=n[1],n=u;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(u);break}n[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],r=0}finally{a=n=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,l])}}},__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildConfig=void 0;var inquirer_1=__importDefault(require("inquirer")),node_fetch_1=__importDefault(require("node-fetch")),utils_1=require("../create-branch/utils"),fuzzy_1=__importDefault(require("fuzzy")),inquirer_autocomplete_prompt_1=__importDefault(require("inquirer-autocomplete-prompt"));function validate(e){return e.trim().length>0||"Please provide a value."}function validateEmail(e){return/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)||"Invalid email."}function buildConfig(e){var t,a,r;return __awaiter(this,void 0,void 0,(function(){var n,i,o,u,l,s,c;return __generator(this,(function(d){switch(d.label){case 0:return[4,inquirer_1.default.prompt([{name:"email",message:"Enter your Jira user email:",default:null==e?void 0:e.email,validate:validateEmail},{name:"token",message:"Enter personal Jira token:",default:null==e?void 0:e.token,validate:validate},{name:"userId",message:"Enter Jira user ID:",default:null==e?void 0:e.userId,validate:validate},{name:"apiPath",message:"Enter api path:",default:null==e?void 0:e.apiPath,validate:validate},{name:"todoStatuses",message:'Enter your "TODO" issue status: (comma separated)',default:null!==(a=null===(t=null==e?void 0:e.todoStatuses)||void 0===t?void 0:t.replace(/"/g,""))&&void 0!==a?a:"To Do",validate:function(e){return 0===e.trim().length?"Please provide a value.":/([\w\s]+,)*([\w\s]+)$/.test(e)||"Please provide a comma separated list of statuses."}}])];case 1:n=d.sent(),i=[],o=!1,u=(0,utils_1.jiraApi)({apiPath:n.apiPath,path:"board",type:"agile"}),d.label=2;case 2:return[4,(0,node_fetch_1.default)("".concat(u,"?startAt=").concat(i.length),{headers:(0,utils_1.getHeaders)(n)}).then(utils_1.toJson)];case 3:l=d.sent(),i.push.apply(i,l.values),o=l.isLast,d.label=4;case 4:if(!o)return[3,2];d.label=5;case 5:return s=i.map((function(e){var t=e.name,a=e.id;return{name:"".concat(t," (").concat(a,")"),value:a,short:t}})),[4,inquirer_1.default.prompt([{type:"autocomplete",message:"Choose board:",name:"boardId",loop:!1,default:null==e?void 0:e.boardId,source:function(e,t){var a=t?fuzzy_1.default.filter(t,s,{extract:(0,utils_1.pluck)("name")}).map((0,utils_1.pluck)("original")):s;return Promise.resolve(a)}}])];case 6:return c=d.sent().boardId,[2,__assign(__assign({},n),{todoStatuses:n.todoStatuses.split(",").map((function(e){return'"'.concat(e.trim(),'"')})).join(","),boardId:c,boardType:null===(r=i.find((function(e){return e.id===c})))||void 0===r?void 0:r.type})]}}))}))}inquirer_1.default.registerPrompt("autocomplete",inquirer_autocomplete_prompt_1.default),exports.buildConfig=buildConfig;