@jeromefitz/release-notes-generator 3.0.3 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +4 -4
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import{URL as jt,format as Bt}from"node:url";import{filterRevertedCommitsSync as Dt}from"conventional-commits-filter";import{CommitParser as It}from"conventional-commits-parser";import B from"lodash/merge.js";import{readPackageUp as Mt}from"read-package-up";import{filterRevertedCommitsSync as gt}from"conventional-commits-filter";import dt from"lodash/clone.js";import ht from"lodash/forEach.js";import yt from"lodash/map.js";import wt from"lodash/merge.js";import J from"semver";import ct from"lodash/forEach.js";import pt from"lodash/groupBy.js";import A from"lodash/orderBy.js";function ft(a,m,e,t){let r=[],n=pt(m,function(s){return s[a]||""});return ct(n,function(s,i){i===""&&(i=!1);let o=s;t&&(o=A(o,t));let c=o[0].typeSpec.semver,p=99;["fix","patch"].includes(c)&&(p=20),["feature","minor"].includes(c)&&(p=10),["breaking","major"].includes(c)&&(p=0),r.push({commits:o,order:p,title:i})}),e&&(r=A(r,e)),r}var N=ft;import F from"lodash/forEach.js";function lt(a,m,e){let t=[];return F(a,function(r){let n=r.title,s=!1;F(t,function(i){if(i.title===n)return s=!0,i.notes.push(r),!1}),s||t.push({notes:[r],title:n})}),t}var H=lt;function ut(a,m,e){let t={};return t.commitGroups=N(e.groupBy,a,e.commitGroupsSort,e.commitsSort),t.noteGroups=H(m,e.noteGroupsSort,e.notesSort),t}var z=ut;function bt(a,m,e,t){let r=[],n;if(a.ignoreReverted)for(let s of gt(m))n.push(s);else n=dt(m);return ht(n,function(s){yt(s.notes,function(i){return i.commit=s,i}),r=r.concat(s.notes)}),e=wt({},e,t,z(n,r,a)),t&&t.committerDate&&(e.date=t.committerDate),e.version&&J.valid(e.version)&&(e.isPatch=e.isPatch||J.patch(e.version)!==0),e={commits:m,context:e,filteredCommits:n,keyCommit:t,options:a},e}var K=bt;import{dirname as xt}from"node:path";import{fileURLToPath as Ct}from"node:url";import{promisify as _t}from"util";import R from"import-from-esm";import $t from"lodash/isPlainObject.js";var Q=xt(Ct(import.meta.url)),V=async(a,m)=>{let{config:e,parserOpts:t,preset:r,presetConfig:n,writerOpts:s}=a,{cwd:i}=m,o;if(r){let p=`conventional-changelog-${r.toLowerCase()}`;o=await(await R.silent(Q,p)||await R(i,p))(n)}else e?o=await(await R.silent(Q,e)||await R(i,e))():o={};return o=await(typeof o=="function"?$t(n)?o(n):_t(o)():o),{parserOpts:{...o.parserOpts,...t},writerOpts:{...o.writerOpts,...s}}};import kt from"lodash/size.js";var E=(a,m,e)=>{let{commit:t,commitGroups:r,linkReferences:n}=a,{repositoryUrl:s}=e,i=`- {scope}{subject}{hash}{references}
1
+ import{format as jt,URL as Bt}from"node:url";import{filterRevertedCommitsSync as Dt}from"conventional-commits-filter";import{CommitParser as It}from"conventional-commits-parser";import B from"lodash/merge.js";import{readPackageUp as Mt}from"read-package-up";import{filterRevertedCommitsSync as gt}from"conventional-commits-filter";import dt from"lodash/clone.js";import ht from"lodash/forEach.js";import yt from"lodash/map.js";import wt from"lodash/merge.js";import J from"semver";import ct from"lodash/forEach.js";import pt from"lodash/groupBy.js";import A from"lodash/orderBy.js";function ft(a,m,e,t){let r=[],n=pt(m,function(s){return s[a]||""});return ct(n,function(s,i){i===""&&(i=!1);let o=s;t&&(o=A(o,t));let c=o[0].typeSpec.semver,p=99;["fix","patch"].includes(c)&&(p=20),["feature","minor"].includes(c)&&(p=10),["breaking","major"].includes(c)&&(p=0),r.push({commits:o,order:p,title:i})}),e&&(r=A(r,e)),r}var N=ft;import F from"lodash/forEach.js";function lt(a,m,e){let t=[];return F(a,function(r){let n=r.title,s=!1;F(t,function(i){if(i.title===n)return s=!0,i.notes.push(r),!1}),s||t.push({notes:[r],title:n})}),t}var H=lt;function ut(a,m,e){let t={};return t.commitGroups=N(e.groupBy,a,e.commitGroupsSort,e.commitsSort),t.noteGroups=H(m,e.noteGroupsSort,e.notesSort),t}var z=ut;function bt(a,m,e,t){let r=[],n;if(a.ignoreReverted)for(let s of gt(m))n.push(s);else n=dt(m);return ht(n,function(s){yt(s.notes,function(i){return i.commit=s,i}),r=r.concat(s.notes)}),e=wt({},e,t,z(n,r,a)),t&&t.committerDate&&(e.date=t.committerDate),e.version&&J.valid(e.version)&&(e.isPatch=e.isPatch||J.patch(e.version)!==0),e={commits:m,context:e,filteredCommits:n,keyCommit:t,options:a},e}var K=bt;import{dirname as xt}from"node:path";import{fileURLToPath as Ct}from"node:url";import{promisify as _t}from"util";import R from"import-from-esm";import $t from"lodash/isPlainObject.js";var Q=xt(Ct(import.meta.url)),V=async(a,m)=>{let{config:e,parserOpts:t,preset:r,presetConfig:n,writerOpts:s}=a,{cwd:i}=m,o;if(r){let p=`conventional-changelog-${r.toLowerCase()}`;o=await(await R.silent(Q,p)||await R(i,p))(n)}else e?o=await(await R.silent(Q,e)||await R(i,e))():o={};return o=await(typeof o=="function"?$t(n)?o(n):_t(o)():o),{parserOpts:{...o.parserOpts,...t},writerOpts:{...o.writerOpts,...s}}};import kt from"lodash/size.js";var E=(a,m,e)=>{let{commit:t,commitGroups:r,linkReferences:n}=a,{repositoryUrl:s}=e,i=`- {scope}{subject}{hash}{references}
2
2
  `,o="",c=f=>{if(!f)return"";if(n){let l=` ${s}/${t}/${f}`;return` [ \`${f}\` ](${l})`}return` ${f}`},p=f=>{if(!f||kt(f)===0)return"";let l=", closes ",g=[];return f.map(d=>{d.issue&&g.push(`[ #${d.issue} ]`)}),l+=g.join(" "),l};return r.map(f=>{let{commits:l}=f,g=l[0]?.type;o+=`#### ${g}
3
- `,l.map(d=>{let{hash:b,header:$,references:k,scope:y,subject:h}=d,x=i.replace(/\{scope\}/g,y?`**${y}**: `:"").replace(/\{subject\}/g,h||$).replace(/\{hash\}/g,c(b)).replace(/\{references\}/g,p(k));o+=x}),o+=`
3
+ `,l.map(d=>{let{hash:b,header:$,references:k,scope:h,subject:y}=d,x=i.replace(/\{scope\}/g,h?`**${h}**: `:"").replace(/\{subject\}/g,y||$).replace(/\{hash\}/g,c(b)).replace(/\{references\}/g,p(k));o+=x}),o+=`
4
4
  `}),o};import{Octokit as vt}from"@octokit/rest";import W from"lodash/findIndex.js";import Pt from"lodash/sample.js";import Gt from"lodash/uniqBy.js";var Rt=new vt({auth:process.env.GH_TOKEN}),X={email:["noreply@github.com","users.noreply.github.com","semantic-release-bot@martynus.net"],login:["dependabot","dependabot[bot]","kodiakhq","kodiakhq[bot]","renovate","renovate[bot]","semantic-release-bot"]},Ot=["Props to","Kudos to","Thanks to","Brought to you by"],L=async(a,m,e)=>{let t=Gt(m.map(o=>({email:o.author.email,name:o.author.name})),"name"),{options:{contributorsProhibitList:r}}=a;await Promise.all(t.map((o,c)=>Rt.request("GET /search/users",{q:o.email}).then(({data:p})=>{let f=p.items[0]?.login;return f?(t[c].login=f,f):""}))),[...X.login,...r.login].map(o=>{let c=W(t,["login",o]);c!==-1&&t.splice(c)}),[...X.email,...r.email].map(o=>{let c=W(t,p=>p.email.includes(o));c!==-1&&t.splice(c)});let i="";if(t.length>0){i+=`#### \u{1F973}\uFE0F Contributors
5
5
  `;let o=t.map(c=>`@${c.login}`).join(", ");i+=`- ${Pt(Ot)} ${o}
6
6
  `,i+=`
@@ -15,8 +15,8 @@ import{URL as jt,format as Bt}from"node:url";import{filterRevertedCommitsSync as
15
15
  `}return i&&(c+=`| Title | **\`${i}\`** |
16
16
  `),r&&(c+=`| Date | **\`${Tt(r,"yyyy-MM-dd")}\`** |
17
17
  `),c+=`
18
- `,c};var Y=async(a,m)=>{let{commitGroups:e,currentTag:t,date:r,host:n,issue:s,lastRelease:i,linkCompare:o,linkReferences:c,mentions:p,nextRelease:f,noteGroups:l,notes:g,options:d,owner:b,previousTag:$,references:k,repoUrl:y,repository:h,revert:x,version:O}=a,w={commitGroups:e,currentTag:t,date:r,host:n,issue:s,lastRelease:i,linkCompare:o,linkReferences:c,mentions:p,nextRelease:f,noteGroups:l,notes:g,options:d,owner:b,previousTag:$,references:k,repoUrl:y,repository:h,revert:x,version:O},C={repositoryUrl:h?n+"/"+b+"/"+h:y},u="";return u+=U(w,m,C),u+=`
18
+ `,c};var Y=async(a,m)=>{let{commitGroups:e,currentTag:t,date:r,host:n,issue:s,lastRelease:i,linkCompare:o,linkReferences:c,mentions:p,nextRelease:f,noteGroups:l,notes:g,options:d,owner:b,previousTag:$,references:k,repository:h,repoUrl:y,revert:x,version:O}=a,w={commitGroups:e,currentTag:t,date:r,host:n,issue:s,lastRelease:i,linkCompare:o,linkReferences:c,mentions:p,nextRelease:f,noteGroups:l,notes:g,options:d,owner:b,previousTag:$,references:k,repository:h,repoUrl:y,revert:x,version:O},C={repositoryUrl:h?n+"/"+b+"/"+h:y},u="";return u+=U(w,m,C),u+=`
19
19
  `,u+=E(w,m,C),u+=`
20
20
  `,u+=await L(w,m,C),u+=`
21
21
  `,u+=S(w,m,C),u+=`
22
- `,u};import Et from"lodash/cloneDeep.js";import Lt from"lodash/forEach.js";import St from"lodash/get.js";import Z from"lodash/isFunction.js";import Ut from"lodash/set.js";function j(a,m,e){let t;try{a=JSON.parse(a)}catch{}return t=Et(a),Z(m)?(t=m(t,e),t&&(t.raw=a),t):(Lt(m,function(r,n){let s=St(t,n);Z(r)?s=r(s,n):s=r,Ut(t,n,s)}),t.raw=a,t)}var qt={commit:"commit",hostname:"github.com",issue:"issues",issuePrefixes:["#","gh-"],referenceActions:["close","closes","closed","fix","fixes","fixed","resolve","resolves","resolved"]};async function Fo(a,m){let{parserOpts:e,writerOpts:t}=await V(a,m),{commits:r,cwd:n,lastRelease:s,nextRelease:i,options:o}=m,{commit:c,issue:p,issuePrefixes:f,referenceActions:l}=qt,g=s.gitTag||s.gitHead,d=i.gitTag||i.gitHead,{commit:b,host:$,issue:k,linkCompare:y,linkReferences:h}=a,x=o.repositoryUrl.replace(/\.git$/i,""),[O,w,D,C]=/^(?!.+:\/\/)(?:(?<auth>.*)@)?(?<host>.*?):(?<path>.*)$/.exec(x)||[],{hostname:u,pathname:tt,port:T,protocol:v}=new jt(O?`ssh://${w?`${w}@`:""}${D}/${C}`:x);T=v.includes("ssh")?"":T,v=v&&/http[^s]/.test(v)?"http":"https";let[,ot,et]=/^\/(?<owner>[^/]+)?\/?(?<repository>.+)?$/.exec(tt)??[],I=B({commit:c,currentTag:d,host:Bt({hostname:u,port:T,protocol:v}),issue:p,linkCompare:d&&g,owner:ot,packageData:(await Mt({cwd:n,normalize:!1})||{}).packageJson,previousTag:g,repository:et,version:i.version},{commit:b,host:$,issue:k,linkCompare:y,linkReferences:h}),M=[],rt=new It({issuePrefixes:f,referenceActions:l,...e});for(let P of Dt(r)){let G=P;if(!G?.message.trim())return!1;let mt={...G,...rt.parse(G?.message)};M.push(mt)}let _=[];await M.map(async P=>{let G=await j(P,t.transform,m);_.push(G)}),_=await _.filter(P=>P!==void 0);let nt=B({},I,o,t),q=_[0],st=j(q,t.transform,m)||q,{context:it}=await K(nt,_,m,st),at=B({},I,it);return Y(at,_)}export{Fo as generateNotes};
22
+ `,u};import Et from"lodash/cloneDeep.js";import Lt from"lodash/forEach.js";import St from"lodash/get.js";import Z from"lodash/isFunction.js";import Ut from"lodash/set.js";function j(a,m,e){let t;try{a=JSON.parse(a)}catch{}return t=Et(a),Z(m)?(t=m(t,e),t&&(t.raw=a),t):(Lt(m,function(r,n){let s=St(t,n);Z(r)?s=r(s,n):s=r,Ut(t,n,s)}),t.raw=a,t)}var qt={commit:"commit",hostname:"github.com",issue:"issues",issuePrefixes:["#","gh-"],referenceActions:["close","closes","closed","fix","fixes","fixed","resolve","resolves","resolved"]};async function Fo(a,m){let{parserOpts:e,writerOpts:t}=await V(a,m),{commits:r,cwd:n,lastRelease:s,nextRelease:i,options:o}=m,{commit:c,issue:p,issuePrefixes:f,referenceActions:l}=qt,g=s.gitTag||s.gitHead,d=i.gitTag||i.gitHead,{commit:b,host:$,issue:k,linkCompare:h,linkReferences:y}=a,x=o.repositoryUrl.replace(/\.git$/i,""),[O,w,D,C]=/^(?!.+:\/\/)(?:(?<auth>.*)@)?(?<host>.*?):(?<path>.*)$/.exec(x)||[],{hostname:u,pathname:tt,port:T,protocol:v}=new Bt(O?`ssh://${w?`${w}@`:""}${D}/${C}`:x);T=v.includes("ssh")?"":T,v=v&&/http[^s]/.test(v)?"http":"https";let[,ot,et]=/^\/(?<owner>[^/]+)?\/?(?<repository>.+)?$/.exec(tt)??[],I=B({commit:c,currentTag:d,host:jt({hostname:u,port:T,protocol:v}),issue:p,linkCompare:d&&g,owner:ot,packageData:(await Mt({cwd:n,normalize:!1})||{}).packageJson,previousTag:g,repository:et,version:i.version},{commit:b,host:$,issue:k,linkCompare:h,linkReferences:y}),M=[],rt=new It({issuePrefixes:f,referenceActions:l,...e});for(let P of Dt(r)){let G=P;if(!G?.message.trim())return!1;let mt={...G,...rt.parse(G?.message)};M.push(mt)}let _=[];await M.map(async P=>{let G=await j(P,t.transform,m);_.push(G)}),_=await _.filter(P=>P!==void 0);let nt=B({},I,o,t),q=_[0],st=j(q,t.transform,m)||q,{context:it}=await K(nt,_,m,st),at=B({},I,it);return Y(at,_)}export{Fo as generateNotes};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jeromefitz/release-notes-generator",
3
- "version": "3.0.3",
3
+ "version": "3.0.4",
4
4
  "type": "module",
5
5
  "description": "Custom Release Note Generator for Semantic Release.",
6
6
  "repository": "jeromefitz/packages.git",