Files
changesets-action/dist/pr-status.js
T

38 lines
36 KiB
JavaScript

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-C998F5Ty.js";import{a as p,i as m,n as ee,o as te,r as ne,t as re}from"./dist-DlzQ-3f_.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 S(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 C(e,t){let n;for(let r of e){let i=w(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 ye(e,t,n){let r=e.get(t);if(r==null)throw Error(n);return r}function w(e,t,n){let r=e.get(t);if(r==null)throw new p(n);return r}function be(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=S(n),o=C(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 T(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=w(t.preVersions,e.name,`preVersion for ${e.name} does not exist when preState is defined`);n+=`-${t.state.tag}.${r}`}return n}function xe({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&&w(r,c.name,`Error in determining dependents - could not find package in repository: ${c.name}`).map(r=>{let o,s=w(t,r,`Dependency map is incorrect`);if(x(s,{ignore:a.ignore,allowPrivatePackages:a.privatePackages.version}))o=`none`;else{let l=w(t,c.name,`Dependency map is incorrect`),u=Se(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)(T(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 Se(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 E={major:3,minor:2,patch:1,none:0};function Ce(e,t,n){let r=new Map;for(let i of e)for(let{name:e,type:a}of i.releases){let o=w(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}E[a]>E[s.type]&&(s.type=a),s.changesets.push(i.id)}return r}function we(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=S(a),s=C(i,t);for(let a of i){if(x(w(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 D(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 Te(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 Ee(e,t,n,r){return e.type===`none`?e.oldVersion:`${n?T(e,t):`0.0.0`}-${r}`}function De(e,t){return e.type===`none`?e.oldVersion:T(e,t)}function Oe(e,t,n,r,i){let a=new Map(t.packages.map(e=>[e.packageJson.name,e])),o=ke(e,a,n,r),s=Ae(a,n,r),c=Ce(o,a,n),l=b(t,{bumpVersionsWithWorkspaceProtocolOnly:n.bumpVersionsWithWorkspaceProtocolOnly}),u=!1;for(;u===!1;){let e=xe({releases:c,packagesByName:a,rootDir:t.rootDir,dependencyGraph:l,preInfo:s,config:n}),r=we(c,a,n);u=!be(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&&Te(n.snapshot.prereleaseTemplate,i);return{changesets:o,releases:Array.from(c.values(),e=>({...e,newVersion:d?Ee(e,s,n.snapshot.useCalculatedVersion,d):De(e,s)})),preState:s?.state}}function ke(e,t,n,r){for(let r of e){let e=[],i=[];for(let a of r.releases)x(ye(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 O(e,t,n){let r=0;for(let i of t){let a=w(n,i,`Could not find package named "${i}" listed in ${e} group ${JSON.stringify(t)}`);r=Math.max(D(a.packageJson.version),r)}return r}function Ae(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,D(n.packageJson.version));for(let n of t.fixed){let t=O(`fixed`,n,e);for(let e of n)r.set(e,t)}for(let n of t.linked){let t=O(`linked`,n,e);for(let e of n)r.set(e,t)}return{state:n,preVersions:r}}var je=n(r(),1);const Me={lang:void 0,message:void 0,abortEarly:void 0,abortPipeEarly:void 0};function k(e){return e?{lang:e?.lang??void 0,message:e?.message,abortEarly:e?.abortEarly??void 0,abortPipeEarly:e?.abortPipeEarly??void 0}:Me}function A(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 j(e,t,n,r,i){let a=i&&`input`in i?i.input:n.value,o=i?.expected??e.expects??null,s=i?.received??A(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 M=new WeakMap;function N(e){let t=M.get(e);return t||(t={version:1,vendor:`valibot`,validate(t){return e[`~run`]({value:t},k())}},M.set(e,t)),t}function Ne(e,t){return Object.prototype.hasOwnProperty.call(e,t)&&t!==`__proto__`&&t!==`prototype`&&t!==`constructor`}function Pe(e,t){let n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??`never`}function Fe(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}`:t+=n.key;else return null;return t}return null}var Ie=class extends Error{constructor(e){super(e[0].message),this.name=`ValiError`,this.issues=e}};function P(e){return{kind:`metadata`,type:`description`,reference:P,description:e}}function F(e){return{kind:`metadata`,type:`examples`,reference:F,examples:e}}function Le(e,t){return{kind:`validation`,type:`min_length`,reference:Le,async:!1,expects:`>=${e}`,requirement:e,message:t,"~run"(e,t){return e.typed&&e.value.length<this.requirement&&j(this,`length`,e,t,{received:`${e.value.length}`}),e}}}function Re(e,t,n){return typeof e.fallback==`function`?e.fallback(t,n):e.fallback}function I(e,t,n){return typeof e.default==`function`?e.default(t,n):e.default}function L(e,t){return{kind:`schema`,type:`array`,reference:L,expects:`Array`,async:!1,item:e,message:t,get"~standard"(){return N(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<n.length;r++){let i=n[r],a=this.item[`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else j(this,`type`,e,t);return e}}}function R(e){return{kind:`schema`,type:`boolean`,reference:R,expects:`boolean`,async:!1,message:e,get"~standard"(){return N(this)},"~run"(e,t){return typeof e.value==`boolean`?e.typed=!0:j(this,`type`,e,t),e}}}function z(e,t){return{kind:`schema`,type:`literal`,reference:z,expects:A(e),async:!1,literal:e,message:t,get"~standard"(){return N(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:j(this,`type`,e,t),e}}}function B(e,t){return{kind:`schema`,type:`nullable`,reference:B,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return N(this)},"~run"(e,t){return e.value===null&&(this.default!==void 0&&(e.value=I(this,e,t)),e.value===null)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function V(e,t){return{kind:`schema`,type:`object`,reference:V,expects:`Object`,async:!1,entries:e,message:t,get"~standard"(){return N(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in this.entries){let i=this.entries[r];if(r in n||(i.type===`exact_optional`||i.type===`optional`||i.type===`nullish`)&&i.default!==void 0){let a=r in n?n[r]:I(i),o=i[`~run`]({value:a},t);if(o.issues){let i={type:`object`,origin:`value`,input:n,key:r,value:a};for(let t of o.issues)t.path?t.path.unshift(i):t.path=[i],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}o.typed||(e.typed=!1),e.value[r]=o.value}else if(i.fallback!==void 0)e.value[r]=Re(i);else if(i.type!==`exact_optional`&&i.type!==`optional`&&i.type!==`nullish`&&(j(this,`key`,e,t,{input:void 0,expected:`"${r}"`,path:[{type:`object`,origin:`key`,input:n,key:r,value:n[r]}]}),t.abortEarly))break}}else j(this,`type`,e,t);return e}}}function H(e,t){return{kind:`schema`,type:`optional`,reference:H,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return N(this)},"~run"(e,t){return e.value===void 0&&(this.default!==void 0&&(e.value=I(this,e,t)),e.value===void 0)?(e.typed=!0,e):this.wrapped[`~run`](e,t)}}}function U(e,t,n){return{kind:`schema`,type:`record`,reference:U,expects:`Object`,async:!1,key:e,value:t,message:n,get"~standard"(){return N(this)},"~run"(e,t){let n=e.value;if(n&&typeof n==`object`){e.typed=!0,e.value={};for(let r in n)if(Ne(n,r)){let i=n[r],a=this.key[`~run`]({value:r},t);if(a.issues){let o={type:`object`,origin:`key`,input:n,key:r,value:i};for(let t of a.issues)t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}let o=this.value[`~run`]({value:i},t);if(o.issues){let a={type:`object`,origin:`value`,input:n,key:r,value:i};for(let t of o.issues)t.path?t.path.unshift(a):t.path=[a],e.issues?.push(t);if(e.issues||=o.issues,t.abortEarly){e.typed=!1;break}}(!a.typed||!o.typed)&&(e.typed=!1),a.typed&&(e.value[a.value]=o.value)}}else j(this,`type`,e,t);return e}}}function W(e){return{kind:`schema`,type:`string`,reference:W,expects:`string`,async:!1,message:e,get"~standard"(){return N(this)},"~run"(e,t){return typeof e.value==`string`?e.typed=!0:j(this,`type`,e,t),e}}}function G(e,t){return{kind:`schema`,type:`tuple`,reference:G,expects:`Array`,async:!1,items:e,message:t,get"~standard"(){return N(this)},"~run"(e,t){let n=e.value;if(Array.isArray(n)){e.typed=!0,e.value=[];for(let r=0;r<this.items.length;r++){let i=n[r],a=this.items[r][`~run`]({value:i},t);if(a.issues){let o={type:`array`,origin:`value`,input:n,key:r,value:i};for(let t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||=a.issues,t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value.push(a.value)}}else j(this,`type`,e,t);return e}}}function K(e){let t;if(e)for(let n of e)if(t)for(let e of n.issues)t.push(e);else t=n.issues;return t}function q(e,t){return{kind:`schema`,type:`union`,reference:q,expects:Pe(e.map(e=>e.expects),`|`),async:!1,options:e,message:t,get"~standard"(){return N(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];j(this,`type`,e,t,{issues:K(r)}),e.typed=!0}else if(i?.length===1)return i[0];else j(this,`type`,e,t,{issues:K(i)});return e}}}function J(){return{kind:`schema`,type:`unknown`,reference:J,expects:`unknown`,async:!1,get"~standard"(){return N(this)},"~run"(e){return e.typed=!0,e}}}function ze(e,t,n){let r=e[`~run`]({value:t},k(n));if(r.issues)throw new Ie(r.issues);return r.value}function Y(...e){return{...e[0],pipe:e,get"~standard"(){return N(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 Be(e,t,n){let r=e[`~run`]({value:t},k(n));return{typed:r.typed,success:!r.issues,output:r.value,issues:r.issues}}function X(e,t){if(!t)return e;let n=t.map(e=>(0,je.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 Z=(e,t,n)=>H(t==null?e:Y(e,P(t)),n),Ve=Y(L(L(W())),F([[[`@pkg/a`,`@pkg/b`],[`@pkg/d`,`@pkg/e`]]])),He=q([z(!1),W(),G([W(),B(U(W(),J()))])],`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 }]).`),Ue=q([R(),W(),G([W(),B(U(W(),J()))])],`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" }])]`),We=q([z(`public`),z(`restricted`)]),Ge=V({baseBranch:Z(W(),`Determines the branch that Changesets uses when finding what packages have changed.`,`main`),access:Z(We,`Determines whether Changesets should publish packages to the registry publicly or to a restricted scope.`,`restricted`),changedFilePatterns:Z(L(W()),`A list of file patterns that Changesets should consider when determining what packages have changed.`,[`**`]),format:Z(q([z(`auto`),z(`prettier`),z(`oxfmt`),z(`deno`),z(`dprint`),z(!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:Z(L(W()),`Packages that should not be released.`,[]),fixed:Z(Ve,`Packages that should always be released together with the same version.`,[]),linked:Z(Ve,`Packages that should be linked together so when they are being released, they will be released at the same version.`,[]),updateInternalDependencies:Z(q([z(`minor`),z(`patch`)]),`The minimum bump type to trigger automatic update of internal dependencies that are part of the same release.`,`patch`),privatePackages:Z(q([V({version:H(R(),!1),tag:H(R(),!1)}),R()]),`Opt in to tracking non-npm / private packages`,{}),bumpVersionsWithWorkspaceProtocolOnly:Z(R(),`Determines whether Changesets should only bump dependency ranges that use workspace protocol of packages that are part of the workspace.`,!1),snapshot:Z(V({useCalculatedVersion:H(Y(R(),P(`Makes generated snapshot versions use the calculated version (based on the changeset files) as a base version, instead of 0.0.0`)),!1),prereleaseTemplate:H(Y(W(),Le(1),P(`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:Z(He,`The configuration for changelog generators.`,`@changesets/cli/changelog`),commit:Z(Ue,`Determines whether Changesets should commit the results of the add and version command.`,!1),___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH:Z(V({onlyUpdatePeerDependentsWhenOutOfRange:H(R(),!1),updateInternalDependents:H(q([z(`always`),z(`out-of-range`)]),`out-of-range`)}),`Unsafe options`,{})});function Ke({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=X(e,t.ignore)),t.fixed!=null&&(n.fixed=t.fixed.map(t=>X(e,t))),t.linked!=null&&(n.linked=t.linked.map(t=>X(e,t))),typeof t.privatePackages==`object`?n.privatePackages={version:t.privatePackages.version??!1,tag:t.privatePackages.tag??!1}:n.privatePackages={version:t.privatePackages??!1,tag:t.privatePackages??!1},n}function qe(e,t){return e.filter(e=>{let n=(0,je.default)(e);return!t.some(e=>n(e))})}const Q=`Note that glob expressions must be defined according to https://npmx.dev/picomatch.`,Je=e=>`Invalid path: The package or glob "${e}" does not match any package in the project. ${Q}`,Ye=[({config:e,writtenConfig:t,packageNames:n,warnings:r})=>{if(e.fixed.length!==0)for(let e of t.fixed??[])r.push(...qe(e,n).map(e=>`fixed: ${Je(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. ${Q}`))}},({config:e,writtenConfig:t,packageNames:n,warnings:r})=>{if(e.linked.length!==0)for(let e of t.linked??[])r.push(...qe(e,n).map(e=>`linked: ${Je(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. ${Q}`))}},({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 Xe(e){let t={...e,errors:[],warnings:[]};for(let e of Ye)e(t);return{errors:t.errors,warnings:t.warnings}}function Ze(e){return e.map(e=>`${Fe(e)}: ${e.message}`)}function Qe(e,t){let n=Be(Ge,e);if(!n.success)return{config:void 0,warnings:[],errors:Ze(n.issues)};let r=n.output,i=t.packages.map(e=>e.packageJson.name),a=Ke({packageNames:i,writtenConfig:r}),{errors:o,warnings:s}=Xe({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 $e(e,t){return e??=process.cwd(),t??=await a(e),Qe(JSON.parse(await h.readFile(g.join(t.rootDir,`.changeset`,`config.json`),`utf8`)),t)}Ke({packageNames:[],writtenConfig:ze(Ge,{$schema:`https://unpkg.com/@changesets/config@4.0.0-next.10/schema.json`,baseBranch:`main`,access:`restricted`,ignore:[],fixed:[],linked:[],format:`auto`,updateInternalDependencies:`patch`,commit:!1,changelog:`@changesets/cli/changelog`})});async function et(e,t,n){let r=await a(e),i=await $e(r.rootDir,r);if(i.config==null)throw Error(`Invalid configuration:\n ${i.errors.join(`
`)}`);let o=n?{...i.config,...n}:i.config;return Oe(await re(r.rootDir,t),r,o,await m(r.rootDir))}function tt(e){return e.length}function nt(e,t){let n=t||{},r=(n.align||[]).concat(),i=n.stringLength||tt,a=[],o=[],s=[],c=[],l=0,u=-1;for(;++u<e.length;){let t=[],r=[],a=-1;for(e[u].length>l&&(l=e[u].length);++a<e[u].length;){let o=rt(e[u][a]);if(n.alignDelimiters!==!1){let e=i(o);r[a]=e,(c[a]===void 0||e>c[a])&&(c[a]=e)}t.push(o)}o[u]=t,s[u]=r}let d=-1;if(typeof r==`object`&&`length`in r)for(;++d<l;)a[d]=it(r[d]);else{let e=it(r);for(;++d<l;)a[d]=e}d=-1;let f=[],p=[];for(;++d<l;){let e=a[d],t=``,r=``;e===99?(t=`:`,r=`:`):e===108?t=`:`:e===114&&(r=`:`);let i=n.alignDelimiters===!1?1:Math.max(1,c[d]-t.length-r.length),o=t+`-`.repeat(i)+r;n.alignDelimiters!==!1&&(i=t.length+i+r.length,i>c[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(;++u<o.length;){let e=o[u],t=s[u];d=-1;let r=[];for(;++d<l;){let i=e[d]||``,o=``,s=``;if(n.alignDelimiters!==!1){let e=c[d]-(t[d]||0),n=a[d];n===114?o=` `.repeat(e):n===99?e%2?(o=` `.repeat(e/2+.5),s=` `.repeat(e/2-.5)):(o=` `.repeat(e/2),s=o):s=` `.repeat(e)}n.delimiterStart!==!1&&!d&&r.push(`|`),n.padding!==!1&&!(n.alignDelimiters===!1&&i===``)&&(n.delimiterStart!==!1||d)&&r.push(` `),n.alignDelimiters!==!1&&r.push(o),r.push(i),n.alignDelimiters!==!1&&r.push(s),n.padding!==!1&&r.push(` `),(n.delimiterEnd!==!1||d!==l-1)&&r.push(`|`)}m.push(n.delimiterEnd===!1?r.join(``).replace(/ +$/,``):r.join(``))}return m.join(`
`)}function rt(e){return e==null?``:String(e)}function it(e){let t=typeof e==`string`?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}var at=t((e=>{var t=e&&e.__spreadArray||function(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))};Object.defineProperty(e,`__esModule`,{value:!0}),e.minLength=e.maxLength=e.poolSize=e.humanId=e.adverbs=e.verbs=e.nouns=e.adjectives=void 0,e.adjectives=`afraid.all.beige.better.big.blue.bold.brave.breezy.bright.brown.bumpy.busy.calm.chatty.chilly.chubby.clean.clear.clever.cold.common.cool.cozy.crisp.cuddly.curly.curvy.cute.cyan.dark.deep.dirty.dry.dull.eager.early.easy.eight.eighty.eleven.empty.every.fair.famous.fancy.fast.few.fiery.fifty.fine.five.flat.floppy.fluffy.forty.four.frank.free.fresh.fruity.full.funky.funny.fuzzy.gentle.giant.gold.good.goofy.great.green.grumpy.happy.heavy.hip.honest.hot.huge.humble.hungry.icy.itchy.jolly.khaki.kind.large.late.lazy.legal.lemon.light.little.long.loose.loud.lovely.lucky.major.many.metal.mighty.modern.moody.neat.new.nice.nine.ninety.odd.old.olive.open.orange.perky.petite.pink.plain.plenty.polite.pretty.proud.public.puny.purple.quick.quiet.rare.ready.real.red.rich.ripe.salty.seven.shaggy.shaky.sharp.shiny.short.shy.silent.silly.silver.six.sixty.slick.slimy.slow.small.smart.smooth.social.soft.solid.some.sour.sparkly.spicy.spotty.stale.strict.strong.sunny.sweet.swift.tall.tame.tangy.tasty.ten.tender.thick.thin.thirty.three.tidy.tiny.tired.tough.tricky.true.twelve.twenty.two.upset.vast.violet.wacky.warm.wet.whole.wicked.wide.wild.wise.witty.yellow.young.yummy`.split(`.`),e.nouns=`actors.ads.adults.aliens.animals.ants.apes.apples.areas.baboons.badgers.bags.balloons.bananas.banks.bars.baths.bats.beans.bears.beds.beers.bees.berries.bikes.birds.boats.bobcats.books.bottles.boxes.breads.brooms.buckets.bugs.buses.bushes.buttons.camels.cameras.candies.candles.canyons.carpets.carrots.cars.cases.cats.chairs.chefs.chicken.cities.clocks.cloths.clouds.clowns.clubs.coats.cobras.coins.colts.comics.cooks.corners.cougars.cows.crabs.crews.cups.cycles.dancers.days.deer.deserts.dingos.dodos.dogs.dolls.donkeys.donuts.doodles.doors.dots.dragons.drinks.dryers.ducks.eagles.ears.eels.eggs.emus.ends.experts.eyes.facts.falcons.fans.feet.files.flies.flowers.forks.foxes.friends.frogs.games.garlics.geckos.geese.ghosts.gifts.glasses.goats.grapes.groups.guests.hairs.hands.hats.heads.hoops.hornets.horses.hotels.hounds.houses.humans.icons.ideas.impalas.insects.islands.items.jars.jeans.jobs.jokes.keys.kids.kings.kiwis.knives.lamps.lands.laws.lemons.lies.lights.lilies.lines.lions.lizards.llamas.loops.mails.mammals.mangos.maps.masks.meals.melons.memes.meteors.mice.mirrors.moles.moments.monkeys.months.moons.moose.mugs.nails.needles.news.nights.numbers.olives.onions.oranges.otters.owls.pandas.pans.pants.papayas.papers.parents.parks.parrots.parts.paths.paws.peaches.pears.peas.pens.pets.phones.pianos.pigs.pillows.places.planes.planets.plants.plums.poems.poets.points.pots.pugs.pumas.queens.rabbits.radios.rats.ravens.readers.regions.results.rice.rings.rivers.rockets.rocks.rooms.roses.rules.sails.schools.seals.seas.sheep.shirts.shoes.showers.shrimps.sides.signs.singers.sites.sloths.snails.snakes.socks.spiders.spies.spoons.squids.stamps.stars.states.steaks.streets.suits.suns.swans.symbols.tables.taxes.taxis.teams.teeth.terms.things.ties.tigers.times.tips.tires.toes.tools.towns.toys.trains.trams.trees.turkeys.turtles.vans.views.walls.wasps.waves.ways.webs.weeks.windows.wings.wolves.wombats.words.worlds.worms.yaks.years.zebras.zoos`.split(`.`),e.verbs=`accept.act.add.admire.agree.allow.appear.argue.arrive.ask.attack.attend.bake.bathe.battle.beam.beg.begin.behave.bet.boil.bow.brake.brush.build.burn.buy.call.camp.care.carry.change.cheat.check.cheer.chew.clap.clean.cough.count.cover.crash.create.cross.cry.cut.dance.decide.deny.design.dig.divide.do.double.doubt.draw.dream.dress.drive.drop.drum.eat.end.enjoy.enter.exist.fail.fall.feel.fetch.film.find.fix.flash.float.flow.fly.fold.follow.fry.give.glow.go.grab.greet.grin.grow.guess.hammer.hang.happen.heal.hear.help.hide.hope.hug.hunt.invent.invite.itch.jam.jog.join.joke.judge.juggle.jump.kick.kiss.kneel.knock.know.laugh.lay.lead.learn.leave.lick.lie.like.listen.live.look.lose.love.make.march.marry.mate.matter.melt.mix.move.nail.notice.obey.occur.open.own.pay.peel.pick.play.poke.post.press.prove.pull.pump.punch.push.raise.read.refuse.relate.relax.remain.repair.repeat.reply.report.rescue.rest.retire.return.rhyme.ring.roll.rule.run.rush.say.scream.search.see.sell.send.serve.shake.share.shave.shine.shop.shout.show.sin.sing.sink.sip.sit.sleep.slide.smash.smell.smile.smoke.sneeze.sniff.sort.speak.spend.stand.stare.start.stay.stick.stop.strive.study.swim.switch.take.talk.tan.tap.taste.teach.tease.tell.thank.think.throw.tickle.tie.trade.train.travel.try.turn.type.unite.vanish.visit.wait.walk.warn.wash.watch.wave.wear.win.wink.wish.wonder.work.worry.write.yawn.yell`.split(`.`),e.adverbs=[`bravely`,`brightly`,`busily`,`daily`,`freely`,`hungrily`,`joyously`,`knowingly`,`lazily`,`noisily`,`oddly`,`politely`,`quickly`,`quietly`,`rapidly`,`safely`,`sleepily`,`slowly`,`truly`,`yearly`];function n(e){return e[Math.floor(Math.random()*e.length)]}function r(e){return e.reduce(function(e,t){return e.length>t.length?e:t})}function i(e){return e.reduce(function(e,t){return e.length<t.length?e:t})}function a(r){r===void 0&&(r={}),typeof r==`string`&&(r={separator:r}),typeof r==`boolean`&&(r={capitalize:r});var i=r.separator,a=i===void 0?``:i,o=r.capitalize,s=o===void 0?!0:o,c=r.adjectiveCount,l=c===void 0?1:c,u=r.addAdverb,d=u===void 0?!1:u,f=t(t(t([],t([],Array(l),!0).map(function(t){return n(e.adjectives)}),!0),[n(e.nouns),n(e.verbs)],!1),d?[n(e.adverbs)]:[],!0);return s&&(f=f.map(function(e){return e.charAt(0).toUpperCase()+e.substr(1)})),f.join(a)}e.humanId=a;function o(t){t===void 0&&(t={});var n=t.adjectiveCount,r=n===void 0?1:n,i=t.addAdverb,a=i===void 0?!1:i;return e.adjectives.length*r*e.nouns.length*e.verbs.length*(a?e.adverbs.length:1)}e.poolSize=o;function s(t){t===void 0&&(t={});var n=t.adjectiveCount,i=n===void 0?1:n,a=t.addAdverb,o=a===void 0?!1:a,s=t.separator,c=s===void 0?``:s;return r(e.adjectives).length*i+i*c.length+r(e.nouns).length+c.length+r(e.verbs).length+(o?r(e.adverbs).length+c.length:0)}e.maxLength=s;function c(t){t===void 0&&(t={});var n=t.adjectiveCount,r=n===void 0?1:n,a=t.addAdverb,o=a===void 0?!1:a,s=t.separator,c=s===void 0?``:s;return i(e.adjectives).length*r+r*c.length+i(e.nouns).length+c.length+i(e.verbs).length+(o?i(e.adverbs).length+c.length:0)}e.minLength=c,e.default=a}))();function ot(e,t,n){return`${e}/new/${t}?filename=.changeset/${(0,at.humanId)({separator:`-`,capitalize:!1})}.md&value=${encodeURIComponent(n)}`}async function st(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 ct(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 lt(e,t,n){await $(e,[`fetch`,`--no-tags`,`--deepen=${n}`,t.fetchSource,`${t.remote}:${t.local}`])}async function ut(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 lt(t,n.base,r),await lt(t,n.head,r)}}async function dt(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 ft(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 pt(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 mt(e,t=process.cwd()){await using n=new AsyncDisposableStack;let r=n.use(await dt(`changesets-action-pr-status-`)).dir,i=ct(e);return n.use(await ft(t,i.base)),n.use(await ft(t,i.head)),n.use(await pt(t,r,i.head)),await ut({cwd:r,refs:i}),u(n,{baseRef:i.base.local,cwd:r})}async function ht(e){await using t=await mt(e);let n=await et(t.cwd,t.baseRef),r=await st(t.cwd,t.baseRef,e.title),i=ot(e.head.repo.html_url,e.head.ref,r);return n.changesets.length>0?gt(e.head.sha,i,n):_t(e.head.sha,i,n)}function gt(e,t,n){return`\
### 🦋 Changeset detected
Latest commit: ${e}
**The changes in this PR will be included in the next version bump.**
${vt(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 _t(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.**
${vt(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 vt(e){let t=e.releases.filter(e=>e.type!==`none`),n=nt([[`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`)),`\
<details>
<summary>${r}</summary>
${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`}
</details>`}try{await yt()}catch(t){e(t.message)}async function yt(){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...`),c(`comment-body`,await ht(e)),l(`Done!`)}export{};