UNPKG

@sliit-foss/automatic-versioning

Version:

A script which will automatically increment your app package version in accordance with conventional commits

7 lines (4 loc) 3.67 kB
var B=Object.create;var h=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var u=(n,i)=>h(n,"name",{value:i,configurable:!0});var S=(n,i)=>{for(var o in i)h(n,o,{get:i[o],enumerable:!0})},b=(n,i,o,a)=>{if(i&&typeof i=="object"||typeof i=="function")for(let t of x(i))!L.call(n,t)&&t!==o&&h(n,t,{get:()=>i[t],enumerable:!(a=N(i,t))||a.enumerable});return n};var A=(n,i,o)=>(o=n!=null?B(D(n)):{},b(i||!n||!n.__esModule?h(o,"default",{value:n,enumerable:!0}):o,n)),E=n=>b(h({},"__esModule",{value:!0}),n);var q={};S(q,{default:()=>U});module.exports=E(q);var c=A(require("../utils/runner"));const y=u(async(n,i,o=1)=>{var w,m,g,d,p,f;const a=await(0,c.default)(`git show -s --format='%s' -${o} ./`),e=(w=((a==null?void 0:a.split(` `))||[]).pop())==null?void 0:w.trim().replace(/^'|'$/g,"");let s=e!=null&&e.includes(":")?(d=(g=(m=e==null?void 0:e.split(":"))==null?void 0:m[0])==null?void 0:g.trim())==null?void 0:d.toLowerCase():"";s!=null&&s.includes("https")&&(s=""),s!=null&&s.includes("(")&&(s=(f=(p=s.split("("))==null?void 0:p[0])==null?void 0:f.trim());const $=e==null?void 0:e.includes("--no-bump");return s&&!i.includes(s)||!n?{commitPrefix:s,commitMessage:e,noBump:$}:y(n,i,o+1)},"getCommitPrefix"),v=u(async()=>{var n,i,o,a,t,e;return(e=(t=(a=(o=(i=(n=await(0,c.default)("npm version"))==null?void 0:n.split(","))==null?void 0:i[0])==null?void 0:o.split(":"))==null?void 0:a[1])==null?void 0:t.replace(/'/g,""))==null?void 0:e.trim()},"getCurrentVersion"),H=u((n,i,o)=>{if(i)return v();const a=u(()=>(0,c.default)(`npm view ${n} version`).then(t=>t||v()).catch(v),"getLatestStableVersion");return o?(0,c.default)(`npm view ${n} dist-tags.${o}`).then(t=>t||a()).catch(v):a()},"getPackageVersion"),I=u((n,i,o=!1,a,t,e,s,$)=>(0,c.default)("git log -p -1 -- ./").then(async w=>{var m,g,d;if(w){console.info(`Diff found, running versioning for ${n}`.green);const{commitMessage:p,commitPrefix:f,noBump:k}=await y(o,$);if(k)console.info("No bump found in commit message, skipping versioning and editing commit message".yellow),await(0,c.default)(`git commit --amend -m "${p==null?void 0:p.replace(/--no-bump/g,"")}"`).then(()=>console.info("Successfully edited commit message".green));else{let r;if(["feature!","feat!","f!","fix!","patch!"].includes(f))r="major";else if(["feature","feat","f"].includes(f))r="minor";else if(["fix","patch"].includes(f))r="patch";else if(["prerelease","prepatch","preminor","premajor"].includes(f))r=f;else{console.info("No suitable commit prefix found in commit message, skipping version bump".yellow);return}if((t||s)&&["major","minor","patch"].includes(r)&&(t||(t=((m=await(0,c.default)("git rev-parse --abbrev-ref HEAD"))==null?void 0:m.trim())===s),t)){t=!1;const l=await H(n,a,e);if(l!=null&&l.includes(e)){await(0,c.default)(`npm --workspaces-update=false --no-git-tag-version version --allow-same-version ${l}`);const[,j,C]=((d=(g=l==null?void 0:l.split("-"))==null?void 0:g[0])==null?void 0:d.split("."))??[];(r==="patch"||r==="minor"&&C==="0"||r==="major"&&j==="0")&&(t=!0)}r=t?"prerelease":`pre${r}`}await(0,c.default)(`npm --workspaces-update=false --no-git-tag-version version ${r} ${e?`--preid=${e}`:""}`).then(async()=>{if(!i){const l=`"CI: ${n} - ${r==="prerelease"?r:`${r} release`} skip-checks: true"`;await(0,c.default)("git add .").then(async()=>{await(0,c.default)(`git commit -m ${l} --no-verify --cleanup=verbatim`).then(()=>console.info(l.green))})}})}}else console.info(`No diff found, skipping versioning for ${n}`.yellow)}),"runner");var U=I;0&&(module.exports={}); //# sourceMappingURL=default.js.map