import{A as e,F as t,I as n,S as r,_ as i,b as a,g as o,h as s,j as c,k as l,u,v as d,w as f}from"./utils-CAuP846_.js";import{a as p,i as m,n as ee,o as te,r as ne,t as re}from"./dist-Bc2tm86q.js";import{styleText as ie}from"node:util";import{randomUUID as ae}from"node:crypto";import h from"node:fs/promises";import g from"node:path";import oe from"node:os";var se=n(o(),1),_=new Proxy({},{get(e,t){return e[t]??=e=>ie(t,e),e[t]}});const ce=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`],le=(e,t)=>{let n=new Map;for(let r of ce){let i=e[r];if(i)for(let e of Object.keys(i)){let a=i[e];r===`devDependencies`&&(t||a.startsWith(`link:`)||a.startsWith(`file:`))||n.set(e,a)}}return n},v=e=>e.includes(`:`),y=e=>{if(v(e))return null;try{return new se.default(e)}catch{return null}};function ue(e,t,{ignoreDevDependencies:n=!1,bumpVersionsWithWorkspaceProtocolOnly:r=!1}={}){let i=new Map,a=!0,o={[t.packageJson.name]:t},s={[t.packageJson.name]:`.`},c=[t];for(let n of e.packages)c.push(n),o[n.packageJson.name]=n,s[n.packageJson.name]=g.relative(t.dir,n.dir).replace(/\\/g,`/`);for(let e of c){let{name:t}=e.packageJson,c=[],l=le(e.packageJson,n);for(let[e,n]of l){let i=o[e];if(!i)continue;let l=i.packageJson.version,u=n;if(n.startsWith(`workspace:`)){if(n=n.replace(/^workspace:/,``),n===`*`||n===`^`||n===`~`){c.push(e);continue}if(g.posix.normalize(n)===s[e]){c.push(e);continue}if(!y(n)){a=!1,console.error(`Package ${_.blue(t)} must depend on the current version of ${_.blue(e)}: ${_.green(l)} vs ${_.red(u)}`);continue}}else if(r)continue;let d=y(n);if(d&&!d.test(l)||v(n)){a=!1,console.error(`Package ${_.blue(t)} must depend on the current version of ${_.blue(e)}: ${_.green(l)} vs ${_.red(u)}`);continue}d&&c.push(e)}i.set(t,{pkg:e,dependencies:c})}return{graph:i,valid:a}}function b(e,t){let n=new Map,r=e.rootPackage;if(r==null)return new Map;let{graph:i}=ue(e,r,t),a={[r.packageJson.name]:{pkg:r,dependents:[]}};e.packages.forEach(e=>{a[e.packageJson.name]={pkg:e,dependents:[]}}),e.packages.forEach(e=>{let t=e.packageJson.name,n=i.get(t);n&&n.dependencies.forEach(e=>{a[e].dependents.push(t)})}),Object.keys(a).forEach(e=>{n.set(e,a[e])});let o=new Map;return n.forEach((e,t)=>{o.set(t,e.dependents)}),o}function x({packageJson:e},{ignore:t,allowPrivatePackages:n}){return t.includes(e.name)||e.private&&!n?!0:!e.version}var de=t(((e,t)=>{let n=d();t.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(e){if(!r)return null;throw e}}})),fe=t(((e,t)=>{let n=o();t.exports=(e,t)=>{try{return new n(e,t).range||`*`}catch{return null}}})),pe=t(((e,t)=>{let n=d();t.exports=(e,t,r,i,a)=>{typeof r==`string`&&(a=i,i=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,i,a).version}catch{return null}}})),me=n(de(),1),he=n(i(),1),ge=n(s(),1),_e=n(fe(),1),ve=n(pe(),1);function ye(e){if(e.length===0)throw Error(`Large internal Changesets error when calculating highest release type in the set of releases. Please contact the maintainers`);let t=`none`;for(let n of e)switch(n.type){case`major`:return`major`;case`minor`:t=`minor`;break;case`patch`:t===`none`&&(t=`patch`);break}return t}function S(e,t){let n;for(let r of e){let i=C(t,r,`We were unable to version for package group: ${r} in package group: ${e.toString()}`);(n==null||(0,he.default)(i.packageJson.version,n))&&(n=i.packageJson.version)}return n}function be(e,t,n){let r=e.get(t);if(r==null)throw Error(n);return r}function C(e,t,n){let r=e.get(t);if(r==null)throw new p(n);return r}function xe(e,t,n){let r=!1;for(let i of n){let n=[...e.values()].filter(e=>i.includes(e.name)&&e.type!==`none`);if(n.length===0)continue;let a=ye(n),o=S(i,t);for(let e of n)e.type!==a&&(r=!0,e.type=a),e.oldVersion!==o&&(r=!0,e.oldVersion=o)}return r}function w(e,t){if(e.type===`none`)return e.oldVersion;let n=(0,ve.default)(e.oldVersion,e.type);if(t!=null&&t.state.mode!==`exit`){let r=C(t.preVersions,e.name,`preVersion for ${e.name} does not exist when preState is defined`);n+=`-${t.state.tag}.${r}`}return n}function Se({releases:e,packagesByName:t,rootDir:n,dependencyGraph:r,preInfo:i,config:a}){let o=!1,s=[...e.values()];for(;s.length>0;){let c=s.shift();c&&C(r,c.name,`Error in determining dependents - could not find package in repository: ${c.name}`).map(r=>{let o,s=C(t,r,`Dependency map is incorrect`);if(x(s,{ignore:a.ignore,allowPrivatePackages:a.privatePackages.version}))o=`none`;else{let l=C(t,c.name,`Dependency map is incorrect`),u=Ce(n,s.packageJson,c,l);for(let{depType:t,versionRange:n}of u)if(c.type===`none`)continue;else if((!e.has(r)||e.get(r).type===`none`)&&(a.___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.updateInternalDependents===`always`||!(0,ge.default)(w(c,i),n)))switch(t){case`dependencies`:case`optionalDependencies`:case`peerDependencies`:o!==`major`&&o!==`minor`&&(o=`patch`);break;case`devDependencies`:o!==`major`&&o!==`minor`&&o!==`patch`&&(o=`none`)}}return e.has(r)&&e.get(r).type===o&&(o=void 0),{name:r,type:o,pkgJSON:s.packageJson}}).filter(e=>!!e.type).forEach(({name:t,type:n,pkgJSON:r})=>{o=!0;let i=e.get(t);if(i&&n===`major`&&i.type!==`major`)i.type=`major`,s.push(i);else{let i={name:t,type:n,oldVersion:r.version,changesets:[]};s.push(i),e.set(t,i)}})}return o}function Ce(e,t,n,r){let i=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`],a=[];for(let o of i){let i=t[o]?.[n.name];if(i){if(i.startsWith(`workspace:`))switch(i=i.replace(/^workspace:/,``),i){case`*`:i=n.oldVersion;break;case`^`:case`~`:i=`${i}${n.oldVersion}`;break;default:if(!(0,_e.default)(i))if(g.posix.normalize(i)===g.relative(e,r.dir).replace(/\\/g,`/`))i=n.oldVersion;else continue}a.push({depType:o,versionRange:i})}}return a}const T={major:3,minor:2,patch:1,none:0};function we(e,t,n){let r=new Map;for(let i of e)for(let{name:e,type:a}of i.releases){let o=C(t,e,`Couldn't find package named "${e}" listed in changeset "${i.id}"`);if(x(o,{ignore:n.ignore,allowPrivatePackages:n.privatePackages.version}))continue;let s=r.get(e);if(s==null){r.set(e,{name:e,type:a,oldVersion:o.packageJson.version,changesets:[i.id]});continue}T[a]>T[s.type]&&(s.type=a),s.changesets.push(i.id)}return r}function Te(e,t,n){let r=!1;for(let i of n.fixed){let a=[...e.values()].filter(e=>i.includes(e.name)&&e.type!==`none`);if(a.length===0)continue;let o=ye(a),s=S(i,t);for(let a of i){if(x(C(t,a,`Could not find package named "${a}" listed in fixed group ${JSON.stringify(i)}`),{ignore:n.ignore,allowPrivatePackages:n.privatePackages.version}))continue;let c=e.get(a);if(!c){r=!0,e.set(a,{name:a,type:o,oldVersion:s,changesets:[]});continue}c.type!==o&&(r=!0,c.type=o),c.oldVersion!==s&&(r=!0,c.oldVersion=s)}}return r}function E(e){let t=(0,me.default)(e).prerelease[1]??-1;if(typeof t!=`number`)throw new p(`preVersion is not a number`);return t++,t}function Ee(e,t){let n=new Date,r={commit:t.commit,"commit-short":t.commit?.slice(0,7),tag:t.tag,timestamp:n.getTime().toString(),datetime:n.toISOString().replace(/\.\d{3}Z$/,``).replace(/[^\d]/g,``)};if(!e)return[r.tag,r.datetime].filter(Boolean).join(`-`);let i=Object.keys(r);if(!e.includes(`{tag}`)&&r.tag!=null)throw Error(`Failed to compose snapshot version: "{tag}" placeholder is missing, but the snapshot parameter is defined (value: '${r.tag}')`);return i.reduce((e,t)=>e.replace(RegExp(`\\{${t}\\}`,`g`),()=>{let e=r[t];if(e==null)throw Error(`Failed to compose snapshot version: "{${t}}" placeholder is used without having a value defined!`);return e}),e)}function De(e,t,n,r){return e.type===`none`?e.oldVersion:`${n?w(e,t):`0.0.0`}-${r}`}function Oe(e,t){return e.type===`none`?e.oldVersion:w(e,t)}function ke(e,t,n,r,i){let a=new Map(t.packages.map(e=>[e.packageJson.name,e])),o=Ae(e,a,n,r),s=Me(a,n,r),c=we(o,a,n),l=b(t,{bumpVersionsWithWorkspaceProtocolOnly:n.bumpVersionsWithWorkspaceProtocolOnly}),u=!1;for(;u===!1;){let e=Se({releases:c,packagesByName:a,rootDir:t.rootDir,dependencyGraph:l,preInfo:s,config:n}),r=Te(c,a,n);u=!xe(c,a,n.linked)&&!e&&!r}if(s?.state.mode===`exit`)for(let e of t.packages){if(x(e,{ignore:n.ignore,allowPrivatePackages:n.privatePackages.version}))continue;let t=s.preVersions.get(e.packageJson.name);if(t!=null&&t!==0){let t=c.get(e.packageJson.name);t?t.type===`none`&&(t.type=`patch`):c.set(e.packageJson.name,{name:e.packageJson.name,type:`patch`,oldVersion:e.packageJson.version,changesets:[]})}}let d=i&&Ee(n.snapshot.prereleaseTemplate,i);return{changesets:o,releases:Array.from(c.values(),e=>({...e,newVersion:d?De(e,s,n.snapshot.useCalculatedVersion,d):Oe(e,s)})),preState:s?.state}}function Ae(e,t,n,r){for(let r of e){let e=[],i=[];for(let a of r.releases)x(be(t,a.name,`Found changeset ${r.id} for package ${a.name} which is not in the workspace`),{ignore:n.ignore,allowPrivatePackages:n.privatePackages.version})?e.push(a.name):i.push(a.name);if(e.length>0&&i.length>0)throw Error(`Found mixed changeset ${r.id}\nFound ignored packages: ${e.join(` `)}\nFound not ignored packages: ${i.join(` `)}\nMixed changesets that contain both ignored and not ignored packages are not allowed`)}return r&&r.mode!==`exit`?e.filter(e=>!e.id.startsWith(`pre/`)):e}function je(e,t,n){let r=0;for(let i of t){let a=C(n,i,`Could not find package named "${i}" listed in ${e} group ${JSON.stringify(t)}`);r=Math.max(E(a.packageJson.version),r)}return r}function Me(e,t,n){if(n==null)return;let r=new Map;for(let[,n]of e)x(n,{ignore:t.ignore,allowPrivatePackages:t.privatePackages.version})||r.set(n.packageJson.name,E(n.packageJson.version));for(let n of t.fixed){let t=je(`fixed`,n,e);for(let e of n)r.set(e,t)}for(let n of t.linked){let t=je(`linked`,n,e);for(let e of n)r.set(e,t)}return{state:n,preVersions:r}}var Ne=n(r(),1);const Pe={lang:void 0,message:void 0,abortEarly:void 0,abortPipeEarly:void 0};function D(e){return e?{lang:e?.lang??void 0,message:e?.message,abortEarly:e?.abortEarly??void 0,abortPipeEarly:e?.abortPipeEarly??void 0}:Pe}function O(e){let t=typeof e;return t===`string`?`"${e}"`:t===`number`||t===`bigint`||t===`boolean`?`${e}`:t===`object`||t===`function`?(e&&Object.getPrototypeOf(e)?.constructor?.name)??`null`:t}function k(e,t,n,r,i){let a=i&&`input`in i?i.input:n.value,o=i?.expected??e.expects??null,s=i?.received??O(a),c={kind:e.kind,type:e.type,input:a,expected:o,received:s,message:`Invalid ${t}: ${o?`Expected ${o} but r`:`R`}eceived ${s}`,requirement:e.requirement,path:i?.path,issues:i?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},l=e.kind===`schema`,u=i?.message??e.message??(e.reference,c.lang,void 0)??(l?(c.lang,void 0):null)??r.message??(c.lang,void 0);u!==void 0&&(c.message=typeof u==`function`?u(c):u),l&&(n.typed=!1),n.issues?n.issues.push(c):n.issues=[c]}const A=new WeakMap;function j(e){let t=A.get(e);return t||(t={version:1,vendor:`valibot`,validate(t){return e[`~run`]({value:t},D())}},A.set(e,t)),t}function Fe(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&t!==`__proto__`&&t!==`prototype`&&t!==`constructor`}function Ie(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??`never`}function Le(e){if(e.path){let t=``;for(let n of e.path)if(typeof n.key==`string`||typeof n.key==`number`)t+=t?`.${n.key}`:n.key;else return null;return t}return null}var Re=class extends Error{constructor(e){super(e[0].message),this.name=`ValiError`,this.issues=e}};function M(e){return{kind:`metadata`,type:`description`,reference:M,description:e}}function N(e){return{kind:`metadata`,type:`examples`,reference:N,examples:e}}function P(e,t){return{kind:`validation`,type:`min_length`,reference:P,async:!1,expects:`>=${e}`,requirement:e,message:t,"~run"(e,t){return e.typed&&e.value.lengthe.expects),`|`),async:!1,options:e,message:t,get"~standard"(){return j(this)},"~run"(e,t){let n,r,i;for(let a of this.options){let o=a[`~run`]({value:e.value},t);if(o.typed)if(o.issues)r?r.push(o):r=[o];else{n=o;break}else i?i.push(o):i=[o]}if(n)return n;if(r){if(r.length===1)return r[0];k(this,`type`,e,t,{issues:G(r)}),e.typed=!0}else if(i?.length===1)return i[0];else k(this,`type`,e,t,{issues:G(i)});return e}}}function q(){return{kind:`schema`,type:`unknown`,reference:q,expects:`unknown`,async:!1,get"~standard"(){return j(this)},"~run"(e){return e.typed=!0,e}}}function Be(e,t,n){let r=e[`~run`]({value:t},D(n));if(r.issues)throw new Re(r.issues);return r.value}function J(...e){return{...e[0],pipe:e,get"~standard"(){return j(this)},"~run"(t,n){for(let r of e)if(r.kind!==`metadata`){if(t.issues&&(r.kind===`schema`||r.kind===`transformation`)){t.typed=!1;break}(!t.issues||!n.abortEarly&&!n.abortPipeEarly)&&(t=r[`~run`](t,n))}return t}}}function Ve(e,t,n){let r=e[`~run`]({value:t},D(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}function Y(e,t){if(!t)return e;let n=t.map(e=>(0,Ne.default)(e,void 0,!0));return e.filter(e=>{e.includes(`\\`)&&(e=e.replace(/\\/g,`/`));let t=!1;for(let r of n)t?r.state.negated&&!r(e)&&(t=!1):!r.state.negated&&r(e)&&(t=!0);return t})}const X=(e,t,n)=>V(t==null?e:J(e,M(t)),n),He=J(I(I(U())),N([[[`@pkg/a`,`@pkg/b`],[`@pkg/d`,`@pkg/e`]]])),Ue=K([R(!1),U(),W([U(),z(H(U(),q()))])],`Invalid type: Expected false, a module path ("@changesets/cli/changelog" or "./some-module"), or a tuple of module path and options (["@changesets/cli/changelog", { "someOption": true }]).`),We=K([L(),U(),W([U(),z(H(U(),q()))])],`Invalid type: Expected a boolean, a module path (e.g. "@changesets/cli/commit" or "./some-module"), or a tuple with a module path and options (e.g. ["@changesets/cli/commit", { "skipCI": "version" }])]`),Ge=K([R(`public`),R(`restricted`)]),Ke=B({baseBranch:X(U(),`Determines the branch that Changesets uses when finding what packages have changed.`,`main`),access:X(Ge,`Determines whether Changesets should publish packages to the registry publicly or to a restricted scope.`,`restricted`),changedFilePatterns:X(I(U()),`A list of file patterns that Changesets should consider when determining what packages have changed.`,[`**`]),format:X(K([R(`auto`),R(`prettier`),R(`oxfmt`),R(`deno`),R(`dprint`),R(!1)]),"The formatter to use to format changesets and changelogs. Set `false` to disable formatting. The default value of `auto` will auto-detect the formatter based on the project's configuration files.",`auto`),ignore:X(I(U()),`Packages that should not be released.`,[]),fixed:X(He,`Packages that should always be released together with the same version.`,[]),linked:X(He,`Packages that should be linked together so when they are being released, they will be released at the same version.`,[]),updateInternalDependencies:X(K([R(`minor`),R(`patch`)]),`The minimum bump type to trigger automatic update of internal dependencies that are part of the same release.`,`patch`),privatePackages:X(K([B({version:V(L(),!1),tag:V(L(),!1)}),L()]),`Opt in to tracking non-npm / private packages`,{}),bumpVersionsWithWorkspaceProtocolOnly:X(L(),`Determines whether Changesets should only bump dependency ranges that use workspace protocol of packages that are part of the workspace.`,!1),snapshot:X(B({useCalculatedVersion:V(J(L(),M(`Makes generated snapshot versions use the calculated version (based on the changeset files) as a base version, instead of 0.0.0`)),!1),prereleaseTemplate:V(J(U(),P(1),M(`A template for the prerelease (suffix) part of the generated snapshot version. The template can use the following variable patterns: {commit}, {tag}, {datetime}, {timestamp}.`)))}),`Snapshot-specific options.`,{}),changelog:X(Ue,`The configuration for changelog generators.`,`@changesets/cli/changelog`),commit:X(We,`Determines whether Changesets should commit the results of the add and version command.`,!1),___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH:X(B({onlyUpdatePeerDependentsWhenOutOfRange:V(L(),!1),updateInternalDependents:V(K([R(`always`),R(`out-of-range`)]),`out-of-range`)}),`Unsafe options`,{})});function qe({packageNames:e,writtenConfig:t}){let n=structuredClone(t);return typeof t.changelog==`string`&&(n.changelog=[t.changelog,null]),typeof t.commit==`string`?n.commit=[t.commit,null]:t.commit===!0&&(n.commit=[`@changesets/cli/commit`,{skipCI:`version`}]),t.ignore!=null&&(n.ignore=Y(e,t.ignore)),t.fixed!=null&&(n.fixed=t.fixed.map(t=>Y(e,t))),t.linked!=null&&(n.linked=t.linked.map(t=>Y(e,t))),n.privatePackages=typeof t.privatePackages==`object`?{version:t.privatePackages.version??!1,tag:t.privatePackages.tag??!1}:{version:t.privatePackages??!1,tag:t.privatePackages??!1},n}function Je(e,t){return e.filter(e=>{let n=(0,Ne.default)(e);return!t.some(e=>n(e))})}const Z=`Note that glob expressions must be defined according to https://npmx.dev/picomatch.`,Ye=e=>`Invalid path: The package or glob "${e}" does not match any package in the project. ${Z}`,Xe=[({config:e,writtenConfig:t,packageNames:n,warnings:r})=>{if(e.fixed.length!==0)for(let e of t.fixed??[])r.push(...Je(e,n).map(e=>`fixed: ${Ye(e)}`))},({config:e,errors:t})=>{if(e.fixed.length===0)return;let n=new Set,r=new Set;for(let i of e.fixed){for(let e of i)n.has(e)&&r.add(e),n.add(e);t.push(...Array.from(r,e=>`fixed: Invalid group: The package or glob "${e}" is defined in multiple groups of fixed packages. Packages can only be belong to a single group. ${Z}`))}},({config:e,writtenConfig:t,packageNames:n,warnings:r})=>{if(e.linked.length!==0)for(let e of t.linked??[])r.push(...Je(e,n).map(e=>`linked: ${Ye(e)}`))},({config:e,errors:t})=>{if(e.linked.length===0)return;let n=new Set,r=new Set;for(let i of e.linked){for(let e of i)n.has(e)&&r.add(e),n.add(e);t.push(...Array.from(r,e=>`linked: Invalid group: The package or glob "${e}" is defined in multiple groups of linked packages. Packages can only be belong to a single group. ${Z}`))}},({config:e,errors:t})=>{if(e.fixed.length===0||e.linked.length===0)return;let n=new Set(e.fixed.flat()),r=new Set(e.linked.flat());for(let e of n)r.has(e)&&t.push(`Invalid group: The package "${e}" can be found in both fixed and linked groups. A package can only be either fixed or linked.`)},({packages:e,config:t,errors:n})=>{if(t.ignore.length===0&&t.privatePackages.version)return;let r=b(e,{ignoreDevDependencies:!0,bumpVersionsWithWorkspaceProtocolOnly:t.bumpVersionsWithWorkspaceProtocolOnly}),i=new Map(e.packages.map(e=>[e.packageJson.name,e]));for(let a of e.packages){if(!x(a,{ignore:t.ignore,allowPrivatePackages:t.privatePackages.version}))continue;let e=a.packageJson.name,o=r.get(e)||[];for(let r of o){let a=i.get(r);a&&(x(a,{ignore:t.ignore,allowPrivatePackages:t.privatePackages.version})||a.packageJson.private||n.push(`Invalid tree: "${r}" depends on the skipped package "${e}", but "${r}" is not skipped. Please add "${r}" to the "ignore" option.`))}}},({config:e,errors:t})=>{let{version:n,tag:r}=e.privatePackages;n===!1&&r===!0&&t.push(`privatePackages: Invalid combination: "tag" is set to "true" but "version" is set to "false".`)}];function Ze(e){let t={...e,errors:[],warnings:[]};for(let e of Xe)e(t);return{errors:t.errors,warnings:t.warnings}}function Qe(e){return e.map(e=>`${Le(e)}: ${e.message}`)}function $e(e,t){let n=Ve(Ke,e);if(!n.success)return{config:void 0,warnings:[],errors:Qe(n.issues)};let r=n.output,i=t.packages.map(e=>e.packageJson.name),a=qe({packageNames:i,writtenConfig:r}),{errors:o,warnings:s}=Ze({packages:t,packageNames:i,config:a,writtenConfig:r});return o.length===0?{config:a,warnings:s,errors:void 0}:{config:void 0,warnings:s,errors:o}}async function et(e,t){return e??=process.cwd(),t??=await a(e),$e(JSON.parse(await h.readFile(g.join(t.rootDir,`.changeset`,`config.json`),`utf8`)),t)}qe({packageNames:[],writtenConfig:Be(Ke,{$schema:`https://unpkg.com/@changesets/config@4.0.0/schema.json`,baseBranch:`main`,access:`restricted`,ignore:[],fixed:[],linked:[],format:`auto`,updateInternalDependencies:`patch`,commit:!1,changelog:`@changesets/cli/changelog`})});async function tt(e,t,n){let r=await a(e),i=await et(r.rootDir,r);if(i.config==null)throw Error(`Invalid configuration:\n ${i.errors.join(` `)}`);let o=n?{...i.config,...n}:i.config;return ke(await re(r.rootDir,t),r,o,await m(r.rootDir))}function nt(e){return e.length}function rt(e,t){let n=t||{},r=(n.align||[]).concat(),i=n.stringLength||nt,a=[],o=[],s=[],c=[],l=0,u=-1;for(;++ul&&(l=e[u].length);++ac[a])&&(c[a]=e)}t.push(o)}o[u]=t,s[u]=r}let d=-1;if(typeof r==`object`&&`length`in r)for(;++dc[d]&&(c[d]=i),p[d]=i),f[d]=o}o.splice(1,0,f),s.splice(1,0,p),u=-1;let m=[];for(;++uQ(ot)),Q(st),Q(ct),...i?[Q(lt)]:[]];return n&&(a=a.map(e=>e.charAt(0).toUpperCase()+e.substr(1))),a.join(t)}function dt(e,t,n){return`${e}/new/${t}?filename=.changeset/${ut({separator:`-`,capitalize:!1})}.md&value=${encodeURIComponent(n)}`}async function ft(e,t,n){return`\ --- ${(await ee({cwd:e,ref:t})).map(e=>`"${e.packageJson.name}": patch`).join(` `)} --- ${n} `}function $(e,t,n={}){return te(`git`,t,{nodeOptions:{cwd:e,...n.nodeOptions},throwOnError:!0,...n})}function pt(e){let t=`${e.number}-${ae()}`;return{base:{fetchSource:`origin`,local:`refs/changesets-action-pr-status/base/${t}`,remote:`refs/heads/${e.base.ref}`},head:{fetchSource:e.head.repo.clone_url,local:`refs/changesets-action-pr-status/head/${t}`,remote:`refs/heads/${e.head.ref}`}}}async function mt(e,t,n){await $(e,[`fetch`,`--no-tags`,`--deepen=${n}`,t.fetchSource,`${t.remote}:${t.local}`])}async function ht(e){let{cwd:t,refs:n,deepenBy:r=50}=e;for(;;){let e=await $(t,[`merge-base`,n.base.local,`HEAD`],{throwOnError:!1});if(e.exitCode===0)return e.stdout.trim();if(!await ne({cwd:t}))throw Error(`Failed to find merge base between "${n.base.local}" and HEAD, and the repository is no longer shallow.`);await mt(t,n.base,r),await mt(t,n.head,r)}}async function gt(e){let t=await h.mkdtemp(g.join(oe.tmpdir(),e));return{dir:t,async[Symbol.asyncDispose](){await h.rm(t,{recursive:!0,force:!0})}}}async function _t(e,t){return await $(e,[`fetch`,`--no-tags`,`--depth=1`,t.fetchSource,`${t.remote}:${t.local}`]),{async[Symbol.asyncDispose](){await $(e,[`update-ref`,`-d`,t.local],{throwOnError:!1})}}}async function vt(e,t,n){return await $(e,[`worktree`,`add`,`--detach`,t,n.local]),{async[Symbol.asyncDispose](){await $(e,[`worktree`,`remove`,`--force`,t],{throwOnError:!1})}}}async function yt(e,t=process.cwd()){await using n=new AsyncDisposableStack;let r=n.use(await gt(`changesets-action-pr-status-`)).dir,i=pt(e);return n.use(await _t(t,i.base)),n.use(await _t(t,i.head)),n.use(await vt(t,r,i.head)),await ht({cwd:r,refs:i}),u(n,{baseRef:i.base.local,cwd:r})}async function bt(e){await using t=await yt(e);let n=await tt(t.cwd,t.baseRef),r=await ft(t.cwd,t.baseRef,e.title),i=dt(e.head.repo.html_url,e.head.ref,r);return n.changesets.length>0?xt(e.head.sha,i,n):St(e.head.sha,i,n)}function xt(e,t,n){return`\ ### 🦋 Changeset detected Latest commit: ${e} **The changes in this PR will be included in the next version bump.** ${Ct(n)} Not sure what this means? [Click here to learn what changesets are](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md). [Click here if you're a maintainer who wants to add another changeset to this PR](${t})`}function St(e,t,n){return`\ ### ⚠️ No Changeset found Latest commit: ${e} Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. **If these changes should result in a version bump, you need to add a changeset.** ${Ct(n)} [Click here to learn what changesets are, and how to add one](https://github.com/changesets/changesets/blob/main/docs/adding-a-changeset.md). [Click here if you're a maintainer who wants to add a changeset to this PR](${t})`}function Ct(e){let t=e.releases.filter(e=>e.type!==`none`),n=rt([[`Name`,`Type`],...t.map(e=>[e.name,{major:`Major`,minor:`Minor`,patch:`Patch`}[e.type]])]),r=`This PR includes `;return e.changesets.length===0?r+=`no changesets`:(r+=`changesets to release ${t.length} package`,t.length!==1&&(r+=`s`)),`\
${r} ${t.length>0?n:`When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types`}
`}try{await wt()}catch(t){e(t.message)}async function wt(){let e=f.payload.pull_request;if(!e)throw Error("This action should only be run on `pull_request_target` or `pull_request` events");l(`Creating comment message...`);let t=await bt(e);c(`comment-body`,t),l(`Done!`)}export{};