@anolilab/multi-semantic-release 3.2.2 → 3.2.3-alpha.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## @anolilab/multi-semantic-release [3.2.3-alpha.1](https://github.com/anolilab/semantic-release/compare/@anolilab/multi-semantic-release@3.2.2...@anolilab/multi-semantic-release@3.2.3-alpha.1) (2025-12-09)
2
+
3
+ ### Bug Fixes
4
+
5
+ * add GitHub labeler configuration and update package metadata ([dce9314](https://github.com/anolilab/semantic-release/commit/dce9314ca6aefaf86e75c6d065cdac8ad7a60717))
6
+ * enhance repository URL normalization to support authentication tokens ([709f762](https://github.com/anolilab/semantic-release/commit/709f76259a4b795d07572872eb27f95a7051fbe2))
7
+
8
+
9
+ ### Dependencies
10
+
11
+ * **@anolilab/semantic-release-clean-package-json:** upgraded to 4.2.3-alpha.1
12
+ * **@anolilab/semantic-release-pnpm:** upgraded to 4.0.0-alpha.1
13
+
1
14
  ## @anolilab/multi-semantic-release [3.2.2](https://github.com/anolilab/semantic-release/compare/@anolilab/multi-semantic-release@3.2.1...@anolilab/multi-semantic-release@3.2.2) (2025-12-05)
2
15
 
3
16
 
package/README.md CHANGED
@@ -1,12 +1,24 @@
1
- <div align="center">
1
+ <!-- START_PACKAGE_OG_IMAGE_PLACEHOLDER -->
2
+
3
+ <a href="https://github.com/anolilab/semantic-release" align="center">
4
+
5
+ <img src="__assets__/package-og.svg" alt="multi-semantic-release" />
2
6
 
3
- <img src="https://github.com/anolilab/semantic-release/blob/main/.github/logo.svg" alt="Logo" width="200">
7
+ </a>
4
8
 
5
- <h1>Multi Semantic Release</h1>
9
+ <h3 align="center">A multi semantic release tool for a monorepo.</h3>
6
10
 
7
- hacky [semantic-release](https://github.com/semantic-release/semantic-release) for monorepos based on [qiwi/multi-semantic-release](https://github.com/qiwi/multi-semantic-release)
11
+ <!-- END_PACKAGE_OG_IMAGE_PLACEHOLDER -->
8
12
 
9
- [![npm-image]][npm-url] [![license-image]][license-url]
13
+ <br />
14
+
15
+ <div align="center">
16
+
17
+ [![typescript-image][typescript-badge]][typescript-url]
18
+ [![mit licence][license-badge]][license]
19
+ [![npm downloads][npm-downloads-badge]][npm-downloads]
20
+ [![Chat][chat-badge]][chat]
21
+ [![PRs Welcome][prs-welcome-badge]][prs-welcome]
10
22
 
11
23
  </div>
12
24
 
@@ -22,6 +34,8 @@ hacky [semantic-release](https://github.com/semantic-release/semantic-release) f
22
34
 
23
35
  ---
24
36
 
37
+ Hacky [semantic-release](https://github.com/semantic-release/semantic-release) for monorepos based on [qiwi/multi-semantic-release](https://github.com/qiwi/multi-semantic-release)
38
+
25
39
  This fork of [dhoub/multi-semantic-release](https://github.com/dhoulb/multi-semantic-release) replaces [`setImmediate` loops](https://github.com/dhoulb/multi-semantic-release/blob/561a8e66133d422d88008c32c479d1148876aba4/lib/wait.js#L13)
26
40
  and [`execa.sync` hooks](https://github.com/dhoulb/multi-semantic-release/blob/561a8e66133d422d88008c32c479d1148876aba4/lib/execaHook.js#L5) with event-driven flow and finally makes possible to run the most release operations in parallel.
27
41
  🎉 🎉 🎉
@@ -490,11 +504,24 @@ If you would like to help take a look at the [list of issues](https://github.com
490
504
  - [dhoub/multi-semantic-release](https://github.com/dhoulb/multi-semantic-release)
491
505
  - [qiwi/multi-semantic-release](https://github.com/qiwi/multi-semantic-release)
492
506
 
507
+ ## Made with ❤️ at Anolilab
508
+
509
+ This is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Anolilab](https://www.anolilab.com/open-source) is a Development and AI Studio. Contact us at [hello@anolilab.com](mailto:hello@anolilab.com) if you need any help with these technologies or just want to say hi!
510
+
493
511
  ## License
494
512
 
495
513
  [0BSD](./LICENSE.md)
496
514
 
497
- [license-image]: https://img.shields.io/npm/l/@anolilab/multi-semantic-release?color=blueviolet&style=for-the-badge
498
- [license-url]: LICENSE.md "license"
499
- [npm-image]: https://img.shields.io/npm/v/@anolilab/multi-semantic-release/latest.svg?style=for-the-badge&logo=npm
500
- [npm-url]: https://www.npmjs.com/package/@anolilab/multi-semantic-releasv/latest "npm"
515
+ <!-- badges -->
516
+
517
+ [license-badge]: https://img.shields.io/npm/l/@anolilab/multi-semantic-release?style=for-the-badge
518
+ [license]: https://github.com/anolilab/multi-semantic-release/blob/main/LICENSE
519
+ [npm-downloads-badge]: https://img.shields.io/npm/dm/@anolilab/multi-semantic-release?style=for-the-badge
520
+ [npm-downloads]: https://www.npmjs.com/package/@anolilab/multi-semantic-release
521
+ [prs-welcome-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge
522
+ [prs-welcome]: https://github.com/anolilab/multi-semantic-release/blob/main/.github/CONTRIBUTING.md
523
+ [chat-badge]: https://img.shields.io/discord/902465130518949899.svg?style=for-the-badge
524
+ [chat]: https://discord.gg/TtFJY8xkFK
525
+ [typescript-badge]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
526
+ [typescript-url]: https://www.typescriptlang.org/
527
+ [license-url]: LICENSE.md
package/dist/bin/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- var l=Object.defineProperty;var n=(o,e)=>l(o,"name",{value:e,configurable:!0});import{createRequire as d}from"node:module";import g from"yargs";import{hideBin as b}from"yargs/helpers";import{z as f,u as s}from"../packem_shared/multi-semantic-release-CfLmC4A3.js";const _=d(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,{exit:t}=u;var m=Object.defineProperty,y=n((o,e)=>m(o,"name",{value:e,configurable:!0}),"n");const a={array:!0,coerce:y(o=>{if(o.length===1&&o[0]?.trim()==="false")return[];const e=[];for(const i of o)e.push(...i.split(",").map(r=>r.trim()));return e},"coerce"),type:"array"};await(async()=>{const o=g(b(process.argv)).usage("$0 [args]").scriptName("multi-semantic-release").option("d",{alias:"dry-run",default:!1,describe:"Skip publishing",group:"Options",type:"boolean"}).option("h",{alias:"help",group:"Options"}).option("debug",{describe:"Output debugging information.",type:"boolean"}).option("silent",{describe:"Do not print configuration information.",type:"boolean"}).option("sequential-init",{describe:"Avoid hypothetical concurrent initialization collisions.",type:"boolean"}).option("sequential-prepare",{describe:"Avoid hypothetical concurrent preparation collisions. Do not use if your project have cyclic dependencies.",type:"boolean"}).option("first-parent",{describe:"Apply commit filtering to current branch only.",type:"boolean"}).option("deps.bump",{describe:"Define deps version updating rule. Allowed: override, satisfy, inherit.",type:"string"}).option("deps.release",{describe:"Define release type for dependent package if any of its deps changes. Supported values: patch, minor, major, inherit.",type:"string"}).option("deps.prefix",{describe:"Optional prefix to be attached to the next dep version if '--deps.bump' set to 'override'. Supported values: '^' | '~' | '' (empty string as default).",type:"string"}).option("b",{alias:"branches",describe:"Git branches to release from",...a,group:"Options"}).option("ci",{describe:"Toggle CI verifications",group:"Options",type:"boolean"}).option("ignore-packages",{...a,describe:"Packages list to be ignored on bumping process"}).option("ignore-private",{describe:"Exclude private packages. Enabled by default, pass 'no-ignore-private' to disable.",type:"boolean"}).option("tag-format",{describe:'Format to use for creating tag names. Should include "name" and "version" vars. Default: "${name}@${version}" generates "package-name@1.0.0"',type:"string"}).strict(!1).exitProcess(!1);try{const e=o.parse(process.argv.slice(2)),{help:i,version:r,...p}=e;(i||r)&&t(0),f(null,{},{},p).then(()=>{t(0)},c=>{s.error("[multi-semantic-release]:",c),t(1)})}catch(e){s.error("[multi-semantic-release]:",e),t(1)}})();
2
+ var l=Object.defineProperty;var n=(o,e)=>l(o,"name",{value:e,configurable:!0});import{createRequire as d}from"node:module";import g from"yargs";import{hideBin as b}from"yargs/helpers";import{q as f,u as s}from"../packem_shared/multi-semantic-release-BGxxuEal.js";const _=d(import.meta.url),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,{exit:t}=u;var m=Object.defineProperty,y=n((o,e)=>m(o,"name",{value:e,configurable:!0}),"n");const a={array:!0,coerce:y(o=>{if(o.length===1&&o[0]?.trim()==="false")return[];const e=[];for(const i of o)e.push(...i.split(",").map(r=>r.trim()));return e},"coerce"),type:"array"};await(async()=>{const o=g(b(process.argv)).usage("$0 [args]").scriptName("multi-semantic-release").option("d",{alias:"dry-run",default:!1,describe:"Skip publishing",group:"Options",type:"boolean"}).option("h",{alias:"help",group:"Options"}).option("debug",{describe:"Output debugging information.",type:"boolean"}).option("silent",{describe:"Do not print configuration information.",type:"boolean"}).option("sequential-init",{describe:"Avoid hypothetical concurrent initialization collisions.",type:"boolean"}).option("sequential-prepare",{describe:"Avoid hypothetical concurrent preparation collisions. Do not use if your project have cyclic dependencies.",type:"boolean"}).option("first-parent",{describe:"Apply commit filtering to current branch only.",type:"boolean"}).option("deps.bump",{describe:"Define deps version updating rule. Allowed: override, satisfy, inherit.",type:"string"}).option("deps.release",{describe:"Define release type for dependent package if any of its deps changes. Supported values: patch, minor, major, inherit.",type:"string"}).option("deps.prefix",{describe:"Optional prefix to be attached to the next dep version if '--deps.bump' set to 'override'. Supported values: '^' | '~' | '' (empty string as default).",type:"string"}).option("b",{alias:"branches",describe:"Git branches to release from",...a,group:"Options"}).option("ci",{describe:"Toggle CI verifications",group:"Options",type:"boolean"}).option("ignore-packages",{...a,describe:"Packages list to be ignored on bumping process"}).option("ignore-private",{describe:"Exclude private packages. Enabled by default, pass 'no-ignore-private' to disable.",type:"boolean"}).option("tag-format",{describe:'Format to use for creating tag names. Should include "name" and "version" vars. Default: "${name}@${version}" generates "package-name@1.0.0"',type:"string"}).strict(!1).exitProcess(!1);try{const e=o.parse(process.argv.slice(2)),{help:i,version:r,...p}=e;(i||r)&&t(0),f(null,{},{},p).then(()=>{t(0)},c=>{s.error("[multi-semantic-release]:",c),t(1)})}catch(e){s.error("[multi-semantic-release]:",e),t(1)}})();
@@ -1 +1 @@
1
- import{createRequire as e}from"node:module";import"@semrel-extra/topo";import"debug";import"lodash-es";import"semantic-release";import"semantic-release/package.json"with{type:"json"};import{z as a}from"./packem_shared/multi-semantic-release-CfLmC4A3.js";const t=e(import.meta.url),i=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;export{a as default};
1
+ import{createRequire as e}from"node:module";import"@semrel-extra/topo";import"debug";import"lodash-es";import"semantic-release";import"semantic-release/package.json"with{type:"json"};import{q as a}from"./packem_shared/multi-semantic-release-BGxxuEal.js";const t=e(import.meta.url),i=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process;export{a as default};
@@ -1,4 +1,4 @@
1
- var $e=Object.defineProperty;var b=(e,t)=>$e(e,"name",{value:t,configurable:!0});import{createRequire as je}from"node:module";import{topo as Te}from"@semrel-extra/topo";import W from"debug";import{transform as De,isEqual as Ee,isObject as X,pickBy as Z,castArray as H,sortBy as Ce,template as Se}from"lodash-es";import Me from"semantic-release";import Ne from"semantic-release/package.json"with{type:"json"};import{execa as ae}from"execa";import{getTagHead as Ae}from"semantic-release/lib/git.js";import ee from"git-log-parser";import oe from"signale";import{WritableStreamBuffer as ce}from"stream-buffers";import $,{gt as He,prerelease as Le,rcompare as qe}from"semver";import ze from"detect-indent";import{detectNewline as Be}from"detect-newline";import{isAccessibleSync as le,readJson as Ue}from"@visulima/fs";import{readYamlSync as We}from"@visulima/fs/yaml";import{resolve as pe}from"@visulima/path";import{cosmiconfig as de}from"cosmiconfig";import Je from"resolve-from";import Ge from"semantic-release/lib/get-config.js";const _e=je(import.meta.url),A=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,q=b(e=>{if(typeof A<"u"&&A.versions&&A.versions.node){const[t,r]=A.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return A.getBuiltinModule(e)}return _e(e)},"__cjs_getBuiltinModule"),{isAbsolute:K,normalize:ke,join:Oe,parse:Re,relative:xe,dirname:Pe}=q("node:path"),{existsSync:Y,lstatSync:Q,readFileSync:Ve,writeFileSync:Fe}=q("node:fs"),{Writable:ie}=q("node:stream"),{createRequire:Ie}=q("node:module");var Ke="3.2.1";const Ye={version:Ke};var Qe=Object.defineProperty,Xe=b((e,t)=>Qe(e,"name",{value:t,configurable:!0}),"t$4");const{Signale:Ze}=oe,I=["error","warn","info","debug","trace"],et=Xe((e,t)=>{const r=I.indexOf(e),n=I.indexOf(t);return r!==-1&&n!==-1&&r<=n},"assertLevel"),te={complete:"info",failure:"error",log:"info",success:"info"},j={config:{_level:"info",_signale:{},_stderr:process.stderr,_stdout:process.stdout,set level(e){e&&(this._level=e)},get level(){return this._level},set stdio([e,t]){this._stdout=t,this._stderr=e,this._signale=new Ze({config:{displayLabel:!1,displayTimestamp:!0},stream:t,types:{complete:{badge:"🎉",color:"green",label:"",stream:[t]},error:{badge:"✖",color:"red",label:"",stream:[e]},log:{badge:"•",color:"magenta",label:"",stream:[t]},success:{badge:"✔",color:"green",label:"",stream:[t]}}})},get stdio(){return[this._stderr,this._stdout]}},prefix:"msr:",withScope(e){return{...this,debug:W(e||this.prefix),prefix:e}},...[...I,...Object.keys(te)].reduce((e,t)=>(e[t]=function(...r){et(te[t]||t,this.config.level)&&(this.config._signale[t]||console[t]||(()=>{}))(this.prefix,...r)},e),{}),debug:W("msr:")};var tt=Object.defineProperty,rt=b((e,t)=>tt(e,"name",{value:t,configurable:!0}),"t$3");class Ar extends Error{static{b(this,"ValueError")}static{rt(this,"ValueError")}constructor(t){super(t),this.name="ValueError"}}var st=Object.defineProperty,T=b((e,t)=>st(e,"name",{value:t,configurable:!0}),"t$2");const nt=T(e=>K(e)&&Y(e)&&Q(e).isDirectory(),"isDirectory"),at=T(e=>e instanceof ie||e instanceof ce,"isStream"),ot=T(e=>K(e),"isAbsolute"),it=T(e=>typeof e=="string"&&e.length>0,"isPath"),ct=T(e=>e!==null&&typeof e=="object"&&!Array.isArray(e),"isObjectLike"),lt=T(e=>e===void 0?!0:typeof e=="string"&&/^[a-f0-9]{40}$/i.test(e),"isAlphanumeric40"),pt=T(e=>typeof e=="string"&&e.length>0,"isStringPlus"),dt=T(e=>typeof e=="string"&&/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(e),"isKebab"),ut=T(e=>typeof e=="string"&&e===e.toLowerCase(),"isLower"),gt=T(e=>Number.isInteger(e),"isInteger"),k=T((e,t)=>{const[r,n]=t.split(":").map(i=>i.trim()),a=n?.endsWith("?"),o=a&&n?n.slice(0,-1):n;if(!(a&&e==null)){if(o?.endsWith("[]")){const i=o.slice(0,-2);if(!Array.isArray(e))throw new TypeError(`${r}: Must be an array`);for(const d of e)k(d,`${r}[item]: ${i}`);return}switch(o){case"absolute":{if(!(typeof e=="string"&&ot(e)))throw new TypeError(`${r}: Must be an absolute path`);break}case"alphanumeric{40}":{if(!lt(e))throw new TypeError(`${r}: Must be alphanumeric string with size 40 or empty`);break}case"directory":{if(!(typeof e=="string"&&nt(e)))throw new TypeError(`${r}: Must be directory that exists in the filesystem`);break}case"integer":{if(!(typeof e=="number"&&gt(e)))throw new TypeError(`${r}: Must be an integer`);break}case"kebab":{if(!(typeof e=="string"&&dt(e)))throw new TypeError(`${r}: Must be a kebab-case string`);break}case"lower":{if(!(typeof e=="string"&&ut(e)))throw new TypeError(`${r}: Must be a lowercase string`);break}case"objectlike":{if(!ct(e))throw new TypeError(`${r}: Must be an object`);break}case"path":{if(!(typeof e=="string"&&it(e)))throw new TypeError(`${r}: Must be valid path`);break}case"stream":{if(!at(e))throw new TypeError(`${r}: Must be an instance of stream.Writable or WritableStreamBuffer`);break}case"string":{if(typeof e!="string")throw new TypeError(`${r}: Must be a string`);break}case"string+":{if(!pt(e))throw new TypeError(`${r}: Must be a non-empty string`);break}default:if(e==null)throw new TypeError(`${r}: Must not be null or undefined`)}}},"validate");var ft=Object.defineProperty,mt=b((e,t)=>ft(e,"name",{value:t,configurable:!0}),"r$4");const S=mt((e,t=process.cwd())=>{k(e,"path: path"),k(t,"cwd: absolute");const r=ke(K(e)?e:Oe(t,e)),{root:n}=Re(r);let a=r.length;for(;a>n.length&&(r[a-1]==="/"||r[a-1]==="\\");)a-=1;return a===r.length?r:r.slice(0,a)},"cleanPath");var yt=Object.defineProperty,M=b((e,t)=>yt(e,"name",{value:t,configurable:!0}),"n$1");const ht=M(e=>e.readable?new Promise((t,r)=>{if(!e.readable){t([]);return}let n=[];const a=M(()=>{n=[],e.removeListener("data",o),e.removeListener("end",i),e.removeListener("error",d),e.removeListener("close",c)},"cleanup"),o=M(u=>{n.push(u)},"onData"),i=M(()=>{t(n),a()},"onEnd"),d=M(u=>{r(u),a()},"onError"),c=M(()=>{t(n),a()},"onClose");e.on("data",o),e.on("end",i),e.on("error",d),e.on("close",c)}):Promise.resolve([]),"streamToArray");var bt=Object.defineProperty,vt=b((e,t)=>bt(e,"name",{value:t,configurable:!0}),"f");const{debug:re}=j.withScope("msr:commitsFilter"),B=vt(async(e,t,r,n,a)=>{if(k(e,"cwd: directory"),e=S(e),k(t,"dir: path"),t=S(t,e),!Y(t)||!Q(t).isDirectory())throw new TypeError("dir: Must be a path to an existing directory");if(k(r,"lastRelease: alphanumeric{40}?"),k(n,"nextRelease: alphanumeric{40}?"),t.indexOf(e)!==0)throw new TypeError("dir: Must be inside cwd");if(t===e)throw new TypeError("dir: Must not be equal to cwd");const o=await ae("git",["rev-parse","--show-toplevel"],{cwd:e}),i=S(o.stdout);Object.assign(ee.fields,{committerDate:{key:"ci",type:Date},gitTags:"d",hash:"H",message:"B"});const d=xe(i,t),c=a?["--first-parent",a]:[],u=(r?`${r}..`:"")+(n||"HEAD"),p=[...c,u,"--",d],g=ee.parse({_:p},{cwd:i,env:process.env}),f=await ht(g);return f.forEach(s=>{s.message=s.message.trim(),s.gitTags=s.gitTags.trim()}),re("git log filter query: %o",p),re("filtered commits: %O",f),f},"getCommitsFiltered");var wt=Object.defineProperty,J=b((e,t)=>wt(e,"name",{value:t,configurable:!0}),"a$2");const $t=J(e=>{if(!Y(e))throw new ReferenceError(`package.json file not found: "${e}"`);let t;try{t=Q(e)}catch{throw new ReferenceError(`package.json cannot be read: "${e}"`)}if(!t.isFile())throw new ReferenceError(`package.json is not a file: "${e}"`);try{return Ve(e,"utf8")}catch{throw new ReferenceError(`package.json cannot be read: "${e}"`)}},"readManifest"),ue=J(e=>{const t=$t(e);let r;try{r=JSON.parse(t)}catch{throw new SyntaxError(`package.json could not be parsed: "${e}"`)}if(typeof r!="object"||r===null)throw new SyntaxError(`package.json was not an object: "${e}"`);const n=r;if(typeof n.name!="string"||n.name.length===0)throw new SyntaxError(`Package name must be non-empty string: "${e}"`);const a=J(o=>{if(Object.prototype.hasOwnProperty.call(n,o)&&typeof n[o]!="object")throw new SyntaxError(`Package ${o} must be object: "${e}"`)},"checkDeps");return a("dependencies"),a("devDependencies"),a("peerDependencies"),a("optionalDependencies"),Object.defineProperty(n,"__contents__",{enumerable:!1,value:t}),n},"getManifest");var jt=Object.defineProperty,ge=b((e,t)=>jt(e,"name",{value:t,configurable:!0}),"r$3");const _t=ge((e,t,r)=>e&&t&&r?e(t,r)?t:r:t||r,"selectVersionBy"),kt=_t.bind(null,He),Ot=ge((e,t)=>e.filter(r=>t||!Le(r)).toSorted(qe)[0],"getLatestVersion");var Rt=Object.defineProperty,xt=b((e,t)=>Rt(e,"name",{value:t,configurable:!0}),"e$2");const Pt=xt(e=>({indent:ze(e).indent,trailingWhitespace:Be(e)||""}),"recognizeFormat");var Tt=Object.defineProperty,R=b((e,t)=>Tt(e,"name",{value:t,configurable:!0}),"o$2");const{debug:U}=j.withScope("msr:updateDeps"),Dt=R((e,t,r)=>{const n=e?$.inc(e,"prerelease",r):void 0,a=$.inc(t,"prerelease",r)||void 0;return n?kt(a,n):a},"nextPreHighestVersion"),Et=R((e,t,r,n)=>{if(!$.prerelease(t)){if(!$.parse(t))return;const o=$.inc(t,r||"patch");return o?`${o}-${n}.1`:void 0}const a=Ot(e,!0);return Dt(a,t,n)},"nextPreVersionCases"),G=R((e,t,r,n,a)=>{const o=["patch","minor","major"],{localDeps:i,manifest:d={}}=e,c=e._lastRelease?.version,{dependencies:u={},devDependencies:p={},optionalDependencies:g={},peerDependencies:f={}}=d,s=[u,p,f,g],v=R((m,y,w)=>{const O=m[y];if(!w||!O)return!1;const V=Vt(O,w,t,a);return O!==V?(m[y]=V,!0):!1},"bumpDependency");let h;const l=i.filter(m=>!n.includes(m)).reduce((m,y)=>{const w=me(y,t,r,[...n,e],a);let O;if(w?O=(y._preRelease?At(y):Mt(y))||void 0:O=y._lastRelease?.version,!w&&y.localDeps&&y.localDeps.length>0){const N=G(y,t,r,[...n,e],a);if(N){const z=o.indexOf(N),we=h?o.indexOf(h):-1;z>we&&(h=N)}}if(!s.reduce((N,z)=>v(z,y.name,O)||N,!c)||!w)return m;if(!m)return w;const V=o.indexOf(w),ve=o.indexOf(m);return V>ve?w:m},void 0);return!l&&h?h:l},"getDependentRelease"),Ct=R((e,t)=>{if(e.startsWith("workspace:")){const r=/^workspace:(([\^~*])?.*)$/u.exec(e);if(!r)return e;const[,n,a]=r;return a===n?a==="*"?t:a+t:n}return e},"substituteWorkspaceVersion"),fe=R((e,t)=>De(e,(r,n,a)=>{Ee(n,t[a])||(r[a]=X(n)&&X(t[a])?JSON.stringify(fe(n,t[a])):`${t[a]} → ${n}`)})||{},"difference"),St=R((e,t)=>{const r=`[${e.name}]`,n=ue(t),a=["dependencies","devDependencies","peerDependencies","optionalDependencies"].reduce((o,i)=>{const d=fe(e[i],n[i]);return Object.keys(d).length>0&&(o[i]=d),o},{});return U(r,"package.json path=",t),Object.keys(a).length>0?(U(r,"changes=",a),!0):(U(r,"no deps changes"),!1)},"auditManifestChanges"),Mt=R(e=>{const t=e._lastRelease?.version;return t&&typeof e._nextType=="string"?$.inc(t,e._nextType):t||"1.0.0"},"getNextVersion"),Nt=R(e=>{const t=$.parse(e);if(!t)return null;const r=t.prerelease[0];return r==null?null:String(r)},"getPreReleaseTag"),At=R(e=>{const t=e._lastRelease?.version,r=Nt(t||"");return r!==null&&r!==e._preRelease||!t?`1.0.0-${e._preRelease}.1`:Et([],t||"",e._nextType||"patch",e._preRelease||"")},"getNextPreVersion"),me=R((e,t="override",r="patch",n=[],a="")=>{const o=G(e,t,r,n,a);if(e._nextType)return e._nextType;if(!o&&e.localDeps&&e.localDeps.length>0&&e.manifest){const i=e.manifest,{dependencies:d={},devDependencies:c={},optionalDependencies:u={},peerDependencies:p={}}=i,g={...d,...c,...u,...p};if(e.localDeps.some(f=>!f.name||g[f.name]===void 0?!1:f._nextType?!0:f.localDeps&&f.localDeps.length>0?G(f,t,r,[...n,e],a)!==void 0:!1)&&r!=="inherit")return e._nextType=r,e._nextType}if(o)return e._nextType=r==="inherit"?o:r,e._nextType},"resolveReleaseType"),Vt=R((e,t,r="override",n="")=>{if(e=Ct(e,t),r==="ignore"||e===t||(r==="satisfy"||r==="inherit")&&$.satisfies(t,e))return e;if(r==="inherit"){const a=t.split(".");return e.split(".").map((o,i)=>a[i]?o.replace(/\d+/u,a[i]):o).join(".")}return n+t},"resolveNextVersion"),Ft=R(e=>{const{manifest:t,path:r}=e,{indent:n,trailingWhitespace:a}=Pt(t.__contents__);t.version=e?._nextRelease?.version||t.version,e.localDeps.forEach(o=>{const i=o._nextRelease||o._lastRelease;if(!i||!i.version)throw new Error(`Cannot release ${e.name} because dependency ${o.name} has not been released yet`)}),St(t,r)&&Fe(r,JSON.stringify(t,null,n)+a)},"updateManifestDeps");var Ht=Object.defineProperty,D=b((e,t)=>Ht(e,"name",{value:t,configurable:!0}),"c$2");const{debug:C}=j.withScope("msr:catalogChanges"),Lt=D(e=>{const t=pe(e,"pnpm-workspace.yaml");if(!le(t))return null;try{return We(t).catalogs||null}catch(r){return C("Failed to parse pnpm-workspace.yaml:",r),null}},"parsePnpmCatalog"),qt=D(async e=>{const t=pe(e,"package.json");if(!le(t))return null;try{return(await Ue(t)).catalogs||null}catch(r){return C("Failed to parse package.json for yarn catalog:",r),null}},"parseYarnCatalog"),zt=D(async e=>Lt(e)||qt(e),"getCatalogDefinitions"),Bt=D(async(e,t)=>{const{execa:r}=await import("execa");try{try{const n=await r("git",["show",`${t}:pnpm-workspace.yaml`],{cwd:e,reject:!1});if(n.exitCode===0&&n.stdout){const{parse:a}=await import("yaml"),o=a(n.stdout);if(o?.catalogs)return o.catalogs}}catch{}try{const n=await r("git",["show",`${t}:package.json`],{cwd:e,reject:!1});if(n.exitCode===0&&n.stdout)return JSON.parse(n.stdout).catalogs||null}catch{}}catch(n){C(`Failed to get catalog definitions at commit ${t}:`,n)}return null},"getCatalogDefinitionsAtCommit"),Ut=D((e,t)=>{const r=D(o=>o.replace(/^[\^~]/,"").trim(),"extractVersion"),n=r(e),a=r(t);return!$.valid(n)||!$.valid(a)||$.eq(n,a)?null:$.major(n)!==$.major(a)?"major":$.minor(n)!==$.minor(a)?"minor":$.patch(n)!==$.patch(a)?"patch":null},"getReleaseTypeFromVersionChange"),Wt=D(async(e,t,r)=>{e=S(e);const n=await zt(e);if(!n)return C("No catalog definitions found"),{};if(!t)return C("No last release found, skipping catalog change detection"),{};const a=await Bt(e,t);if(!a)return C("No old catalog definitions found at last release"),{};const o={};for(const[i,d]of Object.entries(n)){const c=a[i];if(c)for(const[u,p]of Object.entries(d)){const g=c[u];if(g&&g!==p){const f=Ut(g,p);f&&(o[i]||(o[i]={}),o[i][u]={newVersion:p,oldVersion:g,releaseType:f},C(`Catalog change detected: ${i}:${u} ${g} -> ${p} (${f})`))}}}return o},"detectCatalogChanges"),It=D((e,t,r)=>{const n=`catalog:${t}`,a=[];for(const o of e){const{manifest:i}=o,d=[i.dependencies,i.devDependencies,i.peerDependencies,i.optionalDependencies].filter(Boolean);for(const c of d)for(const[u,p]of Object.entries(c))if(p===n){if(r&&u!==r)continue;a.push(o);break}}return a},"findPackagesUsingCatalog"),Jt=D((e,t)=>{const r=new Map;for(const[n,a]of Object.entries(t))for(const[o,i]of Object.entries(a)){const d=It(e,n,o);for(const c of d){const u=r.get(c.name),p=i.releaseType;if(p)if(u){const g={major:3,minor:2,patch:1},f=g[u];g[p]>f&&r.set(c.name,p)}else r.set(c.name,p)}}return r},"getAffectedPackagesFromCatalogChanges");var Gt=Object.defineProperty,E=b((e,t)=>Gt(e,"name",{value:t,configurable:!0}),"p$2");const{debug:_}=j.withScope("msr:inlinePlugin"),Kt=E((e,t,r)=>{const{cwd:n}=t;let a=null,o=!1;return E(i=>{const{dir:d,name:c,plugins:u}=i,p=`[${c}]`,g={analyzeCommits:E(async(f,s)=>{if(!s.branch)throw new Error("context.branch is required");s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),i._preRelease=s.branch.prerelease||null,i._branch=s.branch.name,s.branch.channel&&_(p,`Branch channel: ${s.branch.channel}`),s.cwd=d;const v=r.firstParent?s.branch.name:void 0;if(s.commits=await B(n,d,s.lastRelease?s.lastRelease.gitHead:void 0,s.nextRelease?s.nextRelease.gitHead:void 0,v),i._lastRelease=s.lastRelease,!o&&s.lastRelease?.gitHead)try{const m=await Wt(n,s.lastRelease.gitHead,s.nextRelease?.gitHead);Object.keys(m).length>0?(a=Jt(e,m),o=!0,_(p,`Detected catalog changes affecting ${a.size} packages`)):o=!0}catch(m){_(p,"Failed to detect catalog changes:",m),o=!0}let h;a&&a.has(i.name)&&(h=a.get(i.name),_(p,`Catalog change triggers ${h} release`));let l;if(u.analyzeCommits&&(l=await u.analyzeCommits(s)||void 0),!l&&h)l=h;else if(l&&h){const m={major:3,minor:2,patch:1},y=m[l]||0;(m[h]||0)>y&&(l=h)}return i._nextType=l,i._analyzed=!0,r.deps&&(i._nextType=me(i,r.deps.bump,r.deps.release,[],r.deps.prefix)),_(p,"commits analyzed"),_(p,`release type: ${i._nextType}`),i._nextType??null},"analyzeCommits"),generateNotes:E(async(f,s)=>{s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),s.cwd=d,i._nextRelease=s.nextRelease,s.nextRelease?.channel&&_(p,`Release channel: ${s.nextRelease.channel}`);const v=[];if(s.lastRelease&&s.lastRelease.gitTag&&(!s.lastRelease.gitHead||s.lastRelease.gitHead===s.lastRelease.gitTag)){const y=await ae("git",["rev-parse","--show-toplevel"],{cwd:s.cwd}),w=S(y.stdout);s.lastRelease.gitHead=await Ae(s.lastRelease.gitTag,{cwd:w,env:s.env})}if(!s.branch)throw new Error("context.branch is required");const h=r.firstParent?s.branch.name:void 0;s.commits=await B(n,d,s.lastRelease?s.lastRelease.gitHead:void 0,s.nextRelease?s.nextRelease.gitHead:void 0,h);let l;u.generateNotes&&(l=await u.generateNotes(s)),l&&v.push(l.replace(/^(#+) (\[?\d+\.\d+\.\d+\]?)/u,`$1 ${c} $2`));const m=i.localDeps.filter(y=>y._nextRelease);if(m.length>0){v.push("### Dependencies");const y=m.map(w=>{const O=w._nextRelease;return O?`* **${w.name}:** upgraded to ${O.version}`:""}).filter(Boolean);v.push(y.join(`
1
+ var $e=Object.defineProperty;var b=(e,t)=>$e(e,"name",{value:t,configurable:!0});import{createRequire as je}from"node:module";import{topo as Te}from"@semrel-extra/topo";import U from"debug";import{transform as De,isEqual as Ee,isObject as X,pickBy as Z,castArray as H,sortBy as Ce,template as Se}from"lodash-es";import Me from"semantic-release";import Ne from"semantic-release/package.json"with{type:"json"};import{execa as ae}from"execa";import{getTagHead as Ae}from"semantic-release/lib/git.js";import ee from"git-log-parser";import oe from"signale";import{WritableStreamBuffer as ce}from"stream-buffers";import $,{gt as He,prerelease as Le,rcompare as qe}from"semver";import ze from"detect-indent";import{detectNewline as Be}from"detect-newline";import{isAccessibleSync as le,readJson as We}from"@visulima/fs";import{readYamlSync as Ue}from"@visulima/fs/yaml";import{resolve as pe}from"@visulima/path";import{cosmiconfig as ue}from"cosmiconfig";import Je from"resolve-from";import Ge from"semantic-release/lib/get-config.js";const _e=je(import.meta.url),A=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,q=b(e=>{if(typeof A<"u"&&A.versions&&A.versions.node){const[t,r]=A.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return A.getBuiltinModule(e)}return _e(e)},"__cjs_getBuiltinModule"),{isAbsolute:K,normalize:ke,join:Oe,parse:Re,relative:xe,dirname:Pe}=q("node:path"),{existsSync:Y,lstatSync:Q,readFileSync:Ve,writeFileSync:Fe}=q("node:fs"),{Writable:ie}=q("node:stream"),{createRequire:Ie}=q("node:module");var Ke="3.2.2";const Ye={version:Ke};var Qe=Object.defineProperty,Xe=b((e,t)=>Qe(e,"name",{value:t,configurable:!0}),"t$4");const{Signale:Ze}=oe,I=["error","warn","info","debug","trace"],et=Xe((e,t)=>{const r=I.indexOf(e),n=I.indexOf(t);return r!==-1&&n!==-1&&r<=n},"assertLevel"),te={complete:"info",failure:"error",log:"info",success:"info"},j={config:{_level:"info",_signale:{},_stderr:process.stderr,_stdout:process.stdout,set level(e){e&&(this._level=e)},get level(){return this._level},set stdio([e,t]){this._stdout=t,this._stderr=e,this._signale=new Ze({config:{displayLabel:!1,displayTimestamp:!0},stream:t,types:{complete:{badge:"🎉",color:"green",label:"",stream:[t]},error:{badge:"✖",color:"red",label:"",stream:[e]},log:{badge:"•",color:"magenta",label:"",stream:[t]},success:{badge:"✔",color:"green",label:"",stream:[t]}}})},get stdio(){return[this._stderr,this._stdout]}},prefix:"msr:",withScope(e){return{...this,debug:U(e||this.prefix),prefix:e}},...[...I,...Object.keys(te)].reduce((e,t)=>(e[t]=function(...r){et(te[t]||t,this.config.level)&&(this.config._signale[t]||console[t]||(()=>{}))(this.prefix,...r)},e),{}),debug:U("msr:")};var tt=Object.defineProperty,rt=b((e,t)=>tt(e,"name",{value:t,configurable:!0}),"t$3");class Ar extends Error{static{b(this,"ValueError")}static{rt(this,"ValueError")}constructor(t){super(t),this.name="ValueError"}}var st=Object.defineProperty,T=b((e,t)=>st(e,"name",{value:t,configurable:!0}),"t$2");const nt=T(e=>K(e)&&Y(e)&&Q(e).isDirectory(),"isDirectory"),at=T(e=>e instanceof ie||e instanceof ce,"isStream"),ot=T(e=>K(e),"isAbsolute"),it=T(e=>typeof e=="string"&&e.length>0,"isPath"),ct=T(e=>e!==null&&typeof e=="object"&&!Array.isArray(e),"isObjectLike"),lt=T(e=>e===void 0?!0:typeof e=="string"&&/^[a-f0-9]{40}$/i.test(e),"isAlphanumeric40"),pt=T(e=>typeof e=="string"&&e.length>0,"isStringPlus"),ut=T(e=>typeof e=="string"&&/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(e),"isKebab"),dt=T(e=>typeof e=="string"&&e===e.toLowerCase(),"isLower"),gt=T(e=>Number.isInteger(e),"isInteger"),k=T((e,t)=>{const[r,n]=t.split(":").map(i=>i.trim()),a=n?.endsWith("?"),o=a&&n?n.slice(0,-1):n;if(!(a&&e==null)){if(o?.endsWith("[]")){const i=o.slice(0,-2);if(!Array.isArray(e))throw new TypeError(`${r}: Must be an array`);for(const u of e)k(u,`${r}[item]: ${i}`);return}switch(o){case"absolute":{if(!(typeof e=="string"&&ot(e)))throw new TypeError(`${r}: Must be an absolute path`);break}case"alphanumeric{40}":{if(!lt(e))throw new TypeError(`${r}: Must be alphanumeric string with size 40 or empty`);break}case"directory":{if(!(typeof e=="string"&&nt(e)))throw new TypeError(`${r}: Must be directory that exists in the filesystem`);break}case"integer":{if(!(typeof e=="number"&&gt(e)))throw new TypeError(`${r}: Must be an integer`);break}case"kebab":{if(!(typeof e=="string"&&ut(e)))throw new TypeError(`${r}: Must be a kebab-case string`);break}case"lower":{if(!(typeof e=="string"&&dt(e)))throw new TypeError(`${r}: Must be a lowercase string`);break}case"objectlike":{if(!ct(e))throw new TypeError(`${r}: Must be an object`);break}case"path":{if(!(typeof e=="string"&&it(e)))throw new TypeError(`${r}: Must be valid path`);break}case"stream":{if(!at(e))throw new TypeError(`${r}: Must be an instance of stream.Writable or WritableStreamBuffer`);break}case"string":{if(typeof e!="string")throw new TypeError(`${r}: Must be a string`);break}case"string+":{if(!pt(e))throw new TypeError(`${r}: Must be a non-empty string`);break}default:if(e==null)throw new TypeError(`${r}: Must not be null or undefined`)}}},"validate");var ft=Object.defineProperty,mt=b((e,t)=>ft(e,"name",{value:t,configurable:!0}),"r$3");const S=mt((e,t=process.cwd())=>{k(e,"path: path"),k(t,"cwd: absolute");const r=ke(K(e)?e:Oe(t,e)),{root:n}=Re(r);let a=r.length;for(;a>n.length&&(r[a-1]==="/"||r[a-1]==="\\");)a-=1;return a===r.length?r:r.slice(0,a)},"cleanPath");var yt=Object.defineProperty,M=b((e,t)=>yt(e,"name",{value:t,configurable:!0}),"n$1");const ht=M(e=>e.readable?new Promise((t,r)=>{if(!e.readable){t([]);return}let n=[];const a=M(()=>{n=[],e.removeListener("data",o),e.removeListener("end",i),e.removeListener("error",u),e.removeListener("close",c)},"cleanup"),o=M(d=>{n.push(d)},"onData"),i=M(()=>{t(n),a()},"onEnd"),u=M(d=>{r(d),a()},"onError"),c=M(()=>{t(n),a()},"onClose");e.on("data",o),e.on("end",i),e.on("error",u),e.on("close",c)}):Promise.resolve([]),"streamToArray");var bt=Object.defineProperty,vt=b((e,t)=>bt(e,"name",{value:t,configurable:!0}),"f");const{debug:re}=j.withScope("msr:commitsFilter"),B=vt(async(e,t,r,n,a)=>{if(k(e,"cwd: directory"),e=S(e),k(t,"dir: path"),t=S(t,e),!Y(t)||!Q(t).isDirectory())throw new TypeError("dir: Must be a path to an existing directory");if(k(r,"lastRelease: alphanumeric{40}?"),k(n,"nextRelease: alphanumeric{40}?"),t.indexOf(e)!==0)throw new TypeError("dir: Must be inside cwd");if(t===e)throw new TypeError("dir: Must not be equal to cwd");const o=await ae("git",["rev-parse","--show-toplevel"],{cwd:e}),i=S(o.stdout);Object.assign(ee.fields,{committerDate:{key:"ci",type:Date},gitTags:"d",hash:"H",message:"B"});const u=xe(i,t),c=a?["--first-parent",a]:[],d=(r?`${r}..`:"")+(n||"HEAD"),p=[...c,d,"--",u],g=ee.parse({_:p},{cwd:i,env:process.env}),f=await ht(g);return f.forEach(s=>{s.message=s.message.trim(),s.gitTags=s.gitTags.trim()}),re("git log filter query: %o",p),re("filtered commits: %O",f),f},"getCommitsFiltered");var wt=Object.defineProperty,J=b((e,t)=>wt(e,"name",{value:t,configurable:!0}),"a$2");const $t=J(e=>{if(!Y(e))throw new ReferenceError(`package.json file not found: "${e}"`);let t;try{t=Q(e)}catch{throw new ReferenceError(`package.json cannot be read: "${e}"`)}if(!t.isFile())throw new ReferenceError(`package.json is not a file: "${e}"`);try{return Ve(e,"utf8")}catch{throw new ReferenceError(`package.json cannot be read: "${e}"`)}},"readManifest"),de=J(e=>{const t=$t(e);let r;try{r=JSON.parse(t)}catch{throw new SyntaxError(`package.json could not be parsed: "${e}"`)}if(typeof r!="object"||r===null)throw new SyntaxError(`package.json was not an object: "${e}"`);const n=r;if(typeof n.name!="string"||n.name.length===0)throw new SyntaxError(`Package name must be non-empty string: "${e}"`);const a=J(o=>{if(Object.prototype.hasOwnProperty.call(n,o)&&typeof n[o]!="object")throw new SyntaxError(`Package ${o} must be object: "${e}"`)},"checkDeps");return a("dependencies"),a("devDependencies"),a("peerDependencies"),a("optionalDependencies"),Object.defineProperty(n,"__contents__",{enumerable:!1,value:t}),n},"getManifest");var jt=Object.defineProperty,ge=b((e,t)=>jt(e,"name",{value:t,configurable:!0}),"r$2");const _t=ge((e,t,r)=>e&&t&&r?e(t,r)?t:r:t||r,"selectVersionBy"),kt=_t.bind(null,He),Ot=ge((e,t)=>e.filter(r=>t||!Le(r)).toSorted(qe)[0],"getLatestVersion");var Rt=Object.defineProperty,xt=b((e,t)=>Rt(e,"name",{value:t,configurable:!0}),"e$1");const Pt=xt(e=>({indent:ze(e).indent,trailingWhitespace:Be(e)||""}),"recognizeFormat");var Tt=Object.defineProperty,R=b((e,t)=>Tt(e,"name",{value:t,configurable:!0}),"o$2");const{debug:W}=j.withScope("msr:updateDeps"),Dt=R((e,t,r)=>{const n=e?$.inc(e,"prerelease",r):void 0,a=$.inc(t,"prerelease",r)||void 0;return n?kt(a,n):a},"nextPreHighestVersion"),Et=R((e,t,r,n)=>{if(!$.prerelease(t)){if(!$.parse(t))return;const o=$.inc(t,r||"patch");return o?`${o}-${n}.1`:void 0}const a=Ot(e,!0);return Dt(a,t,n)},"nextPreVersionCases"),G=R((e,t,r,n,a)=>{const o=["patch","minor","major"],{localDeps:i,manifest:u={}}=e,c=e._lastRelease?.version,{dependencies:d={},devDependencies:p={},optionalDependencies:g={},peerDependencies:f={}}=u,s=[d,p,f,g],v=R((m,y,w)=>{const O=m[y];if(!w||!O)return!1;const V=Vt(O,w,t,a);return O!==V?(m[y]=V,!0):!1},"bumpDependency");let h;const l=i.filter(m=>!n.includes(m)).reduce((m,y)=>{const w=me(y,t,r,[...n,e],a);let O;if(w?O=(y._preRelease?At(y):Mt(y))||void 0:O=y._lastRelease?.version,!w&&y.localDeps&&y.localDeps.length>0){const N=G(y,t,r,[...n,e],a);if(N){const z=o.indexOf(N),we=h?o.indexOf(h):-1;z>we&&(h=N)}}if(!s.reduce((N,z)=>v(z,y.name,O)||N,!c)||!w)return m;if(!m)return w;const V=o.indexOf(w),ve=o.indexOf(m);return V>ve?w:m},void 0);return!l&&h?h:l},"getDependentRelease"),Ct=R((e,t)=>{if(e.startsWith("workspace:")){const r=/^workspace:(([\^~*])?.*)$/u.exec(e);if(!r)return e;const[,n,a]=r;return a===n?a==="*"?t:a+t:n}return e},"substituteWorkspaceVersion"),fe=R((e,t)=>De(e,(r,n,a)=>{Ee(n,t[a])||(r[a]=X(n)&&X(t[a])?JSON.stringify(fe(n,t[a])):`${t[a]} → ${n}`)})||{},"difference"),St=R((e,t)=>{const r=`[${e.name}]`,n=de(t),a=["dependencies","devDependencies","peerDependencies","optionalDependencies"].reduce((o,i)=>{const u=fe(e[i],n[i]);return Object.keys(u).length>0&&(o[i]=u),o},{});return W(r,"package.json path=",t),Object.keys(a).length>0?(W(r,"changes=",a),!0):(W(r,"no deps changes"),!1)},"auditManifestChanges"),Mt=R(e=>{const t=e._lastRelease?.version;return t&&typeof e._nextType=="string"?$.inc(t,e._nextType):t||"1.0.0"},"getNextVersion"),Nt=R(e=>{const t=$.parse(e);if(!t)return null;const r=t.prerelease[0];return r==null?null:String(r)},"getPreReleaseTag"),At=R(e=>{const t=e._lastRelease?.version,r=Nt(t||"");return r!==null&&r!==e._preRelease||!t?`1.0.0-${e._preRelease}.1`:Et([],t||"",e._nextType||"patch",e._preRelease||"")},"getNextPreVersion"),me=R((e,t="override",r="patch",n=[],a="")=>{const o=G(e,t,r,n,a);if(e._nextType)return e._nextType;if(!o&&e.localDeps&&e.localDeps.length>0&&e.manifest){const i=e.manifest,{dependencies:u={},devDependencies:c={},optionalDependencies:d={},peerDependencies:p={}}=i,g={...u,...c,...d,...p};if(e.localDeps.some(f=>!f.name||g[f.name]===void 0?!1:f._nextType?!0:f.localDeps&&f.localDeps.length>0?G(f,t,r,[...n,e],a)!==void 0:!1)&&r!=="inherit")return e._nextType=r,e._nextType}if(o)return e._nextType=r==="inherit"?o:r,e._nextType},"resolveReleaseType"),Vt=R((e,t,r="override",n="")=>{if(e=Ct(e,t),r==="ignore"||e===t||(r==="satisfy"||r==="inherit")&&$.satisfies(t,e))return e;if(r==="inherit"){const a=t.split(".");return e.split(".").map((o,i)=>a[i]?o.replace(/\d+/u,a[i]):o).join(".")}return n+t},"resolveNextVersion"),Ft=R(e=>{const{manifest:t,path:r}=e,{indent:n,trailingWhitespace:a}=Pt(t.__contents__);t.version=e?._nextRelease?.version||t.version,e.localDeps.forEach(o=>{const i=o._nextRelease||o._lastRelease;if(!i||!i.version)throw new Error(`Cannot release ${e.name} because dependency ${o.name} has not been released yet`)}),St(t,r)&&Fe(r,JSON.stringify(t,null,n)+a)},"updateManifestDeps");var Ht=Object.defineProperty,D=b((e,t)=>Ht(e,"name",{value:t,configurable:!0}),"c$2");const{debug:C}=j.withScope("msr:catalogChanges"),Lt=D(e=>{const t=pe(e,"pnpm-workspace.yaml");if(!le(t))return null;try{return Ue(t).catalogs||null}catch(r){return C("Failed to parse pnpm-workspace.yaml:",r),null}},"parsePnpmCatalog"),qt=D(async e=>{const t=pe(e,"package.json");if(!le(t))return null;try{return(await We(t)).catalogs||null}catch(r){return C("Failed to parse package.json for yarn catalog:",r),null}},"parseYarnCatalog"),zt=D(async e=>Lt(e)||qt(e),"getCatalogDefinitions"),Bt=D(async(e,t)=>{const{execa:r}=await import("execa");try{try{const n=await r("git",["show",`${t}:pnpm-workspace.yaml`],{cwd:e,reject:!1});if(n.exitCode===0&&n.stdout){const{parse:a}=await import("yaml"),o=a(n.stdout);if(o?.catalogs)return o.catalogs}}catch{}try{const n=await r("git",["show",`${t}:package.json`],{cwd:e,reject:!1});if(n.exitCode===0&&n.stdout)return JSON.parse(n.stdout).catalogs||null}catch{}}catch(n){C(`Failed to get catalog definitions at commit ${t}:`,n)}return null},"getCatalogDefinitionsAtCommit"),Wt=D((e,t)=>{const r=D(o=>o.replace(/^[\^~]/,"").trim(),"extractVersion"),n=r(e),a=r(t);return!$.valid(n)||!$.valid(a)||$.eq(n,a)?null:$.major(n)!==$.major(a)?"major":$.minor(n)!==$.minor(a)?"minor":$.patch(n)!==$.patch(a)?"patch":null},"getReleaseTypeFromVersionChange"),Ut=D(async(e,t,r)=>{e=S(e);const n=await zt(e);if(!n)return C("No catalog definitions found"),{};if(!t)return C("No last release found, skipping catalog change detection"),{};const a=await Bt(e,t);if(!a)return C("No old catalog definitions found at last release"),{};const o={};for(const[i,u]of Object.entries(n)){const c=a[i];if(c)for(const[d,p]of Object.entries(u)){const g=c[d];if(g&&g!==p){const f=Wt(g,p);f&&(o[i]||(o[i]={}),o[i][d]={newVersion:p,oldVersion:g,releaseType:f},C(`Catalog change detected: ${i}:${d} ${g} -> ${p} (${f})`))}}}return o},"detectCatalogChanges"),It=D((e,t,r)=>{const n=`catalog:${t}`,a=[];for(const o of e){const{manifest:i}=o,u=[i.dependencies,i.devDependencies,i.peerDependencies,i.optionalDependencies].filter(Boolean);for(const c of u)for(const[d,p]of Object.entries(c))if(p===n){if(r&&d!==r)continue;a.push(o);break}}return a},"findPackagesUsingCatalog"),Jt=D((e,t)=>{const r=new Map;for(const[n,a]of Object.entries(t))for(const[o,i]of Object.entries(a)){const u=It(e,n,o);for(const c of u){const d=r.get(c.name),p=i.releaseType;if(p)if(d){const g={major:3,minor:2,patch:1},f=g[d];g[p]>f&&r.set(c.name,p)}else r.set(c.name,p)}}return r},"getAffectedPackagesFromCatalogChanges");var Gt=Object.defineProperty,E=b((e,t)=>Gt(e,"name",{value:t,configurable:!0}),"p$2");const{debug:_}=j.withScope("msr:inlinePlugin"),Kt=E((e,t,r)=>{const{cwd:n}=t;let a=null,o=!1;return E(i=>{const{dir:u,name:c,plugins:d}=i,p=`[${c}]`,g={analyzeCommits:E(async(f,s)=>{if(!s.branch)throw new Error("context.branch is required");s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),i._preRelease=s.branch.prerelease||null,i._branch=s.branch.name,s.branch.channel&&_(p,`Branch channel: ${s.branch.channel}`),s.cwd=u;const v=r.firstParent?s.branch.name:void 0;if(s.commits=await B(n,u,s.lastRelease?s.lastRelease.gitHead:void 0,s.nextRelease?s.nextRelease.gitHead:void 0,v),i._lastRelease=s.lastRelease,!o&&s.lastRelease?.gitHead)try{const m=await Ut(n,s.lastRelease.gitHead,s.nextRelease?.gitHead);Object.keys(m).length>0?(a=Jt(e,m),o=!0,_(p,`Detected catalog changes affecting ${a.size} packages`)):o=!0}catch(m){_(p,"Failed to detect catalog changes:",m),o=!0}let h;a&&a.has(i.name)&&(h=a.get(i.name),_(p,`Catalog change triggers ${h} release`));let l;if(d.analyzeCommits&&(l=await d.analyzeCommits(s)||void 0),!l&&h)l=h;else if(l&&h){const m={major:3,minor:2,patch:1},y=m[l]||0;(m[h]||0)>y&&(l=h)}return i._nextType=l,i._analyzed=!0,r.deps&&(i._nextType=me(i,r.deps.bump,r.deps.release,[],r.deps.prefix)),_(p,"commits analyzed"),_(p,`release type: ${i._nextType}`),i._nextType??null},"analyzeCommits"),generateNotes:E(async(f,s)=>{s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),s.cwd=u,i._nextRelease=s.nextRelease,s.nextRelease?.channel&&_(p,`Release channel: ${s.nextRelease.channel}`);const v=[];if(s.lastRelease&&s.lastRelease.gitTag&&(!s.lastRelease.gitHead||s.lastRelease.gitHead===s.lastRelease.gitTag)){const y=await ae("git",["rev-parse","--show-toplevel"],{cwd:s.cwd}),w=S(y.stdout);s.lastRelease.gitHead=await Ae(s.lastRelease.gitTag,{cwd:w,env:s.env})}if(!s.branch)throw new Error("context.branch is required");const h=r.firstParent?s.branch.name:void 0;s.commits=await B(n,u,s.lastRelease?s.lastRelease.gitHead:void 0,s.nextRelease?s.nextRelease.gitHead:void 0,h);let l;d.generateNotes&&(l=await d.generateNotes(s)),l&&v.push(l.replace(/^(#+) (\[?\d+\.\d+\.\d+\]?)/u,`$1 ${c} $2`));const m=i.localDeps.filter(y=>y._nextRelease);if(m.length>0){v.push("### Dependencies");const y=m.map(w=>{const O=w._nextRelease;return O?`* **${w.name}:** upgraded to ${O.version}`:""}).filter(Boolean);v.push(y.join(`
2
2
  `))}return _(p,"notes generated"),v.join(`
3
3
 
4
- `)},"generateNotes"),prepare:E(async(f,s)=>{if(s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),r.dryRun){_(p,"skipping prepare in dry-run mode");return}if(Ft(i),i._depsUpdated=!0,s.cwd=d,!s.branch)throw new Error("context.branch is required");const v=r.firstParent?s.branch.name:void 0;s.commits=await B(n,d,s.lastRelease?s.lastRelease.gitHead:void 0,s.nextRelease?s.nextRelease.gitHead:void 0,v),u.prepare&&await u.prepare(s),i._prepared=!0,_(p,"prepared")},"prepare"),publish:E(async(f,s)=>{if(s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),r.dryRun)return _(p,"skipping publish in dry-run mode"),[];s.cwd=d;let v=[];if(u.publish){const h=await u.publish?.(s);h!==void 0&&(v=Array.isArray(h)?h:[h])}return i._published=!0,_(p,"published"),v.length>0?v[0]:{}},"publish"),verifyConditions:E(async(f,s)=>{s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),s.cwd=d,u.verifyConditions&&await u.verifyConditions(s),i._ready=!0,_(p,"verified conditions")},"verifyConditions"),verifyRelease:E(async(f,s)=>{s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),s.cwd=d,await u?.verifyRelease?.(s),_(p,"release verified")},"verifyRelease")};return Object.keys(g).forEach(f=>Reflect.defineProperty(g[f],"pluginName",{enumerable:!0,value:"Inline plugin",writable:!1})),_(p,"inlinePlugin created"),g},"createInlinePlugin")},"createInlinePluginCreator");var Yt=Object.defineProperty,Qt=b((e,t)=>Yt(e,"name",{value:t,configurable:!0}),"o$1");const x="release",Xt=["package.json",`.${x}rc`,`.${x}rc.json`,`.${x}rc.yaml`,`.${x}rc.yml`,`.${x}rc.js`,`.${x}rc.cjs`,`.${x}rc.mjs`,`${x}.config.js`,`${x}.config.cjs`,`${x}.config.mjs`],ye=Qt(async e=>(await de(x,{mergeSearchPlaces:!1,searchPlaces:Xt}).search(e))?.config??{},"getConfig");var Zt=Object.defineProperty,he=b((e,t)=>Zt(e,"name",{value:t,configurable:!0}),"r$1");const se=he(e=>e==null,"isNil"),F=he((e={},t={})=>({...e,...Z(t,r=>!se(r)),deps:{...e.deps,...Z(t.deps,r=>!se(r))},ignorePackages:[...new Set([...H(e.ignorePackages||[]),...H(t.ignorePackages||[])])]}),"mergeConfig");var er=Object.defineProperty,tr=b((e,t)=>er(e,"name",{value:t,configurable:!0}),"o");const P="multi-release",rr=["package.json",`.${P}rc`,`.${P}rc.json`,`.${P}rc.yaml`,`.${P}rc.yml`,`.${P}rc.js`,`.${P}rc.cjs`,`.${P}rc.mjs`,`${P}.config.js`,`${P}.config.cjs`,`${P}.config.mjs`],sr=tr(async(e,t)=>{const{config:r}=await de(P,{searchPlaces:rr}).search(e)||{},{extends:n,...a}={...r};let o=a;if(n){const i=Ie(import.meta.url),d=H(n).reduce((c,u)=>{const p=i(Je(e,u));return F(c,p)},{});o=F(o,d)}return o=F({branches:void 0,ci:void 0,debug:!1,deps:{bump:"override",prefix:"",release:"patch"},dryRun:void 0,firstParent:!1,ignorePackages:[],ignorePrivate:!0,logLevel:"info",sequentialInit:!1,sequentialPrepare:!0,silent:!1,tagFormat:"${name}@${version}"},o),F(o,t)},"getConfigMultiSemrel");var nr=Object.defineProperty,ar=b((e,t)=>nr(e,"name",{value:t,configurable:!0}),"t");const{Signale:or}=oe,ir=ar(async({cwd:e,env:t,stderr:r,stdout:n},a)=>{try{const o=new ce,i=new or({stream:o});return await Ge({cwd:e,env:t,logger:i,stderr:r,stdout:n},a)}catch(o){throw j.failure("Error in semantic-release getConfig(): %0",o),o}},"getConfigSemantic");var cr=Object.defineProperty,lr=b((e,t)=>cr(e,"name",{value:t,configurable:!0}),"s");class ne extends ie{static{b(this,"p")}static{lr(this,"RescopedStream")}_stream;_scope;constructor(t,r){super(),k(r,"scope: string"),k(t,"stream: stream"),this._stream=t,this._scope=r}write(t){return k(t,"msg: string"),this._stream.write(t.replace("[semantic-release]",`[${this._scope}]`))}}var pr=Object.defineProperty,dr=b((e,t)=>pr(e,"name",{value:t,configurable:!0}),"e");const be=dr(e=>e&&(e.startsWith("git+")?e.slice(4):e.startsWith("git://")?e.replace(/^git:\/\//u,"https://"):e),"normalizeRepositoryUrl");var ur=Object.defineProperty,L=b((e,t)=>ur(e,"name",{value:t,configurable:!0}),"P");const gr=L(async(e,{cwd:t,env:r,globalOptions:n,inputOptions:a,stderr:o,stdout:i})=>{e=S(e,t);const d=Pe(e),c=ue(e),{name:u}=c,p=Object.keys({...c.dependencies,...c.devDependencies,...c.peerDependencies,...c.optionalDependencies}),g=await ye(d),f={...n,...g,...a};if(!f.repositoryUrl&&c.repository){let l;typeof c.repository=="string"?l=c.repository:typeof c.repository=="object"&&c.repository!==null&&"url"in c.repository&&(l=c.repository.url),l&&(f.repositoryUrl=be(l))}const s=Object.fromEntries(Object.entries(r).filter(([,l])=>l!==void 0).map(([l,m])=>[l,String(m)])),{options:v,plugins:h}=await ir({cwd:d,env:s,stderr:o,stdout:i},f);return{deps:p,dir:d,localDeps:[],manifest:c,name:u,options:v,path:e,plugins:h}},"getPackage"),fr=L(async(e,t,r,n)=>{const{dir:a,name:o,options:i}=e,{env:d,stderr:c,stdout:u}=r,p=t(e),g={...i,...p},f={name:o,version:"${version}"},s="${name}@${version}";return g.tagFormat=Se(n.tagFormat||s)(f),g.debug=n.debug,g.dryRun=n.dryRun===void 0?g.dryRun:n.dryRun,g.ci=n.ci===void 0?g.ci:n.ci,g.branches=n.branches?H(n.branches):g.branches,g._pkgOptions=i,g.repositoryUrl&&typeof g.repositoryUrl=="string"&&(g.repositoryUrl=be(g.repositoryUrl)),e.result=await Me(g,{cwd:a,env:d,stderr:new ne(c,o),stdout:new ne(u,o)}),e},"releasePackage"),Vr=L(async(e,t={},{cwd:r=process.cwd(),env:n=process.env,stderr:a=process.stderr,stdout:o=process.stdout}={},i={})=>{e&&k(e,"paths: string[]"),k(r,"cwd: directory"),k(n,"env: objectlike"),k(o,"stdout: stream"),k(a,"stderr: stream"),r=S(r);const d=await sr(r,i),c={deps:{},...d,...i};if(j.config.stdio=[a,o],j.config.level=c.logLevel,c.silent&&(j.config.level="silent"),c.debug){j.config.level="debug";let l="";n.DEBUG&&(l=`,${n.DEBUG}`),W.enable(`msr:*,semantic-release:*${l}`)}j.info(`multi-semantic-release version: ${Ye.version}`),j.info(`semantic-release version: ${Ne.version}`),c.debug&&j.info(`flags: ${JSON.stringify(c,null,2)}`);const u=await ye(r),p={cwd:r,env:n,globalOptions:u,inputOptions:t,stderr:a,stdout:o},{packages:g,queue:f}=await Te({cwd:r,filter:L((l=>{const m=l.manifest;return(!c.ignorePrivate||!m.private)&&(e?e.includes(l.manifestAbsPath)||e.includes(l.manifestRelPath):!0)}),"filter"),workspacesExtra:Array.isArray(c.ignorePackages)?c.ignorePackages.map(l=>`!${l}`):[]});e=e||Object.values(g).map(l=>l.manifestPath),j.complete(`Started multirelease! Loading ${e.length} packages...`);let s=await Promise.all(e.map(l=>gr(l,p)));s=s.filter(l=>l!==void 0),s.forEach(l=>{l.localDeps=[...new Set(l.deps.map(m=>s.find(y=>m===y.name)).filter(Boolean))],j.success(`Loaded package ${l.name}`)}),j.complete(`Queued ${f.length} packages! Starting release...`);const v=Kt(s,p,c),h=await f.reduce(async(l,m)=>{const y=await l,w=s.find(({name:O})=>O===m);if(w){const{result:O}=await fr(w,v,p,c);if(O)return y+1}return y},Promise.resolve(0));return j.complete(`Released ${h} of ${f.length} packages, semantically!`),Ce(s,({name:l})=>f.indexOf(l))},"multiSemanticRelease");export{j as u,Vr as z};
4
+ `)},"generateNotes"),prepare:E(async(f,s)=>{if(s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),r.dryRun){_(p,"skipping prepare in dry-run mode");return}if(Ft(i),i._depsUpdated=!0,s.cwd=u,!s.branch)throw new Error("context.branch is required");const v=r.firstParent?s.branch.name:void 0;s.commits=await B(n,u,s.lastRelease?s.lastRelease.gitHead:void 0,s.nextRelease?s.nextRelease.gitHead:void 0,v),d.prepare&&await d.prepare(s),i._prepared=!0,_(p,"prepared")},"prepare"),publish:E(async(f,s)=>{if(s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),r.dryRun)return _(p,"skipping publish in dry-run mode"),[];s.cwd=u;let v=[];if(d.publish){const h=await d.publish?.(s);h!==void 0&&(v=Array.isArray(h)?h:[h])}return i._published=!0,_(p,"published"),v.length>0?v[0]:{}},"publish"),verifyConditions:E(async(f,s)=>{s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),s.cwd=u,d.verifyConditions&&await d.verifyConditions(s),i._ready=!0,_(p,"verified conditions")},"verifyConditions"),verifyRelease:E(async(f,s)=>{s.options||(s.options={}),Object.assign(s.options,i.options),Object.assign(s.options,s.options._pkgOptions||{}),s.cwd=u,await d?.verifyRelease?.(s),_(p,"release verified")},"verifyRelease")};return Object.keys(g).forEach(f=>Reflect.defineProperty(g[f],"pluginName",{enumerable:!0,value:"Inline plugin",writable:!1})),_(p,"inlinePlugin created"),g},"createInlinePlugin")},"createInlinePluginCreator");var Yt=Object.defineProperty,Qt=b((e,t)=>Yt(e,"name",{value:t,configurable:!0}),"o$1");const x="release",Xt=["package.json",`.${x}rc`,`.${x}rc.json`,`.${x}rc.yaml`,`.${x}rc.yml`,`.${x}rc.js`,`.${x}rc.cjs`,`.${x}rc.mjs`,`${x}.config.js`,`${x}.config.cjs`,`${x}.config.mjs`],ye=Qt(async e=>(await ue(x,{mergeSearchPlaces:!1,searchPlaces:Xt}).search(e))?.config??{},"getConfig");var Zt=Object.defineProperty,he=b((e,t)=>Zt(e,"name",{value:t,configurable:!0}),"r");const se=he(e=>e==null,"isNil"),F=he((e={},t={})=>({...e,...Z(t,r=>!se(r)),deps:{...e.deps,...Z(t.deps,r=>!se(r))},ignorePackages:[...new Set([...H(e.ignorePackages||[]),...H(t.ignorePackages||[])])]}),"mergeConfig");var er=Object.defineProperty,tr=b((e,t)=>er(e,"name",{value:t,configurable:!0}),"o");const P="multi-release",rr=["package.json",`.${P}rc`,`.${P}rc.json`,`.${P}rc.yaml`,`.${P}rc.yml`,`.${P}rc.js`,`.${P}rc.cjs`,`.${P}rc.mjs`,`${P}.config.js`,`${P}.config.cjs`,`${P}.config.mjs`],sr=tr(async(e,t)=>{const{config:r}=await ue(P,{searchPlaces:rr}).search(e)||{},{extends:n,...a}={...r};let o=a;if(n){const i=Ie(import.meta.url),u=H(n).reduce((c,d)=>{const p=i(Je(e,d));return F(c,p)},{});o=F(o,u)}return o=F({branches:void 0,ci:void 0,debug:!1,deps:{bump:"override",prefix:"",release:"patch"},dryRun:void 0,firstParent:!1,ignorePackages:[],ignorePrivate:!0,logLevel:"info",sequentialInit:!1,sequentialPrepare:!0,silent:!1,tagFormat:"${name}@${version}"},o),F(o,t)},"getConfigMultiSemrel");var nr=Object.defineProperty,ar=b((e,t)=>nr(e,"name",{value:t,configurable:!0}),"t");const{Signale:or}=oe,ir=ar(async({cwd:e,env:t,stderr:r,stdout:n},a)=>{try{const o=new ce,i=new or({stream:o});return await Ge({cwd:e,env:t,logger:i,stderr:r,stdout:n},a)}catch(o){throw j.failure("Error in semantic-release getConfig(): %0",o),o}},"getConfigSemantic");var cr=Object.defineProperty,lr=b((e,t)=>cr(e,"name",{value:t,configurable:!0}),"s$1");class ne extends ie{static{b(this,"p")}static{lr(this,"RescopedStream")}_stream;_scope;constructor(t,r){super(),k(r,"scope: string"),k(t,"stream: stream"),this._stream=t,this._scope=r}write(t){return k(t,"msg: string"),this._stream.write(t.replace("[semantic-release]",`[${this._scope}]`))}}var pr=Object.defineProperty,ur=b((e,t)=>pr(e,"name",{value:t,configurable:!0}),"i");const be=ur(e=>e&&(/^[^:]+:\/\/[^@]+@/u.test(e)?e.startsWith("git+")?e.slice(4):e:e.startsWith("git+")?e.slice(4):e.startsWith("git://")?e.replace(/^git:\/\//u,"https://"):e),"normalizeRepositoryUrl");var dr=Object.defineProperty,L=b((e,t)=>dr(e,"name",{value:t,configurable:!0}),"P");const gr=L(async(e,{cwd:t,env:r,globalOptions:n,inputOptions:a,stderr:o,stdout:i})=>{e=S(e,t);const u=Pe(e),c=de(e),{name:d}=c,p=Object.keys({...c.dependencies,...c.devDependencies,...c.peerDependencies,...c.optionalDependencies}),g=await ye(u),f={...n,...g,...a};if(!f.repositoryUrl&&c.repository){let l;typeof c.repository=="string"?l=c.repository:typeof c.repository=="object"&&c.repository!==null&&"url"in c.repository&&(l=c.repository.url),l&&(l.startsWith("git+")||l.startsWith("git://"))&&(f.repositoryUrl=be(l))}const s=Object.fromEntries(Object.entries(r).filter(([,l])=>l!==void 0).map(([l,m])=>[l,String(m)])),{options:v,plugins:h}=await ir({cwd:u,env:s,stderr:o,stdout:i},f);return{deps:p,dir:u,localDeps:[],manifest:c,name:d,options:v,path:e,plugins:h}},"getPackage"),fr=L(async(e,t,r,n)=>{const{dir:a,name:o,options:i}=e,{env:u,stderr:c,stdout:d}=r,p=t(e),g={...i,...p},f={name:o,version:"${version}"},s="${name}@${version}";return g.tagFormat=Se(n.tagFormat||s)(f),g.debug=n.debug,g.dryRun=n.dryRun===void 0?g.dryRun:n.dryRun,g.ci=n.ci===void 0?g.ci:n.ci,g.branches=n.branches?H(n.branches):g.branches,g._pkgOptions=i,g.repositoryUrl&&typeof g.repositoryUrl=="string"&&(g.repositoryUrl=be(g.repositoryUrl)),e.result=await Me(g,{cwd:a,env:u,stderr:new ne(c,o),stdout:new ne(d,o)}),e},"releasePackage"),Vr=L(async(e,t={},{cwd:r=process.cwd(),env:n=process.env,stderr:a=process.stderr,stdout:o=process.stdout}={},i={})=>{e&&k(e,"paths: string[]"),k(r,"cwd: directory"),k(n,"env: objectlike"),k(o,"stdout: stream"),k(a,"stderr: stream"),r=S(r);const u=await sr(r,i),c={deps:{},...u,...i};if(j.config.stdio=[a,o],j.config.level=c.logLevel,c.silent&&(j.config.level="silent"),c.debug){j.config.level="debug";let l="";n.DEBUG&&(l=`,${n.DEBUG}`),U.enable(`msr:*,semantic-release:*${l}`)}j.info(`multi-semantic-release version: ${Ye.version}`),j.info(`semantic-release version: ${Ne.version}`),c.debug&&j.info(`flags: ${JSON.stringify(c,null,2)}`);const d=await ye(r),p={cwd:r,env:n,globalOptions:d,inputOptions:t,stderr:a,stdout:o},{packages:g,queue:f}=await Te({cwd:r,filter:L((l=>{const m=l.manifest;return(!c.ignorePrivate||!m.private)&&(e?e.includes(l.manifestAbsPath)||e.includes(l.manifestRelPath):!0)}),"filter"),workspacesExtra:Array.isArray(c.ignorePackages)?c.ignorePackages.map(l=>`!${l}`):[]});e=e||Object.values(g).map(l=>l.manifestPath),j.complete(`Started multirelease! Loading ${e.length} packages...`);let s=await Promise.all(e.map(l=>gr(l,p)));s=s.filter(l=>l!==void 0),s.forEach(l=>{l.localDeps=[...new Set(l.deps.map(m=>s.find(y=>m===y.name)).filter(Boolean))],j.success(`Loaded package ${l.name}`)}),j.complete(`Queued ${f.length} packages! Starting release...`);const v=Kt(s,p,c),h=await f.reduce(async(l,m)=>{const y=await l,w=s.find(({name:O})=>O===m);if(w){const{result:O}=await fr(w,v,p,c);if(O)return y+1}return y},Promise.resolve(0));return j.complete(`Released ${h} of ${f.length} packages, semantically!`),Ce(s,({name:l})=>f.indexOf(l))},"multiSemanticRelease");export{Vr as q,j as u};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anolilab/multi-semantic-release",
3
- "version": "3.2.2",
3
+ "version": "3.2.3-alpha.1",
4
4
  "description": "A multi semantic release tool for a monorepo.",
5
5
  "keywords": [
6
6
  "anolilab",