relion 0.33.0 → 0.34.0

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.
package/dist/cli.js CHANGED
@@ -2,10 +2,9 @@ import e from"./index.js";const t=process.argv.slice(2).join(` `);t||(console.lo
2
2
 
3
3
  Options:
4
4
  -b Run bump step
5
- -f [file] Run context step (default file: 'RELEASE.md')
6
- -c [message] Run commit step (default message: 'chore(release): {{tag}}')
7
- -t [prefix] Run tag step (default prefix: 'v')
5
+ -f Run context step
6
+ -c Run commit step
7
+ -t Run tag step
8
8
  -v <version> Specify new version
9
- --gpg Sign commit and tag with GPG
10
9
  -d Dry run
11
- `),process.exit(0));const n=/-v (\S+)/.exec(t)?.[1],r=/-f (\S+)/.exec(t)?.[1],i=/-c "(.+?)"/.exec(t)?.[1],a=/-t (\S+)/.exec(t)?.[1],o=t.includes(`--gpg`),s=/-\w*d/.test(t);e({flow:[/-\w*b/.test(t)&&`bump`,/-\w*f/.test(t)&&`context`,/-\w*c/.test(t)&&`commit`,/-\w*t/.test(t)&&`tag`].filter(Boolean),...n&&{newVersion:n},...r&&{contextFile:r},...i&&{commitMessage:i},...a&&{tagPrefix:a},...o&&{gpgSign:o},...s&&{dryRun:s}});export{};
10
+ `),process.exit(0));const n=/-v (\S+)/.exec(t)?.[1],r=/-\w*d/.test(t);e({flow:[/-\w*b/.test(t)&&`bump`,/-\w*f/.test(t)&&`context`,/-\w*c/.test(t)&&`commit`,/-\w*t/.test(t)&&`tag`].filter(Boolean),...n&&{newVersion:n},...r&&{dryRun:r}});export{};
package/dist/index.d.ts CHANGED
@@ -6,7 +6,6 @@ interface Config {
6
6
  contextFile?: string;
7
7
  commitMessage?: string;
8
8
  tagPrefix?: string;
9
- gpgSign?: boolean;
10
9
  commitFilters?: ((commit: Commit) => boolean)[];
11
10
  dryRun?: boolean;
12
11
  }
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{readFileSync as e,writeFileSync as t}from"node:fs";import{execSync as n}from"node:child_process";import r from"semver";const i=[{file:`package.json`,pattern:/("version": )".*"/,replacement:`$1"{{newVersion}}"`}],a={flow:[],newVersion:``,bumpFiles:i,contextFile:`RELEASE.md`,commitMessage:`chore(release): {{tag}}`,tagPrefix:`v`,gpgSign:!1,commitFilters:[e=>/^feat|^fix|^perf|^style|^docs/.test(e.message),e=>e.message.includes(`BREAKING CHANGE`)],dryRun:!1},o=n=>{n.bumpFiles.forEach(r=>{let a=typeof r==`string`?i.find(e=>e.file===r)??(()=>{throw Error(`No default bumper found for file '${r}'`)})():r,o=e(a.file,`utf8`).replace(a.pattern,a.replacement.replace(`{{newVersion}}`,n.newVersion));console.log(`Updating version in '${a.file}'`),!n.dryRun&&t(a.file,o,`utf8`)})},s=(e,n,r,i,a)=>{if(console.log(`Outputting release context to '${e.contextFile}'`),e.dryRun)return;let o=``,s=`---\nversion: ${e.newVersion}\ntag: ${i}\ndate: ${new Date().toLocaleString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}\nprevTag: ${r}\nrepoURL: ${a}
1
+ import{readFileSync as e,writeFileSync as t}from"node:fs";import{execSync as n}from"node:child_process";import r from"semver";const i=[{file:`package.json`,pattern:/("version": )".*"/,replacement:`$1"{{newVersion}}"`}],a={flow:[],newVersion:``,bumpFiles:i,contextFile:`RELEASE.md`,commitMessage:`chore(release): {{tag}}`,tagPrefix:`v`,commitFilters:[e=>/^feat|^fix|^perf|^style|^docs/.test(e.message),e=>e.message.includes(`BREAKING CHANGE`)],dryRun:!1},o=n=>{n.bumpFiles.forEach(r=>{let a=typeof r==`string`?i.find(e=>e.file===r)??(()=>{throw Error(`No default bumper found for file '${r}'`)})():r,o=e(a.file,`utf8`).replace(a.pattern,a.replacement.replace(`{{newVersion}}`,n.newVersion));console.log(`Updating version in '${a.file}'`),!n.dryRun&&t(a.file,o,`utf8`)})},s=(e,n,r,i,a)=>{if(console.log(`Outputting release context to '${e.contextFile}'`),e.dryRun)return;let o=``,s=`---\nversion: ${e.newVersion}\ntag: ${i}\ndate: ${new Date().toLocaleString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})}\nprevTag: ${r}\nrepoURL: ${a}
2
2
  ---
3
3
  `;o+=s+`
4
- `;let c=n.map(e=>`[${e.hash}] ${e.message}`).join(`\n${`-`.repeat(30)}\n`);o+=`## Git Log\n\n\`\`\`\n${c}\n\`\`\``,t(e.contextFile,o,`utf8`)},c=e=>{let t=`git add -A && git reset ${e.contextFile} && git commit -m "${e.commitMessage}"${e.gpgSign?` -S`:``}`;console.log(`Committing changes: '${t}'`),!e.dryRun&&n(t,{stdio:`inherit`})},l=(e,t)=>{let r=`git tag ${t} -m "${e.commitMessage}"${e.gpgSign?` -s`:``}`;console.log(`Creating a tag: '${r}'`),!e.dryRun&&n(r,{stdio:`inherit`})},u=e=>n(`git log ${e}.. --format="%h %B---"`,{encoding:`utf8`}).trim().split(`---`).filter(Boolean).map(e=>/^(.+?) (.+)/s.exec(e.trim())).map(e=>({hash:e?.[1]??``,message:e?.[2].trim()??``})),d=(e,t)=>{let n=e.some(e=>e.message.includes(`BREAKING CHANGE`))?t.startsWith(`0.`)?`minor`:`major`:e.some(e=>/feat(\(.*?\))?:/.test(e.message))?`minor`:`patch`;return r.inc(t,n)??(()=>{throw Error(`Failed to increment version '${t}' with release type '${n}'`)})()};function f(t){let r={...a,...t};console.log(`-`.repeat(30));let i=JSON.parse(e(`package.json`,`utf8`)),f=i.version;console.log(`Current version: ${f}`);let p=n(`git describe --match "${r.tagPrefix}*" --abbrev=0`,{encoding:`utf8`}).trim();console.log(`Current tag: ${p}`);let m=u(p).filter(e=>r.commitFilters.some(t=>t(e)));console.log(`Filtered commits: ${m.length}`),r.newVersion||=d(m,f),console.log(`New version: ${r.newVersion}`);let h=`${r.tagPrefix}${r.newVersion}`;console.log(`New tag: ${h}`),r.commitMessage=r.commitMessage.replace(`{{tag}}`,h),console.log(`Commit message: '${r.commitMessage}'`);let g=i.repository;console.log(`Repo URL: ${g}`),console.log(`-`.repeat(30));for(let e of r.flow)({bump:()=>o(r),context:()=>s(r,m,p,h,g),commit:()=>c(r),tag:()=>l(r,h)})[e]()}const p=e=>e;export{f as default,p as defineConfig};
4
+ `;let c=n.map(e=>`[${e.hash}] ${e.message}`).join(`\n${`-`.repeat(30)}\n`);o+=`## Git Log\n\n\`\`\`\n${c}\n\`\`\``,t(e.contextFile,o,`utf8`)},c=e=>{let t=`git add -A && git reset ${e.contextFile} && git commit -m "${e.commitMessage}"`;console.log(`Committing changes: '${t}'`),!e.dryRun&&n(t,{stdio:`inherit`})},l=(e,t)=>{let r=`git tag ${t} -m "${e.commitMessage}"`;console.log(`Creating a tag: '${r}'`),!e.dryRun&&n(r,{stdio:`inherit`})},u=e=>n(`git log ${e}.. --format="%h %B---"`,{encoding:`utf8`}).trim().split(`---`).filter(Boolean).map(e=>/^(.+?) (.+)/s.exec(e.trim())).map(e=>({hash:e?.[1]??``,message:e?.[2].trim()??``})),d=(e,t)=>{let n=e.some(e=>e.message.includes(`BREAKING CHANGE`))?t.startsWith(`0.`)?`minor`:`major`:e.some(e=>/feat(\(.*?\))?:/.test(e.message))?`minor`:`patch`;return r.inc(t,n)??(()=>{throw Error(`Failed to increment version '${t}' with release type '${n}'`)})()};function f(t){let r=JSON.parse(e(`package.json`,`utf8`)),i={...a,...r.relion,...t};console.log(`-`.repeat(30));let f=r.version;console.log(`Current version: ${f}`);let p=n(`git describe --match "${i.tagPrefix}*" --abbrev=0`,{encoding:`utf8`}).trim();console.log(`Current tag: ${p}`);let m=u(p).filter(e=>i.commitFilters.some(t=>t(e)));console.log(`Filtered commits: ${m.length}`),i.newVersion||=d(m,f),console.log(`New version: ${i.newVersion}`);let h=`${i.tagPrefix}${i.newVersion}`;console.log(`New tag: ${h}`),i.commitMessage=i.commitMessage.replace(`{{tag}}`,h),console.log(`Commit message: '${i.commitMessage}'`);let g=r.repository;console.log(`Repo URL: ${g}`),console.log(`-`.repeat(30));for(let e of i.flow)({bump:()=>o(i),context:()=>s(i,m,p,h,g),commit:()=>c(i),tag:()=>l(i,h)})[e]()}const p=e=>e;export{f as default,p as defineConfig};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "relion",
3
- "version": "0.33.0",
3
+ "version": "0.34.0",
4
4
  "description": "Release Workflow Helper",
5
5
  "author": "kh4f <kh4f.dev@gmail.com>",
6
6
  "license": "MIT",
@@ -44,7 +44,7 @@
44
44
  "build:prod": "tsdown --prod",
45
45
  "lint": "eslint",
46
46
  "release:context": "pnpm relion -f",
47
- "release": "pnpm relion -bct --gpg",
47
+ "release": "pnpm relion -bct",
48
48
  "relion": "tsx src/cli"
49
49
  }
50
50
  }