updates 17.8.0 → 17.8.2
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/README.md +1 -1
- package/dist/index.js +8 -26
- package/package.json +7 -8
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
# Supported files
|
|
9
9
|
|
|
10
10
|
- `package.json` - supports all npm package managers
|
|
11
|
-
- `pyproject.toml` - supports `uv`
|
|
11
|
+
- `pyproject.toml` - supports `uv`
|
|
12
12
|
- `go.mod` - supports go dependencies
|
|
13
13
|
- `.{github,gitea,forgejo}/workflows` - supports actions
|
|
14
14
|
- `Dockerfile*`, `docker-*.{yml,yaml}` - supports Docker Hub images
|
package/dist/index.js
CHANGED
|
@@ -1,28 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{cwd as e,env as t,exit as n,platform as r,stderr as i,stdout as a,versions as o}from"node:process";import{basename as s,dirname as c,join as l,resolve as u}from"node:path";import{pathToFileURL as d}from"node:url";import{accessSync as f,globSync as p,lstatSync as m,readFileSync as h,readdirSync as g,statSync as _,truncateSync as v,writeFileSync as y}from"node:fs";import{parseArgs as b,promisify as x,stripVTControlCharacters as ee,styleText as te}from"node:util";import ne from"node:dns";import{execFile as S}from"node:child_process";async function re(e,t,{concurrency:n=1/0,stopOnError:r=!0,signal:i}={}){return new Promise((a,o)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!=`function`)throw TypeError(`Mapper function is required`);if(!(Number.isSafeInteger(n)&&n>=1||n===1/0))throw TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let s=[],c=[],l=new Map,u=!1,d=!1,f=!1,p=0,m=0,h=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),g=()=>{y(i.reason)},_=()=>{i?.removeEventListener(`abort`,g)},v=e=>{a(e),_()},y=e=>{u=!0,d=!0,o(e),_()};i&&(i.aborted&&y(i.reason),i.addEventListener(`abort`,g,{once:!0}));let b=async()=>{if(d)return;let e=await h.next(),n=m;if(m++,e.done){if(f=!0,p===0&&!d){if(!r&&c.length>0){y(AggregateError(c));return}if(d=!0,l.size===0){v(s);return}let e=[];for(let[t,n]of s.entries())l.get(t)!==ie&&e.push(n);v(e)}return}p++,(async()=>{try{let r=await e.value;if(d)return;let i=await t(r,n);i===ie&&l.set(n,i),s[n]=i,p--,await b()}catch(e){if(r)y(e);else{c.push(e),p--;try{await b()}catch(e){y(e)}}}})()};(async()=>{for(let e=0;e<n;e++){try{await b()}catch(e){y(e);break}if(f||u)break}})()})}const ie=Symbol(`skip`);function ae(e,t){let n=e.slice(0,
|
|
3
|
-
`,e===t&&(i
|
|
4
|
-
`))}return i}var C=class extends Error{line;column;codeblock;constructor(e,t){let[n,r]=ae(t.toml,t.ptr),i=oe(t.toml,n,r);super(`Invalid TOML document: ${e}\n\n${i}`,t),this.line=n,this.column=r,this.codeblock=i}};function se(e,t){let n=0;for(;e[t-++n]===`\\`;);return--n&&n%2}function w(e,t=0,n=e.length){let r=e.indexOf(`
|
|
5
|
-
|
|
6
|
-
`)
|
|
7
|
-
`)return n+1;if(r<` `&&r!==` `||r===``)throw new C(`control characters are not allowed in comments`,{toml:e,ptr:t})}return e.length}function E(e,t,n,r){let i;for(;(i=e[t])===` `||i===` `||!n&&(i===`
|
|
8
|
-
`||i===`\r`&&e[t+1]===`
|
|
9
|
-
`);)t++;return r||i!==`#`?t:E(e,T(e,t),n)}function ce(e,t,n,r,i=!1){if(!r)return t=w(e,t),t<0?e.length:t;for(let a=t;a<e.length;a++){let t=e[a];if(t===`#`)a=w(e,a);else if(t===n)return a+1;else if(t===r||i&&(t===`
|
|
10
|
-
`||t===`\r`&&e[a+1]===`
|
|
11
|
-
`))return a}throw new C(`cannot find end of structure`,{toml:e,ptr:t})}function D(e,t){let n=e[t],r=n===e[t+1]&&e[t+1]===e[t+2]?e.slice(t,t+3):n;t+=r.length-1;do t=e.indexOf(r,++t);while(t>-1&&n!==`'`&&se(e,t));return t>-1&&(t+=r.length,r.length>1&&(e[t]===n&&t++,e[t]===n&&t++)),t}let le=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;var O=class e extends Date{#e=!1;#t=!1;#n=null;constructor(e){let t=!0,n=!0,r=`Z`;if(typeof e==`string`){let i=e.match(le);i?(i[1]||(t=!1,e=`0000-01-01T${e}`),n=!!i[2],n&&e[10]===` `&&(e=e.replace(` `,`T`)),i[2]&&+i[2]>23?e=``:(r=i[3]||null,e=e.toUpperCase(),!r&&n&&(e+=`Z`))):e=``}super(e),isNaN(this.getTime())||(this.#e=t,this.#t=n,this.#n=r)}isDateTime(){return this.#e&&this.#t}isLocal(){return!this.#e||!this.#t||!this.#n}isDate(){return this.#e&&!this.#t}isTime(){return this.#t&&!this.#e}isValid(){return this.#e||this.#t}toISOString(){let e=super.toISOString();if(this.isDate())return e.slice(0,10);if(this.isTime())return e.slice(11,23);if(this.#n===null)return e.slice(0,-1);if(this.#n===`Z`)return e;let t=this.#n.slice(1,3)*60+ +this.#n.slice(4,6);return t=this.#n[0]===`-`?t:-t,new Date(this.getTime()-t*6e4).toISOString().slice(0,-1)+this.#n}static wrapAsOffsetDateTime(t,n=`Z`){let r=new e(t);return r.#n=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#n=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#t=!1,n.#n=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#e=!1,n.#n=null,n}};let ue=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,de=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,fe=/^[+-]?0[0-9_]/,pe=/^[0-9a-f]{2,8}$/i,me={b:`\b`,t:` `,n:`
|
|
12
|
-
`,f:`\f`,r:`\r`,e:`\x1B`,'"':`"`,"\\":`\\`};function he(e,t=0,n=e.length){let r=e[t]===`'`,i=e[t++]===e[t]&&e[t]===e[t+1];i&&(n-=2,e[t+=2]===`\r`&&t++,e[t]===`
|
|
13
|
-
`&&t++);let a=0,o,s=``,c=t;for(;t<n-1;){let n=e[t++];if(n===`
|
|
14
|
-
`||n===`\r`&&e[t]===`
|
|
15
|
-
`){if(!i)throw new C(`newlines are not allowed in strings`,{toml:e,ptr:t-1})}else if(n<` `&&n!==` `||n===``)throw new C(`control characters are not allowed in strings`,{toml:e,ptr:t-1});if(o){if(o=!1,n===`x`||n===`u`||n===`U`){let r=e.slice(t,t+=n===`x`?2:n===`u`?4:8);if(!pe.test(r))throw new C(`invalid unicode escape`,{toml:e,ptr:a});try{s+=String.fromCodePoint(parseInt(r,16))}catch{throw new C(`invalid unicode escape`,{toml:e,ptr:a})}}else if(i&&(n===`
|
|
16
|
-
`||n===` `||n===` `||n===`\r`)){if(t=E(e,t-1,!0),e[t]!==`
|
|
17
|
-
`&&e[t]!==`\r`)throw new C(`invalid escape: only line-ending whitespace may be escaped`,{toml:e,ptr:a});t=E(e,t)}else if(n in me)s+=me[n];else throw new C(`unrecognized escape sequence`,{toml:e,ptr:a});c=t}else !r&&n===`\\`&&(a=t-1,o=!0,s+=e.slice(c,a))}return s+e.slice(c,n-1)}function ge(e,t,n,r){if(e===`true`)return!0;if(e===`false`)return!1;if(e===`-inf`)return-1/0;if(e===`inf`||e===`+inf`)return 1/0;if(e===`nan`||e===`+nan`||e===`-nan`)return NaN;if(e===`-0`)return r?0n:0;let i=ue.test(e);if(i||de.test(e)){if(fe.test(e))throw new C(`leading zeroes are not allowed`,{toml:t,ptr:n});e=e.replace(/_/g,``);let a=+e;if(isNaN(a))throw new C(`invalid number`,{toml:t,ptr:n});if(i){if((i=!Number.isSafeInteger(a))&&!r)throw new C(`integer value cannot be represented losslessly`,{toml:t,ptr:n});(i||r===!0)&&(a=BigInt(e))}return a}let a=new O(e);if(!a.isValid())throw new C(`invalid value`,{toml:t,ptr:n});return a}function _e(e,t,n){let r=e.slice(t,n),i=r.indexOf(`#`);return i>-1&&(T(e,i),r=r.slice(0,i)),[r.trimEnd(),i]}function ve(e,t,n,r,i){if(r===0)throw new C(`document contains excessively nested structures. aborting.`,{toml:e,ptr:t});let a=e[t];if(a===`[`||a===`{`){let[o,s]=a===`[`?Se(e,t,r,i):xe(e,t,r,i);if(n){if(s=E(e,s),e[s]===`,`)s++;else if(e[s]!==n)throw new C(`expected comma or end of structure`,{toml:e,ptr:s})}return[o,s]}let o;if(a===`"`||a===`'`){o=D(e,t);let r=he(e,t,o);if(n){if(o=E(e,o),e[o]&&e[o]!==`,`&&e[o]!==n&&e[o]!==`
|
|
18
|
-
`&&e[o]!==`\r`)throw new C(`unexpected character encountered`,{toml:e,ptr:o});o+=+(e[o]===`,`)}return[r,o]}o=ce(e,t,`,`,n);let s=_e(e,t,o-+(e[o-1]===`,`));if(!s[0])throw new C(`incomplete key-value declaration: no value specified`,{toml:e,ptr:t});return n&&s[1]>-1&&(o=E(e,t+s[1]),o+=+(e[o]===`,`)),[ge(s[0],e,t,i),o]}let ye=/^[a-zA-Z0-9-_]+[ \t]*$/;function be(e,t,n=`=`){let r=t-1,i=[],a=e.indexOf(n,t);if(a<0)throw new C(`incomplete key-value: cannot find end of key`,{toml:e,ptr:t});do{let o=e[t=++r];if(o!==` `&&o!==` `)if(o===`"`||o===`'`){if(o===e[t+1]&&o===e[t+2])throw new C(`multiline strings are not allowed in keys`,{toml:e,ptr:t});let s=D(e,t);if(s<0)throw new C(`unfinished string encountered`,{toml:e,ptr:t});r=e.indexOf(`.`,s);let c=e.slice(s,r<0||r>a?a:r),l=w(c);if(l>-1)throw new C(`newlines are not allowed in keys`,{toml:e,ptr:t+r+l});if(c.trimStart())throw new C(`found extra tokens after the string part`,{toml:e,ptr:s});if(a<s&&(a=e.indexOf(n,s),a<0))throw new C(`incomplete key-value: cannot find end of key`,{toml:e,ptr:t});i.push(he(e,t,s))}else{r=e.indexOf(`.`,t);let n=e.slice(t,r<0||r>a?a:r);if(!ye.test(n))throw new C(`only letter, numbers, dashes and underscores are allowed in keys`,{toml:e,ptr:t});i.push(n.trimEnd())}}while(r+1&&r<a);return[i,E(e,a+1,!0,!0)]}function xe(e,t,n,r){let i={},a=new Set,o;for(t++;(o=e[t++])!==`}`&&o;)if(o===`,`)throw new C(`expected value, found comma`,{toml:e,ptr:t-1});else if(o===`#`)t=T(e,t);else if(o!==` `&&o!==` `&&o!==`
|
|
19
|
-
`&&o!==`\r`){let o,s=i,c=!1,[l,u]=be(e,t-1);for(let n=0;n<l.length;n++){if(n&&(s=c?s[o]:s[o]={}),o=l[n],(c=Object.hasOwn(s,o))&&(typeof s[o]!=`object`||a.has(s[o])))throw new C(`trying to redefine an already defined value`,{toml:e,ptr:t});!c&&o===`__proto__`&&Object.defineProperty(s,o,{enumerable:!0,configurable:!0,writable:!0})}if(c)throw new C(`trying to redefine an already defined value`,{toml:e,ptr:t});let[d,f]=ve(e,u,`}`,n-1,r);a.add(d),s[o]=d,t=f}if(!o)throw new C(`unfinished table encountered`,{toml:e,ptr:t});return[i,t]}function Se(e,t,n,r){let i=[],a;for(t++;(a=e[t++])!==`]`&&a;)if(a===`,`)throw new C(`expected value, found comma`,{toml:e,ptr:t-1});else if(a===`#`)t=T(e,t);else if(a!==` `&&a!==` `&&a!==`
|
|
20
|
-
`&&a!==`\r`){let a=ve(e,t-1,`]`,n-1,r);i.push(a[0]),t=a[1]}if(!a)throw new C(`unfinished array encountered`,{toml:e,ptr:t});return[i,t]}function Ce(e,t,n,r){let i=t,a=n,o,s=!1,c;for(let t=0;t<e.length;t++){if(t){if(i=s?i[o]:i[o]={},a=(c=a[o]).c,r===0&&(c.t===1||c.t===2))return null;if(c.t===2){let e=i.length-1;i=i[e],a=a[e].c}}if(o=e[t],(s=Object.hasOwn(i,o))&&a[o]?.t===0&&a[o]?.d)return null;s||(o===`__proto__`&&(Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(a,o,{enumerable:!0,configurable:!0,writable:!0})),a[o]={t:t<e.length-1&&r===2?3:r,d:!1,i:0,c:{}})}if(c=a[o],c.t!==r&&!(r===1&&c.t===3)||(r===2&&(c.d||(c.d=!0,i[o]=[]),i[o].push(i={}),c.c[c.i++]=c={t:1,d:!1,i:0,c:{}}),c.d))return null;if(c.d=!0,r===1)i=s?i[o]:i[o]={};else if(r===0&&s)return null;return[o,i,c.c]}function we(e,{maxDepth:t=1e3,integersAsBigInt:n}={}){let r={},i={},a=r,o=i;for(let s=E(e,0);s<e.length;){if(e[s]===`[`){let t=e[++s]===`[`,n=be(e,s+=+t,`]`);if(t){if(e[n[1]-1]!==`]`)throw new C(`expected end of table declaration`,{toml:e,ptr:n[1]-1});n[1]++}let c=Ce(n[0],r,i,t?2:1);if(!c)throw new C(`trying to redefine an already defined table or value`,{toml:e,ptr:s});o=c[2],a=c[1],s=n[1]}else{let r=be(e,s),i=Ce(r[0],a,o,0);if(!i)throw new C(`trying to redefine an already defined table or value`,{toml:e,ptr:s});let c=ve(e,r[1],void 0,t,n);i[1][i[0]]=c[0],s=c[1]}if(s=E(e,s,!0),e[s]&&e[s]!==`
|
|
21
|
-
`&&e[s]!==`\r`)throw new C(`each key-value declaration must be followed by an end-of-line`,{toml:e,ptr:s});s=E(e,s)}return r}const Te=/^v?(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9._-]+(?:\.[a-zA-Z0-9._-]+)*))?(?:\+[a-zA-Z0-9._-]+)?$/,Ee=new Map;function k(e){if(typeof e!=`string`)return null;let t=Ee.get(e);if(t!==void 0)return t;let n=Te.exec(e.trim());if(!n)return Ee.set(e,null),null;let r=Number(n[1]),i=Number(n[2]),a=Number(n[3]),o=n[4]?n[4].split(`.`).map(e=>/^\d+$/.test(e)?Number(e):e):[],s={major:r,minor:i,patch:a,prerelease:o,version:`${r}.${i}.${a}${o.length?`-${o.join(`.`)}`:``}`};return Ee.set(e,s),s}function De(e,t){let n=typeof e==`number`,r=typeof t==`number`;return n&&r?e-t:n?-1:r?1:e<t?-1:e>t?1:0}function Oe(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function A(e,t){let n=Oe(e,t);if(n!==0)return n;if(!e.prerelease.length&&!t.prerelease.length)return 0;if(e.prerelease.length&&!t.prerelease.length)return-1;if(!e.prerelease.length&&t.prerelease.length)return 1;let r=Math.max(e.prerelease.length,t.prerelease.length);for(let n=0;n<r;n++){if(e.prerelease[n]===void 0)return-1;if(t.prerelease[n]===void 0)return 1;let r=De(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function j(e){return k(e)?.version??null}function ke(e){return k(e)}const Ae=new Map,je=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function Me(e){if(typeof e!=`string`)return null;let t=Ae.get(e);if(t!==void 0)return t;let n=je.exec(e);if(!n)return Ae.set(e,null),null;let r={version:`${n[1]||`0`}.${n[2]||`0`}.${n[3]||`0`}`};return Ae.set(e,r),r}function M(e,t){let n=k(e),r=k(t);if(!n||!r||n.version===r.version)return null;let i=A(n,r),a=i>0?n:r,o=i>0?r:n,s=a.prerelease.length>0;if(o.prerelease.length>0&&!s){if(!o.patch&&!o.minor)return`major`;if(Oe(o,a)===0)return o.minor&&!o.patch?`minor`:`patch`}let c=s?`pre`:``;return n.major===r.major?n.minor===r.minor?n.patch===r.patch?`prerelease`:`${c}patch`:`${c}minor`:`${c}major`}function Ne(e,t){let n=k(e),r=k(t);return!n||!r?!1:A(n,r)>0}function Pe(e,t){let n=k(e),r=k(t);return!n||!r?!1:A(n,r)>=0}function Fe(e,t){let n=k(e),r=k(t);return!n||!r?!1:A(n,r)<0}function Ie(e,t){let n=k(e),r=k(t);return!n||!r?!0:A(n,r)!==0}function Le(e){let t=/^(>=|<=|>|<|=)?\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+(?:\.[a-zA-Z0-9._-]+)*)?)$/.exec(e.trim());if(!t)return null;let n=t[2],r=k(`${n}.${t[3]??`0`}.${t[4]??`0`}${t[5]||``}`);return r?{op:t[1]||`=`,semver:r}:null}function Re(e,t){let n=A(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return n===0}}function N(e,t,n){return`${e}.${t}.${n}-0`}function ze(e){return e.replace(/~\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i)=>{let a=Number(t);if(n===void 0)return`>=${a}.0.0 <${N(a+1,0,0)}`;let o=Number(n);return`>=${a}.${o}.${r===void 0?0:Number(r)}${i||``} <${N(a,o+1,0)}`})}function Be(e){return e.replace(/\^\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i)=>{let a=Number(t),o=i||``;if(n===void 0)return`>=${a}.0.0 <${N(a+1,0,0)}`;let s=Number(n);if(r===void 0)return a===0?`>=${a}.${s}.0 <${N(a,s+1,0)}`:`>=${a}.${s}.0 <${N(a+1,0,0)}`;let c=Number(r);return a===0?s===0?`>=${a}.${s}.${c}${o} <${N(a,s,c+1)}`:`>=${a}.${s}.${c}${o} <${N(a,s+1,0)}`:`>=${a}.${s}.${c}${o} <${N(a+1,0,0)}`})}function Ve(e){return e.replace(/v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)\s+-\s+v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i,a,o,s,c)=>{let l=Number(t),u=n===void 0?0:Number(n),d=r===void 0?0:Number(r),f=i||``,p=Number(a),m;return m=s===void 0?o===void 0?`<${N(p+1,0,0)}`:`<${N(p,Number(o)+1,0)}`:`<=${p}.${Number(o)}.${Number(s)}${c||``}`,`>=${l}.${u}.${d}${f} ${m}`})}function He(e){return/^\s*[*xX]\s*$/.test(e)?`>=0.0.0`:(e=e.replace(/v?(\d+)\.[xX*](?:\.[xX*])?/g,(e,t)=>{let n=Number(t);return`>=${n}.0.0 <${N(n+1,0,0)}`}),e=e.replace(/v?(\d+)\.(\d+)\.[xX*]/g,(e,t,n)=>{let r=Number(t),i=Number(n);return`>=${r}.${i}.0 <${N(r,i+1,0)}`}),e=e.replace(/(^|[\s|])(\d+)\.(\d+)(?=\s|$)/g,(t,n,r,i,a)=>{let o=e.substring(0,a).trimEnd();if(/[<>=]$/.test(o))return t;let s=Number(r),c=Number(i);return`${n}>=${s}.${c}.0 <${N(s,c+1,0)}`}),e=e.replace(/(^|[\s|])(\d+)(?=\s|$)/g,(t,n,r,i)=>{let a=e.substring(0,i).trimEnd();if(/[<>=]$/.test(a))return t;let o=Number(r);return`${n}>=${o}.0.0 <${N(o+1,0,0)}`}),e)}const Ue=new Map;function We(e){let t=Ue.get(e);if(t!==void 0)return t;let n=e.split(`||`).map(e=>e.trim()),r=[];for(let t of n){if(!t){r.push([]);continue}t=Ve(t),t=Be(t),t=ze(t),t=He(t),t=t.replace(/(^|[\s])v?(\d+\.\d+\.\d+(?:-[a-zA-Z0-9._-]+(?:\.[a-zA-Z0-9._-]+)*)?)\b/g,(e,t)=>/[<>=]/.test(t)?e:`${t}=${e.trim()}`),t=t.replace(/(>=|<=|>|<|=)\s+/g,`$1`);let n=t.split(/\s+/).filter(Boolean),i=[];for(let t of n){let n=Le(t);if(!n)return Ue.set(e,null),null;i.push(n)}if(i.length===0)return Ue.set(e,null),null;r.push(i)}let i=r.length?r:null;return Ue.set(e,i),i}function Ge(e,t){for(let n of t)if(!Re(e,n))return!1;if(e.prerelease.length>0){for(let n of t)if(n.semver.prerelease.length>0&&n.semver.major===e.major&&n.semver.minor===e.minor&&n.semver.patch===e.patch)return!0;return!1}return!0}function Ke(e,t){let n=k(e);if(!n)return!1;let r=We(t);if(!r)return!1;for(let e of r)if(e.length===0||Ge(n,e))return!0;return!1}function qe(e){if(typeof e!=`string`)return null;try{return We(e)?e:null}catch{return null}}const Je=[[1e3,6e4,`sec`],[6e4,36e5,`min`],[36e5,864e5,`hour`],[864e5,6048e5,`day`],[6048e5,2628e6,`week`],[2628e6,31536e6,`month`],[31536e6,1/0,`year`]],Ye={"1 day ago":`yesterday`,"1 week ago":`last week`,"1 month ago":`last month`,"1 year ago":`last year`,"in 1 day":`tomorrow`,"in 1 week":`next week`,"in 1 month":`next month`,"in 1 year":`next year`},Xe={sec:`second`,min:`minute`};function Ze(e){return e instanceof Date?e.getTime():typeof e==`string`?Date.parse(e):e}function P(e,{now:t,noAffix:n=!1,times:r=Je,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=Ye,longUnits:l=!1}={}){let u=Ze(e),d=t===void 0?Date.now():Ze(t);if(u!==u)return o||String(e);let f=d-u,p=f<0;if(p&&(f=-f),f<i)return a;let m=0,h=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(!(f>=t[1])){m=f/t[0]|0,h=(l&&Xe[t[2]]||t[2])+(m>1?`s`:``);break}}let g=`${m} ${h}`,_;return _=n?g:p?`in ${g}`:`${g} ago`,s?c[_]??_:_}function Qe(e,t,n){if(e===t)return e;let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;if(r>0&&e[r-1]!==`.`&&e[r-1]!==`-`){let t=r-1;for(;t>=0&&e[t]!==`.`&&e[t]!==`-`;)t--;if(t>=0)r=t+1;else{let t=0;for(;t<r&&!/\d/.test(e[t]);)t++;r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}function $e(e){let t=[];for(let n of e){let[e,r]=n.replaceAll(/\s+/g,``).split(/[<>=~]+/);e&&/^[0-9.a-z]+$/.test(r)&&t.push({name:e,version:r})}return t}const et=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`packageManager`],tt=[`node`,`deno`,`bun`],nt=[`tool.poetry.dependencies`,`tool.poetry.dev-dependencies`,`tool.poetry.test-dependencies`,`tool.poetry.group.dev.dependencies`,`tool.poetry.group.test.dependencies`],rt=[`project.dependencies`,`project.optional-dependencies`,`dependency-groups.dev`,`dependency-groups.lint`,`dependency-groups.test`],it=[`deps`,`replace`];function F(e,t){for(let n of t instanceof Set?t:[])if(n.test(e))return!0;return!1}function at(e,t){return t.split(`.`).reduce((e,t)=>e?.[t]??null,e)}function ot(e){return e.split(`,`).filter(Boolean)}function st(e,t,n){return!e||!t?!0:(n-Date.parse(e))/(24*3600*1e3)>=t}function ct(){let e=new Date;return[e.getFullYear(),`-`,String(e.getMonth()+1).padStart(2,`0`),`-`,String(e.getDate()).padStart(2,`0`),` `,String(e.getHours()).padStart(2,`0`),`:`,String(e.getMinutes()).padStart(2,`0`),`:`,String(e.getSeconds()).padStart(2,`0`)].join(``)}function lt(e,t,n=` `){let r=``,i=Array(e[0].length).fill(0);for(let n of e)for(let[e,r]of n.entries()){let n=t(r);n>i[e]&&(i[e]=n)}for(let[a,o]of e.entries()){for(let[e,a]of o.entries()){e>0&&(r+=n);let s=` `.repeat(i[e]-t(a));r+=a+(e===o.length-1?``:s)}a<e.length-1&&(r+=`
|
|
22
|
-
`)}return r}const ut={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function dt(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=ut[n.toLowerCase()];if(r)return Number(e)*r}let n=Number(e);if(!Number.isFinite(n))throw Error(`Invalid cooldown value: ${e}`);return n}function ft(){let e=new Map,t=new Map,n=ne.lookup;ne.lookup=function(r,...i){let a={},o;typeof i[0]==`function`?o=i[0]:(a=typeof i[0]==`number`?{family:i[0]}:i[0]||{},o=i[1]);let s=e.get(r);if(s){a.all?o(null,s):o(null,s[0].address,s[0].family);return}if(t.has(r)){t.get(r).push({options:a,callback:o});return}t.set(r,[{options:a,callback:o}]),n.call(ne,r,{all:!0},(n,i)=>{let a=t.get(r);t.delete(r),!n&&i?.length&&e.set(r,i);for(let{options:e,callback:t}of a)n?t(n):e.all?t(null,i):t(null,i[0].address,i[0].family)})}}const pt=`17.8.0`,mt=5e3,I=e=>e.replace(/^v/,``),L=e=>e.replace(/[|\\{}()[\]^$+*?.-]/g,`\\$&`),R=e=>e.endsWith(`/`)?e.substring(0,e.length-1):e;function ht(e,t){return{headers:{"user-agent":`updates/${pt}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}async function gt(e,t,n,r,i,a,o){n&&r&&i&&r(`${i(`fetch`)} ${e}`);let s=await fetch(e,t);return n&&r&&a&&o&&r(`${s.ok?a(s.status):o(s.status)} ${e}`),s}function z(e){let t=ke(e);return t?!!t.prerelease.length:!1}function _t(e){return/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e)}function vt(e,t,{useRel:n,allowDowngrade:r,name:i,matchesAny:a}){let o=B(e),s=B(t);if(!o||!s)return!0;let c=_t(e)||z(e),l=z(t);return c&&!l?Ne(s,o)||n:!l&&Fe(s,o)?r===!0||a(i,r):!0}function B(e){try{return Me(e)?.version??``}catch{return``}}function yt(e,t,{range:n,semvers:r,usePre:i,useRel:a,useGreatest:o,pinnedRange:s}){let c=B(n);if(!c)return c;i=_t(n)||i,i&&(r.add(`prerelease`),r.has(`patch`)&&r.add(`prepatch`),r.has(`minor`)&&r.add(`preminor`),r.has(`major`)&&r.add(`premajor`));let l=0,u=c;for(let n of t){let t=ke(n);if(!t?.version||t.prerelease.length&&(!i||a))continue;let c=t.version;if(s&&!Ke(c,s))continue;let d=M(u,c);if(!(!d||!r.has(d)))if(o||!(`time`in e))Pe(B(c),u)&&(u=c);else{let t=Date.parse(e.time[n]);t>=0&&t>l&&(u=c,l=t)}}return u||null}function bt(e,{mode:t,range:n,useGreatest:r,useRel:i,usePre:a,semvers:o,pinnedRange:s},{allowDowngrade:c,matchesAny:l,isGoPseudoVersion:u}){if(n===`*`||n.includes(`||`))return null;let d=[];if(t===`pypi`)d=Object.keys(e.releases).filter(e=>j(e));else if(t===`npm`)d=Object.keys(e.versions).filter(e=>j(e));else if(t===`go`){let t=B(n);if(!t)return null;let r=a||_t(n),s=e=>z(e)&&(!r||i),d={useRel:i,allowDowngrade:c,name:e.name,matchesAny:l},f=e.old||n,p=B(e.new);if(p&&!u(e.new)&&!s(e.new)){let n=M(t,p);if(n&&o.has(n)&&vt(f,e.new,d))return e.new}let m=B(e.sameMajorNew);if(m&&!u(e.sameMajorNew)&&!s(e.sameMajorNew)){let n=M(t,m);if(n&&o.has(n)&&vt(f,e.sameMajorNew,d))return e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew}return null}let f=yt(e,d,{range:n,semvers:o,usePre:a,useRel:i,useGreatest:r,pinnedRange:s});if(!f)return null;if(r)return f;{let r=``,u=``;t===`pypi`?(u=e.info.version,r=B(e.info.version)):r=e[`dist-tags`].latest;let d=B(n),p=_t(n),m=z(f),h=z(r),g={useRel:i,allowDowngrade:c,name:e.name,matchesAny:l};if(!i&&a||p&&m)return f;if(p&&!m)return vt(n,f,g)?f:null;let _=M(d,r);return _&&_!==`prerelease`&&!o.has(_.replace(/^pre/,``))||i&&z(r)?f:Fe(r,d)&&!h?vt(n,r,g)?r:null:!p&&h&&!a||s&&!Ke(r,s)?f:u||r}}const xt=new Map;if(t.UPDATES_FORGE_TOKENS)for(let e of t.UPDATES_FORGE_TOKENS.split(`,`)){let t=e.indexOf(`:`);t>0&&xt.set(e.substring(0,t),e.substring(t+1))}function St(e){try{let t=xt.get(new URL(e).hostname);if(t)return t}catch{}return t.UPDATES_GITHUB_API_TOKEN||t.GITHUB_API_TOKEN||t.GH_TOKEN||t.GITHUB_TOKEN||t.HOMEBREW_GITHUB_API_TOKEN}function Ct(e,t){let n={signal:AbortSignal.timeout(t.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}},r=St(e);return r&&(n.headers={...n.headers,Authorization:`Bearer ${r}`}),t.doFetch(e,n)}function wt(e,t,n){let r=I(t);if(!j(r))return null;if(n){let n=t,i=I(t);for(let t of e){let e=I(t);j(e)&&(!n||Ne(e,i))&&(n=t,i=e)}if(Ie(r,i))return n}else{let t=e.at(-1);if(!t)return null;let n=I(t);if(!j(n))return null;if(Ie(r,n))return t}return null}function Tt(e){return e=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``),/^[a-z]+:[a-z0-9-]\/[a-z0-9-]$/.test(e)?e.replace(/^(.+?):/,(e,t)=>`https://${t}.com/`):/^[a-z0-9-]\/[a-z0-9-]$/.test(e)?`https://github.com/${e}`:e}const Et=/^[0-9a-f]{7,}$/i;function Dt(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function Ot(e,t,n,r){try{let i=await Ct(`${e}/repos/${t}/${n}/tags?per_page=100`,r);if(!i?.ok)return[];let a=Dt(await i.json()),o=i.headers.get(`link`)||``,s=/<([^>]+)>;\s*rel="last"/.exec(o);if(s){let i=Number(new URL(s[1]).searchParams.get(`page`)),o=await Promise.all(Array.from({length:i-1},(i,a)=>Ct(`${e}/repos/${t}/${n}/tags?per_page=100&page=${a+2}`,r)));for(let e of o)e?.ok&&a.push(...Dt(await e.json()))}return a}catch{return[]}}function kt(e,t,n,r){throw e?.status&&e?.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}function At(e,t,n=``){let r=t.startsWith(`v`),i=I(e),a=I(t).split(`.`).length,o=i.split(`.`),s;return s=a===1?o[0]:a===2?`${o[0]}.${o[1]||`0`}`:i,`${r?`v`:``}${s}${n}`}function jt(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}function Mt({repository:e,homepage:t,info:n},r,i){n&&(e=n.project_urls.repository||n.project_urls.Repository||n.project_urls.repo||n.project_urls.Repo||n.project_urls.source||n.project_urls.Source||n.project_urls[`source code`]||n.project_urls[`Source code`]||n.project_urls[`Source Code`]||n.project_urls.homepage||n.project_urls.Homepage||`https://pypi.org/project/${i}/`);let a=``;return r===`https://npm.pkg.github.com`?`https://github.com/${i.replace(/^@/,``)}`:(e&&(a=Tt(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a=`${a}/${jt(a)}/${e.directory}`)),a||t||``)}function Nt(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();i.length>=2&&(i.startsWith(`"`)&&i.endsWith(`"`)||i.startsWith(`'`)&&i.endsWith(`'`))&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function Pt(e){try{return Nt(h(e,`utf-8`))}catch{return}}function Ft(t){let n=e();for(;;){let e=l(n,t);try{return _(e),e}catch{}let r=c(n);if(r===n)break;n=r}}function It(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t))if(i.toLowerCase().startsWith(r)){let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let r=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)r[n]=a;else if(r[n]===void 0&&(r[n]={}),typeof r[n]==`object`)r=r[n];else break}}return n}function Lt(e,n={}){let i=r===`win32`,a=i?t.USERPROFILE:t.HOME,o=[{...n}],s=[];function c(e){if(!e||s.includes(e))return;let t=Pt(e);t&&(o.push(t),s.push(e))}i||(c(l(`/etc`,e,`config`)),c(l(`/etc`,`${e}rc`))),a&&(c(l(a,`.config`,e,`config`)),c(l(a,`.config`,e)),c(l(a,`.${e}`,`config`)),c(l(a,`.${e}rc`))),c(Ft(`.${e}rc`));let u=It(`${e}_`);return u.config&&c(u.config),Object.assign({},...o,u,s.length?{configs:s,config:s[s.length-1]}:void 0)}const Rt=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,zt=/^([^/]+)\/([^/#]+)?.*?\/([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,Bt=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,Vt=/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g,Ht=`https://registry.npmjs.org`;let V=null;const Ut=new Map;function Wt(){return V||Lt(`npm`,{registry:Ht})}function Gt(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``)}function Kt(e,t){let n=t[`${e}:_authToken`]||t[`${e}/:_authToken`];if(n)return{token:Gt(n),type:`Bearer`};let r=t[`${e}:username`]||t[`${e}/:username`],i=t[`${e}:_password`]||t[`${e}/:_password`];if(r&&i){let e=Buffer.from(Gt(i),`base64`).toString(`utf8`);return{token:Buffer.from(`${r}:${e}`).toString(`base64`),type:`Basic`,username:r,password:e}}let a=t[`${e}:_auth`]||t[`${e}/:_auth`];if(a)return{token:Gt(a),type:`Basic`}}function H(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=Kt(`//${n.host}${r.replace(/\/$/,``)}`,t);if(e)return e;let i=r.endsWith(`/`)?r:`${r}/`;n.pathname=new URL(`..`,new URL(i,`http://x`)).pathname}let i=t._auth;if(i)return{token:Gt(i),type:`Basic`}}function qt(e,t){let n=t[`${e}:registry`]||t.registry;return n.endsWith(`/`)?n:`${n}/`}function Jt(e,t){V||=Wt();let n=e.startsWith(`@`)?(/@[a-z0-9][\w-.]+/.exec(e)||[``])[0]:``,r=`${n}:${t}`,i=Ut.get(r);if(i)return i;let a;if(!e.startsWith(`@`))a={auth:H(t,V),registry:t};else{let e=R(qt(n,V));if(e!==t)try{let n=H(e,V);a=n?.token?{auth:n,registry:e}:{auth:H(t,V),registry:t}}catch{a={auth:H(t,V),registry:t}}else a={auth:H(t,V),registry:t}}return Ut.set(r,a),a}async function Yt(e,t,n,r,i){V||=Wt();let{auth:a,registry:o}=Jt(e,R((typeof r.registry==`string`?r.registry:!1)||n.registry||V.registry||Ht)),c=`${o}/${(t===`resolutions`?s(e):e).replace(/\//g,`%2f`)}`,l=await i.doFetch(c,{signal:AbortSignal.timeout(i.fetchTimeout),...ht(a?.type,a?.token)});if(l?.ok)return[await l.json(),t,o,e];kt(l,c,e,o)}function U(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Xt(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Zt(e,t){if(e.startsWith(`npm:@jsr/`)){let t=/^npm:@jsr\/([^_]+)__([^@]+)@(.+)$/.exec(e);if(t)return{scope:t[1],name:t[2],version:t[3]}}else if(e.startsWith(`jsr:@`)){let t=/^jsr:@([^/]+)\/([^@]+)@(.+)$/.exec(e);if(t)return{scope:t[1],name:t[2],version:t[3]}}else if(e.startsWith(`jsr:`)){let n=e.substring(4);if(t?.startsWith(`@`)){let e=/^@([^/]+)\/(.+)$/.exec(t);if(e)return{scope:e[1],name:e[2],version:n}}}return{scope:null,name:null,version:``}}async function Qt(e,t,n){let r=/^@([^/]+)\/(.+)$/.exec(e);if(!r)throw Error(`Invalid JSR package name: ${e}`);let[,i,a]=r,o=`${n.jsrApiUrl}/@${i}/${a}/meta.json`,s=await n.doFetch(o,{signal:AbortSignal.timeout(n.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}});if(s?.ok){let r=await s.json(),i={},a={};for(let[e,t]of Object.entries(r.versions))i[e]={version:e,time:t.createdAt},a[e]=t.createdAt;return[{name:e,"dist-tags":{latest:r.latest},versions:i,time:a},t,n.jsrApiUrl,e]}kt(s,o,e,`JSR`)}function $t(e,t){let n=e;for(let[e,{old:r,oldOrig:i}]of Object.entries(t)){let[a,o]=e.split(`\0`),s=i||r;if(a===`packageManager`){let r=RegExp(`"${L(a)}": *"${o}@${L(s)}"`,`g`);n=n.replace(r,`"${a}": "${o}@${t[e].new}"`)}else{let r=RegExp(`"${L(o)}": *"${L(s)}"`,`g`);n=n.replace(r,`"${o}": "${t[e].new}"`)}}return n}function en(e,t,n){let r=e.replace(Vt,t);if(n&&n!==e&&/^[\^~]/.test(r)){let e=n.substring(1).split(`.`),t=r.substring(1).split(`.`);e.length!==t.length&&(r=`${r[0]}${t.slice(0,e.length).join(`.`)}`)}if(n&&n!==e&&r.startsWith(`>=`)){let e=/^>=\s/.test(n)?`>= `:`>=`,t=n.replace(/^>=\s*/,``),i=r.replace(/^>=\s*/,``),a=t.split(`.`),o=i.split(`.`);a.length!==o.length&&(r=`${e}${o.slice(0,a.length).join(`.`)}`)}return r}function tn(e){let t=e.match(Bt);return t?.length===1?e.replace(Bt,B(t[0])):e}async function nn(e,t,n){try{let r=await Ct(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n);if(!r?.ok)return{hash:``,commit:{}};let{sha:i,commit:a}=(await r.json())[0];return{hash:i,commit:a}}catch{return{hash:``,commit:{}}}}async function rn(e,t,n){return(await Ot(n.forgeApiUrl,e,t,n)).map(e=>e.name)}async function an(e,t,n,r){let i=t.old.replace(Rt,``),[a,o,s,c]=zt.exec(i)||[];if(!o||!s||!c)return null;if(Et.test(c)){let{hash:n,commit:i}=await nn(o,s,r);if(!n)return null;let a=i?.committer?.date??i?.author?.date,l=n.substring(0,c.length);if(c!==l)return{key:e,newRange:t.old.replace(c,l),user:o,repo:s,oldRef:c,newRef:l,newDate:a}}else{let t=wt(await rn(o,s,r),c,n);if(t)return{key:e,newRange:t,user:o,repo:s,oldRef:c,newRef:t}}return null}async function on(e,t,n){let r=`${n.pypiApiUrl}/pypi/${e}/json`,i=await n.doFetch(r,{signal:AbortSignal.timeout(n.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}});if(i?.ok)return[await i.json(),t,null,e];kt(i,r,e,n.pypiApiUrl)}function sn(e,t){let n=e;for(let[e,{old:r,oldOrig:i}]of Object.entries(t)){let[a,o]=e.split(`\0`),s=i||r;n=n.replace(RegExp(`${L(o)} *= *"${L(s)}"`,`g`),`${o} = "${t[e].new}"`),n=n.replace(RegExp(`("${L(o)} *[<>=~]+ *)${L(s)}(")`,`g`),(n,r,i)=>`${r}${t[e].new}${i}`)}return n}const cn=x(S);function ln(){let e=t.GOPROXY||`https://proxy.golang.org,direct`;for(let t of e.split(/[,|]/)){let e=t.trim();if(e&&e!==`direct`&&e!==`off`)return e.endsWith(`/`)?e.substring(0,e.length-1):e}return`https://proxy.golang.org`}function un(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim()).filter(Boolean)}function dn(e,t){return t.some(t=>e===t||e.startsWith(`${t}/`))}function fn(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}function pn(e){let t=/\/v(\d+)$/.exec(e);return t?parseInt(t[1]):1}function mn(e,t){return t<=1?e.replace(/\/v\d+$/,``):`${e.replace(/\/v\d+$/,``)}/v${t}`}function hn(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function gn(e){return`${(e.length+4).toString(16).padStart(4,`0`)}${e}`}function _n(e){let t=[gn(`command=ls-refs
|
|
23
|
-
`),gn(`object-format=sha1
|
|
24
|
-
`),`0001`,gn(`peel
|
|
25
|
-
`),gn(`ref-prefix refs/tags/${e}v\n`),`0000`];return new Blob([t.join(``)])}function vn(e,t){let n=new TextDecoder().decode(e),r=[],i=`refs/tags/${t}`,a=0;for(;a<n.length&&!n.startsWith(`0000`,a);){let e=n.substring(a,a+4),t=parseInt(e,16);if(t===0||isNaN(t))break;let o=n.substring(a+4,a+t);a+=t;let s=o.indexOf(` `);if(s===-1)continue;let c=o.substring(s+1).trim();if(c.endsWith(`^{}`)||!c.startsWith(i))continue;let l=c.substring(i.length);l&&r.push(l)}return r}function yn(e,t){let n=t;for(let t of e){let e=/^v(\d+)\./.exec(t);if(e){let t=parseInt(e[1]);t>n&&(n=t)}}return n>t?n:null}async function bn(e,t){try{let n=await t.doFetch(`https://${e}?go-get=1`,{signal:AbortSignal.timeout(t.goProbeTimeout)});if(!n.ok)return null;let r=await n.text(),i=/<meta\s+name="go-import"\s+content="([^"]+)"/.exec(r)||/<meta\s+content="([^"]+)"\s+name="go-import"/.exec(r);if(!i)return null;let[a,o,s]=i[1].trim().split(/\s+/);return o===`git`?{repoUrl:s,tagPrefix:e.length>a.length?`${e.substring(a.length+1)}/`:``}:null}catch{return null}}async function xn(e,t,n){try{let r=await bn(e.replace(/\/v\d+$/,``),n);if(!r)return null;let{repoUrl:i,tagPrefix:a}=r,o=_n(a),s=await n.doFetch(`${i}/git-upload-pack`,{method:`POST`,headers:{"Git-Protocol":`version=2`,"Content-Type":`application/x-git-upload-pack-request`},body:o,signal:AbortSignal.timeout(n.goProbeTimeout)});return s.ok?yn(vn(await s.arrayBuffer(),a),t):null}catch{return null}}function Sn(e,t,n){return[{name:e,old:t,new:t},n,null,e]}async function Cn(e,t,n){if(!t)return null;let r=t,i=e+1,a=1,o=null;for(;o===null;){let t=i+a;if(t>e+100){o=e+101;break}let s=await n(t);s?(r=s,i=t,a*=2):o=t}for(;i+1<o;){let e=Math.floor((i+o)/2),t=await n(e);t?(r=t,i=e):o=e}return r}function wn(e,t,n,r,i,a){let o=r?.Version??i,s=r?.Time??a,c=r?.path??e;return[{name:e,old:n,new:I(o),Time:s,...c===e?{}:{newPath:c},sameMajorNew:I(i),sameMajorTime:a},t,null,e]}function Tn(e){let t={},n={},r=new Set,i=e.split(/\r?\n/),a=!1,o=!1;for(let e of i){let i=e.trim();if(/^require\s*\(/.test(i)){a=!0;continue}if(/^replace\s*\(/.test(i)){o=!0;continue}if(i===`)`){a=!1,o=!1;continue}if(i.includes(`// indirect`))continue;if(o||/^replace\s+/.test(i)){let e=o?/^(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(i):/^replace\s+(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(i);if(e){let[,t,i,a]=e;!i.startsWith(`./`)&&!i.startsWith(`/`)&&!i.startsWith(`../`)&&(n[i]=a,r.add(t))}continue}let s=a?/^(\S+)\s+(v\S+)/.exec(i):/^require\s+(\S+)\s+(v\S+)/.exec(i);s&&(t[s[1]]=s[2])}for(let e of r)delete t[e];return{deps:t,replace:n}}async function En(e,n,r,i,a){let o=pn(e),s=async(e,n)=>{try{let{stdout:r}=await cn(`go`,[`list`,`-m`,`-json`,`${e}@latest`],{timeout:n,cwd:i,env:t}),a=JSON.parse(r);return{Version:a.Version,Time:a.Time||``,path:e}}catch{return null}},[c,l]=await Promise.all([s(e,a.fetchTimeout),s(mn(e,o+1),a.goProbeTimeout)]);return c?wn(e,n,r,await Cn(o,l,t=>s(mn(e,t),a.goProbeTimeout)),c.Version,c.Time):Sn(e,r,n)}async function Dn(e,t,n,r,i,a){if(dn(e,a))return En(e,t,n,r,i);let o=fn(e),s=pn(e),c=async t=>{let n=mn(e,t);return i.doFetch(`${i.goProxyUrl}/${fn(n)}/@latest`,{signal:AbortSignal.timeout(i.goProbeTimeout)}).then(async e=>e.ok?{...await e.json(),path:n}:null).catch(()=>null)},[l,u]=await Promise.all([i.doFetch(`${i.goProxyUrl}/${o}/@latest`,{signal:AbortSignal.timeout(i.fetchTimeout)}),xn(e,s,i)]);if(!l.ok)return Sn(e,n,t);let d,f;try{let e=await l.json();d=e.Version,f=e.Time}catch{return Sn(e,n,t)}let p=null;return u!==null&&u>s?(p=await c(u),p||=await Cn(s,await c(s+1),c)):u===null&&(p=await Cn(s,await c(s+1),c)),wn(e,t,n,p,d,f)}function On(e,t){let n=L(t);return e=e.replace(RegExp(`^replace\\s+${n}(\\s+v\\S+)?\\s+=>\\s+\\S+(\\s+v\\S+)?\\s*\\n`,`gm`),``),e=e.replace(RegExp(`^\\s+${n}(\\s+v\\S+)?\\s+=>\\s+\\S+(\\s+v\\S+)?\\s*\\n`,`gm`),``),e=e.replace(/^replace\s*\(\s*\)\s*\n/gm,``),e}function kn(e,t){let n=e,r={};for(let[e,{old:i,oldOrig:a}]of Object.entries(t)){let[o,s]=e.split(`\0`),c=a||i,l=t[e].new;if(o===`replace`){n=n.replace(RegExp(`(=>\\s+${L(s)}\\s+)v${L(c)}`,`g`),`$1v${l}`);continue}let u=pn(s),d=parseInt(l.split(`.`)[0]);if(u!==d&&d>1){let e=mn(s,d);n=n.replace(RegExp(`${L(s)} +v${L(c)}`,`g`),`${e} v${l}`),r[s]=e}else n=n.replace(RegExp(`(${L(s)}) +v${L(c)}`,`g`),`$1 v${l}`);n=On(n,s)}return[n,r]}function An(e,t,n){if(!Object.keys(t).length)return;let r=p(`**/*.go`,{cwd:e});for(let i of r){let r=l(e,i),a=h(r,`utf8`),o=!1;for(let[e,n]of Object.entries(t)){let t=RegExp(`"${L(e)}(/|")`,`g`),r=a.replace(t,`"${n}$1`);r!==a&&(a=r,o=!0)}o&&n(r,a)}}function jn(e){let t=`https://${Mn(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[e,i,a,...o]=r;return n.pathname=`/${i}/${a}/${jt(t)}/${o.join(`/`)}`,n.toString()}else return t}function Mn(e){return/\/v[0-9]$/.test(e)?c(e):e}function Nn(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}const Pn=/^\s*-?\s*uses:\s*['"]?([^'"#\s]+)['"]?/gm;function Fn(e){if(e.startsWith(`docker://`)||e.startsWith(`./`))return null;let t=/^https?:\/\/([^/]+)\/(.+)$/.exec(e),n=t?.[1]??null,r=t?.[2]??e,i=r.indexOf(`@`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!o)return null;let s=a.split(`/`);if(s.length<2)return null;let c=n?`${n}/${a}`:a;return{host:n,owner:s[0],repo:s[1],ref:o,name:c,isHash:Et.test(o)}}function In(e,t){return e?e===`github.com`?`https://api.github.com`:`https://${e}/api/v1`:t}async function Ln(e,t,n,r,i){try{let a=await Ct(`${e}/repos/${t}/${n}/git/commits/${r}`,i);if(!a?.ok)return``;let o=await a.json();return o?.committer?.date||o?.author?.date||``}catch{return``}}function Rn(e,t){return At(ke(I(e))?.version??I(e),t)}function zn(e,t){let n=e;for(let{name:e,oldRef:r,newRef:i}of t){let t=RegExp(`(uses:\\s*['"]?)${L(e)}@${L(r)}`,`g`);n=n.replace(t,`$1${e}@${i}`)}return n}function Bn(e){let t=e.replace(/\\/g,`/`);return/\.github\/workflows\/[^/]+\.(ya?ml)$/.test(t)}function Vn(e){try{return g(e).filter(e=>/\.(ya?ml)$/.test(e)).map(t=>u(l(e,t)))}catch{return[]}}const Hn=/^(v?\d+(?:\.\d+){0,2})(-.+)?$/,Un=/^\s*FROM\s+(?:--platform=\S+\s+)?(\S+)/gm,Wn=/^\s*image:\s*['"]?([^\s'"#]+)['"]?/gm,Gn=/^\s*container:\s*['"]?([^\s'"#{}]+:[^\s'"#{}]+)['"]?\s*$/gm,Kn=/^\s*-?\s*uses:\s*['"]?docker:\/\/([^'"#\s]+)['"]?/gm;function qn(e){let t=e.split(`/`);return t.length===1?{registry:null,namespace:`library`,repo:t[0]}:t.length===2&&!t[0].includes(`.`)&&!t[0].includes(`:`)?{registry:null,namespace:t[0],repo:t[1]}:{registry:t[0],namespace:t.slice(1,-1).join(`/`)||t[1],repo:t[t.length-1]}}function Jn(e){if(e=e.replace(/^docker:\/\//,``),e.includes(`@`))return null;let t=e.lastIndexOf(`:`),n,r;if(t===-1||e.lastIndexOf(`/`)>t||(n=e.substring(0,t),r=e.substring(t+1),!r||!Hn.test(r)))return null;let{registry:i,namespace:a,repo:o}=qn(n);return{registry:i,namespace:a,repo:o,tag:r,fullImage:n}}function Yn(e){let t=Hn.exec(e);return t?{version:t[1],suffix:t[2]||``}:null}function Xn(e,t){let n=Yn(t);return n?At(e,n.version,n.suffix):t}function Zn(e,t){let n=[];for(let r of e.matchAll(t)){let e=Jn(r[1]);e&&n.push({ref:e,match:r[1]})}return n}async function Qn(e,t,n){let r={},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=100&ordering=last_updated&page=${e}`,o=e=>{for(let t of e.results||[])r[t.name]=t.tag_last_pushed||t.last_updated||``},s=Array.from({length:10},(e,t)=>n.doFetch(a(t+1),{signal:AbortSignal.timeout(n.fetchTimeout)}).then(async e=>e?.ok?e.json():null).catch(()=>null)),c=await Promise.all(s),l=c[0];if(!l)return r;let u=Math.min(Math.ceil((l.count||0)/100),10);for(let e=0;e<u;e++)c[e]&&o(c[e]);return r}async function $n(e,t,n){let{registry:r,namespace:i,repo:a}=qn(e);if(r)throw Error(`Non-Docker-Hub registries are not yet supported: ${r}`);return[{tags:await Qn(i,a,n),name:e},t,null,e]}function er(e,t,n){let r=Yn(t);if(!r)return null;let i=Me(I(r.version))?.version;if(!i)return null;let a=i,o=``,s=``;for(let[t,i]of Object.entries(e)){let e=Yn(t);if(!e||e.suffix!==r.suffix)continue;let c=Me(I(e.version))?.version;if(!c||!j(c))continue;let l=M(a,c);!l||!n.has(l)||Pe(c,a)&&(a=c,o=t,s=i)}if(!o||a===i)return null;let c=Xn(a,t);return c===t?null:{newTag:c,date:s}}function tr(e,t,n){let r=e;for(let[e,i]of Object.entries(t)){let[t,a]=e.split(`\0`),o=i.oldOrig||i.old;for(let e of n)r=r.replace(e(L(a),L(o)),`$1${a}:${i.new}`)}return r}function nr(e,t){return tr(e,t,[(e,t)=>RegExp(`(FROM\\s+(?:--platform=\\S+\\s+)?)${e}:${t}`,`g`)])}function rr(e,t){return tr(e,t,[(e,t)=>RegExp(`(image:\\s*['"]?)${e}:${t}`,`g`)])}function ir(e,t){return tr(e,t,[(e,t)=>RegExp(`((?:container|image):\\s*['"]?)${e}:${t}`,`g`),(e,t)=>RegExp(`(uses:\\s*['"]?docker://)${e}:${t}`,`g`)])}const ar=[`Dockerfile`,`docker-compose.yml`,`docker-compose.yaml`];function or(e){return/^docker-.+\.ya?ml$/.test(e)}function sr(e){return/^Dockerfile(\..+)?$/.test(e)}function cr(e){return sr(e)||or(e)}function lr(e){return sr(e)?Un:Wn}function ur(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const dr={"package.json":`npm`,"pyproject.toml":`pypi`,"go.mod":`go`},fr={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}};function W(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.flatMap(e=>typeof e==`string`?ot(e):``).filter(Boolean)):typeof e==`string`?new Set([e]):typeof e==`boolean`?e:!1}function pr(e){for(let[t,{short:n}]of Object.entries(fr))if(t===e||n===e)return t;return``}const G=b({strict:!1,allowPositionals:!0,tokens:!0,options:fr}),K=G.values;for(let[e,t]of G.tokens.entries())if(t.kind===`option`&&t.value?.startsWith(`-`)){let n=pr(t.value.substring(1)),r=G.tokens[e+1];K[t.name]=[!0],K[n]||(K[n]=[]),r?.kind===`positional`&&r.value?K[n].push(r.value):K[n].push(!0)}const q=G.values,mr=G.positionals,[hr,gr,_r]=[`magenta`,`red`,`green`].map(e=>q[`no-color`]?String:t=>te(e,String(t))),J=Z(W(q.greatest)),vr=Z(W(q.prerelease)),yr=Z(W(q.release)),br=Z(W(q.patch)),xr=Z(W(q.minor)),Sr=Z(W(q[`allow-downgrade`])),Cr=W(q.modes)||new Set([`npm`,`pypi`,`go`,`actions`,`docker`]),wr=typeof q.forgeapi==`string`?R(q.forgeapi):`https://api.github.com`,Tr=typeof q.pypiapi==`string`?R(q.pypiapi):`https://pypi.org`,Er=typeof q.jsrapi==`string`?R(q.jsrapi):`https://jsr.io`,Dr=typeof q.goproxy==`string`?R(q.goproxy):ln(),Or=typeof q.dockerapi==`string`?R(q.dockerapi):`https://hub.docker.com`,kr=un();function Ar(e){let t={};if(Array.isArray(e)){for(let n of e)if(typeof n==`string`){let[e,r]=n.split(`=`,2);e&&r&&qe(r)&&(t[e]=r)}}else if(typeof e==`string`){let[n,r]=e.split(`=`,2);n&&r&&qe(r)&&(t[n]=r)}return t}function jr(e,t){let n=l(t,e);try{return f(n),n}catch{}let r=c(t);return r===t?null:jr(e,r)}function Mr(e){console.error(`${ct()} ${e}`)}const Nr=typeof q.timeout==`string`?Number(q.timeout):0,Y={fetchTimeout:Nr||mt,goProbeTimeout:Nr?Nr/2:2500,forgeApiUrl:wr,pypiApiUrl:Tr,jsrApiUrl:Er,goProxyUrl:Dr,dockerApiUrl:Or,doFetch:(e,t)=>gt(e,t,!!q.verbose,Mr,hr,_r,gr),verbose:!!q.verbose};async function Pr(e){console.info(q.json?JSON.stringify({message:e}):e),await Fr()}async function Fr(e,t){if(e){let t=e.stack??e.message,n=e.cause;q.json?console.info(JSON.stringify({error:t,cause:n})):(console.info(gr(t)),n&&console.info(gr(`Caused by: ${String(n)}`)))}r===`win32`&&Number(o?.node?.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),n(t||e?1:0)}function Ir(e={}){for(let t of Object.keys(e))for(let n of Object.values(e[t]))typeof n.oldPrint==`string`&&(n.old=n.oldPrint),typeof n.newPrint==`string`&&(n.new=n.newPrint),typeof n.oldOrig==`string`&&!U(n.oldOrig)&&(n.old=t===`go`?Nn(n.oldOrig):n.oldOrig),t===`go`&&(n.new=Nn(n.new)),t===`actions`&&(n.old=I(n.old),n.new=I(n.new)),delete n.oldPrint,delete n.newPrint,delete n.oldOrig,delete n.date;let t=0;for(let n of Object.keys(e))t+=Object.keys(e[n]).length;if(q.json){let t={results:{}};for(let n of Object.keys(e))for(let[r,i]of Object.entries(e[n])){let[e,a]=r.split(`\0`);t.results[n]||(t.results[n]={}),t.results[n][e]||(t.results[n][e]={}),t.results[n][e][a]=i}console.info(JSON.stringify(t))}else t&&console.info(Rr(e));return q[`error-on-outdated`]?t?2:0:q[`error-on-unchanged`]?t?0:2:0}function X(e,t){r===`win32`&&v(e,0),y(e,t,r===`win32`?{flag:`r+`}:void 0)}const Lr=e=>ee(e).length;function Rr(e){let t=Object.keys(e).filter(t=>Object.keys(e[t]).length>0),n=t.length>1,r=[n?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],i=new Set;for(let a of t)for(let[t,o]of Object.entries(e[a])){let[e,s]=t.split(`\0`),c=`${a}|${s}`;if(i.has(c))continue;i.add(c);let l=[];l.push(a===`go`?Mn(s):s),n&&l.push(a),l.push(Qe(o.old,o.new,gr)),l.push(Qe(o.new,o.old,_r)),l.push(o.age||``),l.push(o.info||``),r.push(l)}return lt(r,Lr)}function zr(e,t){return RegExp(`^${L(e).replaceAll(`\\*`,`.*`)}$`,t?`i`:``)}function Br(e,t,n){return t&&typeof e==`string`?/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):zr(e,n):e instanceof RegExp?e:zr(e,n)}function Z(e){if(e instanceof Set){let t=new Set;for(let n of e)t.add(Br(n,!0,!1));return t}return e}function Q(e,t){let n=new Set;for(let t of e||[])n.add(Br(t,!0,!0));for(let e of t||[])n.add(Br(e,!1,!0));return n}function Vr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(e=>ot(e)):[]}function Hr(e){return br===!0||F(e,br)?new Set([`patch`]):xr===!0||F(e,xr)?new Set([`patch`,`minor`]):new Set([`patch`,`minor`,`major`])}function Ur(e){return{useGreatest:typeof J==`boolean`?J:F(e,J),usePre:typeof vr==`boolean`?vr:F(e,vr),useRel:typeof yr==`boolean`?yr:F(e,yr),semvers:Hr(e)}}function Wr(t){return t.replace(`${e()}/`,``).replace(`${e()}\\`,``)}function $(e,t,n,r,i){if(i===`engines`&&tt.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let a=t===`go`?e.replace(/\/v\d+$/,``):e;for(let t of r)if(t.test(e)||t.test(a))return!1;for(let t of n)if(t.test(e)||t.test(a))return!0;return!n.size}function Gr(t){let n=new Set,r=new Set;if(t)for(let e of t){let t;try{t=m(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}if(t?.isFile()){let t=u(e);n.add(t),r.add(t)}else if(t?.isDirectory()){for(let t of Object.keys(dr)){let r=l(e,t),i=null;try{i=m(r)}catch{}i?.isFile()&&n.add(u(r))}try{for(let t of g(e))if(cr(t)){let i=l(e,t);try{m(i).isFile()&&(n.add(u(i)),r.add(u(i)))}catch{}}}catch{}let t=u(e).replace(/\\/g,`/`),i;i=t.endsWith(`.github/workflows`)?t:t.endsWith(`.github`)?l(t,`workflows`):l(t,`.github`,`workflows`);for(let e of Vn(i))n.add(e),r.add(e)}else throw Error(`${e} is neither a file nor directory`)}else{for(let t of Object.keys(dr)){let r=jr(t,e());r&&n.add(u(r))}for(let t of ar){let r=jr(t,e());r&&n.add(u(r))}try{for(let t of g(e()))if(cr(t)&&!ar.includes(t)){let r=l(e(),t);try{m(r).isFile()&&n.add(u(r))}catch{}}}catch{}let t=jr(l(`.github`,`workflows`),e());if(t)for(let e of Vn(t))n.add(e)}return[n,r]}async function Kr(e){let t=[];for(let e of[`js`,`ts`,`mjs`,`mts`])t.push(`updates.config.${e}`);let n={};try{({default:n}=await Promise.any(t.map(async t=>{let n=l(e,...t.split(`/`)),r=d(n);try{f(n)}catch{throw Error(`File not found: ${t}`)}try{return await import(r.href)}catch(e){throw Error(`Unable to parse config file ${t}: ${e.message}`)}})))}catch(e){if(e instanceof AggregateError){let t=e.errors.filter(e=>e.message.startsWith(`Unable to parse`));if(t.length>0)throw t[0]}}return n}async function qr(){for(let e of[a,i])e?._handle?.setBlocking?.(!0);ft();let e=typeof q.sockets==`number`?q.sockets:96,{help:t,version:n,file:r,types:o,update:l,include:d,exclude:f,pin:p,cooldown:m}=q;t&&(a.write(`usage: updates [options] [files...]
|
|
2
|
+
import{cwd as e,env as t,exit as n,platform as r,stderr as i,stdout as a,versions as o}from"node:process";import{basename as s,dirname as c,join as l,resolve as u}from"node:path";import{pathToFileURL as d}from"node:url";import{accessSync as f,globSync as p,lstatSync as m,readFileSync as h,readdirSync as g,statSync as _,truncateSync as v,writeFileSync as y}from"node:fs";import{parseArgs as b,promisify as x,stripVTControlCharacters as ee,styleText as te}from"node:util";import ne from"node:dns";import{execFile as S}from"node:child_process";async function re(e,t,{concurrency:n=1/0,stopOnError:r=!0,signal:i}={}){return new Promise((a,o)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!=`function`)throw TypeError(`Mapper function is required`);if(!(Number.isSafeInteger(n)&&n>=1||n===1/0))throw TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let s=[],c=[],l=new Map,u=!1,d=!1,f=!1,p=0,m=0,h=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),g=()=>{y(i.reason)},_=()=>{i?.removeEventListener(`abort`,g)},v=e=>{a(e),_()},y=e=>{u=!0,d=!0,o(e),_()};i&&(i.aborted&&y(i.reason),i.addEventListener(`abort`,g,{once:!0}));let b=async()=>{if(d)return;let e=await h.next(),n=m;if(m++,e.done){if(f=!0,p===0&&!d){if(!r&&c.length>0){y(AggregateError(c));return}if(d=!0,l.size===0){v(s);return}let e=[];for(let[t,n]of s.entries())l.get(t)!==ie&&e.push(n);v(e)}return}p++,(async()=>{try{let r=await e.value;if(d)return;let i=await t(r,n);i===ie&&l.set(n,i),s[n]=i,p--,await b()}catch(e){if(r)y(e);else{c.push(e),p--;try{await b()}catch(e){y(e)}}}})()};(async()=>{for(let e=0;e<n;e++){try{await b()}catch(e){y(e);break}if(f||u)break}})()})}const ie=Symbol(`skip`);function ae(e){let t={},n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=r[e].replace(/#.*$/,``).trim();if(!i)continue;let a=/^\[([^\]]+)\]$/.exec(i);if(a){n=t;for(let e of ce(a[1]))(!(e in n)||typeof n[e]!=`object`||Array.isArray(n[e]))&&(n[e]={}),n=n[e];continue}let o=le(i);if(o<0)continue;let s=i.slice(0,o).trim(),c=i.slice(o+1).trim(),l=ce(s),u=n;for(let e=0;e<l.length-1;e++)(!(l[e]in u)||typeof u[l[e]]!=`object`||Array.isArray(u[l[e]]))&&(u[l[e]]={}),u=u[l[e]];let d=l[l.length-1];if(c.startsWith(`[`)&&!c.includes(`]`)){let t=[];C(c.slice(1),t);for(let n=e+1;n<r.length;n++){let i=r[n].replace(/#.*$/,``).trim();if(i){if(i.includes(`]`)){C(i.replace(/].*$/,``),t),e=n;break}C(i,t)}}u[d]=t}else u[d]=w(c)}return t}function C(e,t){let n=e.trim();if(!n)return;let r=/"""([\s\S]*?)"""|'''([\s\S]*?)'''|"((?:[^"\\]|\\.)*)"|'([^']*)'|([^,\s\]]+)/g,i;for(;i=r.exec(n);){let e=i[1]??i[2]??(i[3]===void 0?void 0:E(i[3]))??i[4]??i[5];e!==void 0&&e!==``&&t.push(T(e))}}function w(e){if(e.startsWith(`[`)){let t=[];return C(e.slice(1,e.lastIndexOf(`]`)),t),t}return e.startsWith(`{`)?oe(e):e.startsWith(`"""`)?E(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?E(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):T(e)}function T(e){return e===`true`?!0:e===`false`?!1:/^[+-]?\d+$/.test(e)||/^[+-]?\d+\.\d+$/.test(e)?Number(e):e}function oe(e){let t={},n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of se(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=w(e.slice(n+1).trim())}return t}function se(e){let t=[],n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r){if(o===`\\`&&r===`"`){a++;continue}o===r&&(r=null)}else o===`"`||o===`'`?r=o:o===`[`||o===`{`?n++:o===`]`||o===`}`?n--:o===`,`&&n===0&&(t.push(e.slice(i,a)),i=a+1)}return i<e.length&&t.push(e.slice(i)),t}function ce(e){let t=[],n=``,r=null;for(let i of e)if(r){if(i===r){r=null;continue}n+=i}else i===`"`||i===`'`?r=i:i===`.`?(t.push(n.trim()),n=``):n+=i;return n.trim()&&t.push(n.trim()),t}function le(e){let t=null;for(let n=0;n<e.length;n++){let r=e[n];if(t){if(r===`\\`&&t===`"`){n++;continue}r===t&&(t=null)}else if(r===`"`||r===`'`)t=r;else if(r===`=`)return n}return-1}function E(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>{switch(t[0]){case`"`:return`"`;case`\\`:return`\\`;case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
|
|
3
|
+
`;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}const D=/^v?(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9._-]+(?:\.[a-zA-Z0-9._-]+)*))?(?:\+[a-zA-Z0-9._-]+)?$/,ue=new Map;function O(e){if(typeof e!=`string`)return null;let t=ue.get(e);if(t!==void 0)return t;let n=D.exec(e.trim());if(!n)return ue.set(e,null),null;let r=Number(n[1]),i=Number(n[2]),a=Number(n[3]),o=n[4]?n[4].split(`.`).map(e=>/^\d+$/.test(e)?Number(e):e):[],s={major:r,minor:i,patch:a,prerelease:o,version:`${r}.${i}.${a}${o.length?`-${o.join(`.`)}`:``}`};return ue.set(e,s),s}function k(e,t){let n=typeof e==`number`,r=typeof t==`number`;return n&&r?e-t:n?-1:r?1:e<t?-1:e>t?1:0}function de(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function A(e,t){let n=de(e,t);if(n!==0)return n;if(!e.prerelease.length&&!t.prerelease.length)return 0;if(e.prerelease.length&&!t.prerelease.length)return-1;if(!e.prerelease.length&&t.prerelease.length)return 1;let r=Math.max(e.prerelease.length,t.prerelease.length);for(let n=0;n<r;n++){if(e.prerelease[n]===void 0)return-1;if(t.prerelease[n]===void 0)return 1;let r=k(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function j(e){return O(e)?.version??null}function fe(e){return O(e)}const pe=new Map,me=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function he(e){if(typeof e!=`string`)return null;let t=pe.get(e);if(t!==void 0)return t;let n=me.exec(e);if(!n)return pe.set(e,null),null;let r={version:`${n[1]||`0`}.${n[2]||`0`}.${n[3]||`0`}`};return pe.set(e,r),r}function M(e,t){let n=O(e),r=O(t);if(!n||!r||n.version===r.version)return null;let i=A(n,r),a=i>0?n:r,o=i>0?r:n,s=a.prerelease.length>0;if(o.prerelease.length>0&&!s){if(!o.patch&&!o.minor)return`major`;if(de(o,a)===0)return o.minor&&!o.patch?`minor`:`patch`}let c=s?`pre`:``;return n.major===r.major?n.minor===r.minor?n.patch===r.patch?`prerelease`:`${c}patch`:`${c}minor`:`${c}major`}function ge(e,t){let n=O(e),r=O(t);return!n||!r?!1:A(n,r)>0}function _e(e,t){let n=O(e),r=O(t);return!n||!r?!1:A(n,r)>=0}function ve(e,t){let n=O(e),r=O(t);return!n||!r?!1:A(n,r)<0}function ye(e,t){let n=O(e),r=O(t);return!n||!r?!0:A(n,r)!==0}function be(e){let t=/^(>=|<=|>|<|=)?\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+(?:\.[a-zA-Z0-9._-]+)*)?)$/.exec(e.trim());if(!t)return null;let n=t[2],r=O(`${n}.${t[3]??`0`}.${t[4]??`0`}${t[5]||``}`);return r?{op:t[1]||`=`,semver:r}:null}function xe(e,t){let n=A(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return n===0}}function N(e,t,n){return`${e}.${t}.${n}-0`}function Se(e){return e.replace(/~\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i)=>{let a=Number(t);if(n===void 0)return`>=${a}.0.0 <${N(a+1,0,0)}`;let o=Number(n);return`>=${a}.${o}.${r===void 0?0:Number(r)}${i||``} <${N(a,o+1,0)}`})}function Ce(e){return e.replace(/\^\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i)=>{let a=Number(t),o=i||``;if(n===void 0)return`>=${a}.0.0 <${N(a+1,0,0)}`;let s=Number(n);if(r===void 0)return a===0?`>=${a}.${s}.0 <${N(a,s+1,0)}`:`>=${a}.${s}.0 <${N(a+1,0,0)}`;let c=Number(r);return a===0?s===0?`>=${a}.${s}.${c}${o} <${N(a,s,c+1)}`:`>=${a}.${s}.${c}${o} <${N(a,s+1,0)}`:`>=${a}.${s}.${c}${o} <${N(a+1,0,0)}`})}function we(e){return e.replace(/v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)\s+-\s+v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i,a,o,s,c)=>{let l=Number(t),u=n===void 0?0:Number(n),d=r===void 0?0:Number(r),f=i||``,p=Number(a),m;return m=s===void 0?o===void 0?`<${N(p+1,0,0)}`:`<${N(p,Number(o)+1,0)}`:`<=${p}.${Number(o)}.${Number(s)}${c||``}`,`>=${l}.${u}.${d}${f} ${m}`})}function Te(e){return/^\s*[*xX]\s*$/.test(e)?`>=0.0.0`:(e=e.replace(/v?(\d+)\.[xX*](?:\.[xX*])?/g,(e,t)=>{let n=Number(t);return`>=${n}.0.0 <${N(n+1,0,0)}`}),e=e.replace(/v?(\d+)\.(\d+)\.[xX*]/g,(e,t,n)=>{let r=Number(t),i=Number(n);return`>=${r}.${i}.0 <${N(r,i+1,0)}`}),e=e.replace(/(^|[\s|])(\d+)\.(\d+)(?=\s|$)/g,(t,n,r,i,a)=>{let o=e.substring(0,a).trimEnd();if(/[<>=]$/.test(o))return t;let s=Number(r),c=Number(i);return`${n}>=${s}.${c}.0 <${N(s,c+1,0)}`}),e=e.replace(/(^|[\s|])(\d+)(?=\s|$)/g,(t,n,r,i)=>{let a=e.substring(0,i).trimEnd();if(/[<>=]$/.test(a))return t;let o=Number(r);return`${n}>=${o}.0.0 <${N(o+1,0,0)}`}),e)}const Ee=new Map;function De(e){let t=Ee.get(e);if(t!==void 0)return t;let n=e.split(`||`).map(e=>e.trim()),r=[];for(let t of n){if(!t){r.push([]);continue}t=we(t),t=Ce(t),t=Se(t),t=Te(t),t=t.replace(/(^|[\s])v?(\d+\.\d+\.\d+(?:-[a-zA-Z0-9._-]+(?:\.[a-zA-Z0-9._-]+)*)?)\b/g,(e,t)=>/[<>=]/.test(t)?e:`${t}=${e.trim()}`),t=t.replace(/(>=|<=|>|<|=)\s+/g,`$1`);let n=t.split(/\s+/).filter(Boolean),i=[];for(let t of n){let n=be(t);if(!n)return Ee.set(e,null),null;i.push(n)}if(i.length===0)return Ee.set(e,null),null;r.push(i)}let i=r.length?r:null;return Ee.set(e,i),i}function Oe(e,t){for(let n of t)if(!xe(e,n))return!1;if(e.prerelease.length>0){for(let n of t)if(n.semver.prerelease.length>0&&n.semver.major===e.major&&n.semver.minor===e.minor&&n.semver.patch===e.patch)return!0;return!1}return!0}function ke(e,t){let n=O(e);if(!n)return!1;let r=De(t);if(!r)return!1;for(let e of r)if(e.length===0||Oe(n,e))return!0;return!1}function Ae(e){if(typeof e!=`string`)return null;try{return De(e)?e:null}catch{return null}}const je=[[1e3,6e4,`sec`],[6e4,36e5,`min`],[36e5,864e5,`hour`],[864e5,6048e5,`day`],[6048e5,2628e6,`week`],[2628e6,31536e6,`month`],[31536e6,1/0,`year`]],Me={"1 day ago":`yesterday`,"1 week ago":`last week`,"1 month ago":`last month`,"1 year ago":`last year`,"in 1 day":`tomorrow`,"in 1 week":`next week`,"in 1 month":`next month`,"in 1 year":`next year`},Ne={sec:`second`,min:`minute`};function Pe(e){return e instanceof Date?e.getTime():typeof e==`string`?Date.parse(e):e}function P(e,{now:t,noAffix:n=!1,times:r=je,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=Me,longUnits:l=!1}={}){let u=Pe(e),d=t===void 0?Date.now():Pe(t);if(u!==u)return o||String(e);let f=d-u,p=f<0;if(p&&(f=-f),f<i)return a;let m=0,h=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(!(f>=t[1])){m=f/t[0]|0,h=(l&&Ne[t[2]]||t[2])+(m>1?`s`:``);break}}let g=`${m} ${h}`,_;return _=n?g:p?`in ${g}`:`${g} ago`,s?c[_]??_:_}function Fe(e,t,n){if(e===t)return e;let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;if(r>0&&e[r-1]!==`.`&&e[r-1]!==`-`){let t=r-1;for(;t>=0&&e[t]!==`.`&&e[t]!==`-`;)t--;if(t>=0)r=t+1;else{let t=0;for(;t<r&&!/\d/.test(e[t]);)t++;r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}function Ie(e){let t=[];for(let n of e){let[e,r]=n.replaceAll(/\s+/g,``).split(/[<>=~]+/);e&&/^[0-9.a-z]+$/.test(r)&&t.push({name:e,version:r})}return t}const Le=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`packageManager`],Re=[`node`,`deno`,`bun`],ze=[`project.dependencies`,`project.optional-dependencies`,`dependency-groups.dev`,`dependency-groups.lint`,`dependency-groups.test`],Be=[`deps`,`indirect`,`replace`];function F(e,t){for(let n of t instanceof Set?t:[])if(n.test(e))return!0;return!1}function Ve(e,t){return t.split(`.`).reduce((e,t)=>e?.[t]??null,e)}function He(e){return e.split(`,`).filter(Boolean)}function Ue(e,t,n){return!e||!t?!0:(n-Date.parse(e))/(24*3600*1e3)>=t}function We(){let e=new Date;return[e.getFullYear(),`-`,String(e.getMonth()+1).padStart(2,`0`),`-`,String(e.getDate()).padStart(2,`0`),` `,String(e.getHours()).padStart(2,`0`),`:`,String(e.getMinutes()).padStart(2,`0`),`:`,String(e.getSeconds()).padStart(2,`0`)].join(``)}function Ge(e,t,n=` `){let r=``,i=Array(e[0].length).fill(0);for(let n of e)for(let[e,r]of n.entries()){let n=t(r);n>i[e]&&(i[e]=n)}for(let[a,o]of e.entries()){for(let[e,a]of o.entries()){e>0&&(r+=n);let s=` `.repeat(i[e]-t(a));r+=a+(e===o.length-1?``:s)}a<e.length-1&&(r+=`
|
|
4
|
+
`)}return r}const Ke={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function qe(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Ke[n.toLowerCase()];if(r)return Number(e)*r}let n=Number(e);if(!Number.isFinite(n))throw Error(`Invalid cooldown value: ${e}`);return n}function Je(){let e=new Map,t=new Map,n=ne.lookup;ne.lookup=function(r,...i){let a={},o;typeof i[0]==`function`?o=i[0]:(a=typeof i[0]==`number`?{family:i[0]}:i[0]||{},o=i[1]);let s=e.get(r);if(s){a.all?o(null,s):o(null,s[0].address,s[0].family);return}if(t.has(r)){t.get(r).push({options:a,callback:o});return}t.set(r,[{options:a,callback:o}]),n.call(ne,r,{all:!0},(n,i)=>{let a=t.get(r);t.delete(r),!n&&i?.length&&e.set(r,i);for(let{options:e,callback:t}of a)n?t(n):e.all?t(null,i):t(null,i[0].address,i[0].family)})}}const Ye=`17.8.2`,I=e=>e.replace(/^v/,``),L=e=>e.replace(/[|\\{}()[\]^$+*?.-]/g,`\\$&`),R=e=>e.endsWith(`/`)?e.substring(0,e.length-1):e;function Xe(e,t){return{headers:{"user-agent":`updates/${Ye}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}async function Ze(e,t,n,r,i,a,o){n&&r&&i&&r(`${i(`fetch`)} ${e}`);let s=await fetch(e,t);return n&&r&&a&&o&&r(`${s.ok?a(s.status):o(s.status)} ${e}`),s}function z(e){let t=fe(e);return t?!!t.prerelease.length:!1}function Qe(e){return/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e)}function $e(e,t,{useRel:n,allowDowngrade:r,name:i,matchesAny:a}){let o=B(e),s=B(t);if(!o||!s)return!0;let c=Qe(e)||z(e),l=z(t);return c&&!l?ge(s,o)||n:!l&&ve(s,o)?r===!0||a(i,r):!0}function B(e){try{return he(e)?.version??``}catch{return``}}function et(e,t,{range:n,semvers:r,usePre:i,useRel:a,useGreatest:o,pinnedRange:s}){let c=B(n);if(!c)return c;i=Qe(n)||i,i&&(r.add(`prerelease`),r.has(`patch`)&&r.add(`prepatch`),r.has(`minor`)&&r.add(`preminor`),r.has(`major`)&&r.add(`premajor`));let l=0,u=c;for(let n of t){let t=fe(n);if(!t?.version||t.prerelease.length&&(!i||a))continue;let c=t.version;if(s&&!ke(c,s))continue;let d=M(u,c);if(!(!d||!r.has(d)))if(o||!(`time`in e))_e(B(c),u)&&(u=c);else{let t=Date.parse(e.time[n]);t>=0&&t>l&&(u=c,l=t)}}return u||null}function tt(e,{mode:t,range:n,useGreatest:r,useRel:i,usePre:a,semvers:o,pinnedRange:s},{allowDowngrade:c,matchesAny:l,isGoPseudoVersion:u}){if(n===`*`||n.includes(`||`))return null;let d=[];if(t===`pypi`)d=Object.keys(e.releases).filter(e=>j(e));else if(t===`npm`)d=Object.keys(e.versions).filter(e=>j(e));else if(t===`go`){let t=B(n);if(!t)return null;let r=a||Qe(n),s=e=>z(e)&&(!r||i),d={useRel:i,allowDowngrade:c,name:e.name,matchesAny:l},f=e.old||n,p=B(e.new);if(p&&!u(e.new)&&!s(e.new)){let n=M(t,p);if(n&&o.has(n)&&$e(f,e.new,d))return e.new}let m=B(e.sameMajorNew);if(m&&!u(e.sameMajorNew)&&!s(e.sameMajorNew)){let n=M(t,m);if(n&&o.has(n)&&$e(f,e.sameMajorNew,d))return e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew}return null}let f=et(e,d,{range:n,semvers:o,usePre:a,useRel:i,useGreatest:r,pinnedRange:s});if(!f)return null;if(r)return f;{let r=``,u=``;t===`pypi`?(u=e.info.version,r=B(e.info.version)):r=e[`dist-tags`].latest;let d=B(n),p=Qe(n),m=z(f),h=z(r),g={useRel:i,allowDowngrade:c,name:e.name,matchesAny:l};if(!i&&a||p&&m)return f;if(p&&!m)return $e(n,f,g)?f:null;let _=M(d,r);return _&&_!==`prerelease`&&!o.has(_.replace(/^pre/,``))||i&&z(r)?f:ve(r,d)&&!h?$e(n,r,g)?r:null:!p&&h&&!a||s&&!ke(r,s)?f:u||r}}const nt=new Map;if(t.UPDATES_FORGE_TOKENS)for(let e of t.UPDATES_FORGE_TOKENS.split(`,`)){let t=e.indexOf(`:`);t>0&&nt.set(e.substring(0,t),e.substring(t+1))}function rt(e){try{let t=nt.get(new URL(e).hostname);if(t)return t}catch{}return t.UPDATES_GITHUB_API_TOKEN||t.GITHUB_API_TOKEN||t.GH_TOKEN||t.GITHUB_TOKEN||t.HOMEBREW_GITHUB_API_TOKEN}function it(e,t){let n={signal:AbortSignal.timeout(t.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}},r=rt(e);return r&&(n.headers={...n.headers,Authorization:`Bearer ${r}`}),t.doFetch(e,n)}function at(e,t,n){let r=I(t);if(!j(r))return null;if(n){let n=t,i=I(t);for(let t of e){let e=I(t);j(e)&&(!n||ge(e,i))&&(n=t,i=e)}if(ye(r,i))return n}else{let t=e.at(-1);if(!t)return null;let n=I(t);if(!j(n))return null;if(ye(r,n))return t}return null}function ot(e){return e=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``),/^[a-z]+:[a-z0-9-]\/[a-z0-9-]$/.test(e)?e.replace(/^(.+?):/,(e,t)=>`https://${t}.com/`):/^[a-z0-9-]\/[a-z0-9-]$/.test(e)?`https://github.com/${e}`:e}const st=/^[0-9a-f]{7,}$/i;function ct(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function lt(e,t,n,r){try{let i=await it(`${e}/repos/${t}/${n}/tags?per_page=100`,r);if(!i?.ok)return[];let a=ct(await i.json()),o=i.headers.get(`link`)||``,s=/<([^>]+)>;\s*rel="last"/.exec(o);if(s){let i=Number(new URL(s[1]).searchParams.get(`page`)),o=await Promise.all(Array.from({length:i-1},(i,a)=>it(`${e}/repos/${t}/${n}/tags?per_page=100&page=${a+2}`,r)));for(let e of o)e?.ok&&a.push(...ct(await e.json()))}return a}catch{return[]}}function ut(e,t,n,r){throw e?.status&&e?.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}function dt(e,t,n=``){let r=t.startsWith(`v`),i=I(e),a=I(t).split(`.`).length,o=i.split(`.`),s;return s=a===1?o[0]:a===2?`${o[0]}.${o[1]||`0`}`:i,`${r?`v`:``}${s}${n}`}function ft(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}function pt({repository:e,homepage:t,info:n},r,i){n&&(e=n.project_urls.repository||n.project_urls.Repository||n.project_urls.repo||n.project_urls.Repo||n.project_urls.source||n.project_urls.Source||n.project_urls[`source code`]||n.project_urls[`Source code`]||n.project_urls[`Source Code`]||n.project_urls.homepage||n.project_urls.Homepage||`https://pypi.org/project/${i}/`);let a=``;return r===`https://npm.pkg.github.com`?`https://github.com/${i.replace(/^@/,``)}`:(e&&(a=ot(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a=`${a}/${ft(a)}/${e.directory}`)),a||t||``)}function mt(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();i.length>=2&&(i.startsWith(`"`)&&i.endsWith(`"`)||i.startsWith(`'`)&&i.endsWith(`'`))&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function ht(e){try{return mt(h(e,`utf-8`))}catch{return}}function gt(t){let n=e();for(;;){let e=l(n,t);try{return _(e),e}catch{}let r=c(n);if(r===n)break;n=r}}function _t(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t))if(i.toLowerCase().startsWith(r)){let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let r=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)r[n]=a;else if(r[n]===void 0&&(r[n]={}),typeof r[n]==`object`)r=r[n];else break}}return n}function vt(e,n={}){let i=r===`win32`,a=i?t.USERPROFILE:t.HOME,o=[{...n}],s=[];function c(e){if(!e||s.includes(e))return;let t=ht(e);t&&(o.push(t),s.push(e))}i||(c(l(`/etc`,e,`config`)),c(l(`/etc`,`${e}rc`))),a&&(c(l(a,`.config`,e,`config`)),c(l(a,`.config`,e)),c(l(a,`.${e}`,`config`)),c(l(a,`.${e}rc`))),c(gt(`.${e}rc`));let u=_t(`${e}_`);return u.config&&c(u.config),Object.assign({},...o,u,s.length?{configs:s,config:s[s.length-1]}:void 0)}const yt=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,bt=/^([^/]+)\/([^/#]+)?.*?\/([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,xt=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,St=/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g,Ct=`https://registry.npmjs.org`;let V=null;const wt=new Map;function Tt(){return V||vt(`npm`,{registry:Ct})}function Et(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``)}function Dt(e,t){let n=t[`${e}:_authToken`]||t[`${e}/:_authToken`];if(n)return{token:Et(n),type:`Bearer`};let r=t[`${e}:username`]||t[`${e}/:username`],i=t[`${e}:_password`]||t[`${e}/:_password`];if(r&&i){let e=Buffer.from(Et(i),`base64`).toString(`utf8`);return{token:Buffer.from(`${r}:${e}`).toString(`base64`),type:`Basic`,username:r,password:e}}let a=t[`${e}:_auth`]||t[`${e}/:_auth`];if(a)return{token:Et(a),type:`Basic`}}function H(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=Dt(`//${n.host}${r.replace(/\/$/,``)}`,t);if(e)return e;let i=r.endsWith(`/`)?r:`${r}/`;n.pathname=new URL(`..`,new URL(i,`http://x`)).pathname}let i=t._auth;if(i)return{token:Et(i),type:`Basic`}}function Ot(e,t){let n=t[`${e}:registry`]||t.registry;return n.endsWith(`/`)?n:`${n}/`}function kt(e,t){V||=Tt();let n=e.startsWith(`@`)?(/@[a-z0-9][\w-.]+/.exec(e)||[``])[0]:``,r=`${n}:${t}`,i=wt.get(r);if(i)return i;let a;if(!e.startsWith(`@`))a={auth:H(t,V),registry:t};else{let e=R(Ot(n,V));if(e!==t)try{let n=H(e,V);a=n?.token?{auth:n,registry:e}:{auth:H(t,V),registry:t}}catch{a={auth:H(t,V),registry:t}}else a={auth:H(t,V),registry:t}}return wt.set(r,a),a}async function At(e,t,n,r,i){V||=Tt();let{auth:a,registry:o}=kt(e,R((typeof r.registry==`string`?r.registry:!1)||n.registry||V.registry||Ct)),c=`${o}/${(t===`resolutions`?s(e):e).replace(/\//g,`%2f`)}`,l=await i.doFetch(c,{signal:AbortSignal.timeout(i.fetchTimeout),...Xe(a?.type,a?.token)});if(l?.ok)return[await l.json(),t,o,e];ut(l,c,e,o)}function U(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function jt(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Mt(e,t){if(e.startsWith(`npm:@jsr/`)){let t=/^npm:@jsr\/([^_]+)__([^@]+)@(.+)$/.exec(e);if(t)return{scope:t[1],name:t[2],version:t[3]}}else if(e.startsWith(`jsr:@`)){let t=/^jsr:@([^/]+)\/([^@]+)@(.+)$/.exec(e);if(t)return{scope:t[1],name:t[2],version:t[3]}}else if(e.startsWith(`jsr:`)){let n=e.substring(4);if(t?.startsWith(`@`)){let e=/^@([^/]+)\/(.+)$/.exec(t);if(e)return{scope:e[1],name:e[2],version:n}}}return{scope:null,name:null,version:``}}async function Nt(e,t,n){let r=/^@([^/]+)\/(.+)$/.exec(e);if(!r)throw Error(`Invalid JSR package name: ${e}`);let[,i,a]=r,o=`${n.jsrApiUrl}/@${i}/${a}/meta.json`,s=await n.doFetch(o,{signal:AbortSignal.timeout(n.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}});if(s?.ok){let r=await s.json(),i={},a={};for(let[e,t]of Object.entries(r.versions))i[e]={version:e,time:t.createdAt},a[e]=t.createdAt;return[{name:e,"dist-tags":{latest:r.latest},versions:i,time:a},t,n.jsrApiUrl,e]}ut(s,o,e,`JSR`)}function Pt(e,t){let n=e;for(let[e,{old:r,oldOrig:i}]of Object.entries(t)){let[a,o]=e.split(`\0`),s=i||r;if(a===`packageManager`){let r=RegExp(`"${L(a)}": *"${o}@${L(s)}"`,`g`);n=n.replace(r,`"${a}": "${o}@${t[e].new}"`)}else{let r=RegExp(`"${L(o)}": *"${L(s)}"`,`g`);n=n.replace(r,`"${o}": "${t[e].new}"`)}}return n}function Ft(e,t,n){let r=e.replace(St,t);if(n&&n!==e&&/^[\^~]/.test(r)){let e=n.substring(1).split(`.`),t=r.substring(1).split(`.`);e.length!==t.length&&(r=`${r[0]}${t.slice(0,e.length).join(`.`)}`)}if(n&&n!==e&&r.startsWith(`>=`)){let e=/^>=\s/.test(n)?`>= `:`>=`,t=n.replace(/^>=\s*/,``),i=r.replace(/^>=\s*/,``),a=t.split(`.`),o=i.split(`.`);a.length!==o.length&&(r=`${e}${o.slice(0,a.length).join(`.`)}`)}return r}function It(e){let t=e.match(xt);return t?.length===1?e.replace(xt,B(t[0])):e}async function Lt(e,t,n){try{let r=await it(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n);if(!r?.ok)return{hash:``,commit:{}};let{sha:i,commit:a}=(await r.json())[0];return{hash:i,commit:a}}catch{return{hash:``,commit:{}}}}async function Rt(e,t,n){return(await lt(n.forgeApiUrl,e,t,n)).map(e=>e.name)}async function zt(e,t,n,r){let i=t.old.replace(yt,``),[a,o,s,c]=bt.exec(i)||[];if(!o||!s||!c)return null;if(st.test(c)){let{hash:n,commit:i}=await Lt(o,s,r);if(!n)return null;let a=i?.committer?.date??i?.author?.date,l=n.substring(0,c.length);if(c!==l)return{key:e,newRange:t.old.replace(c,l),user:o,repo:s,oldRef:c,newRef:l,newDate:a}}else{let t=at(await Rt(o,s,r),c,n);if(t)return{key:e,newRange:t,user:o,repo:s,oldRef:c,newRef:t}}return null}async function Bt(e,t,n){let r=`${n.pypiApiUrl}/pypi/${e}/json`,i=await n.doFetch(r,{signal:AbortSignal.timeout(n.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}});if(i?.ok)return[await i.json(),t,null,e];ut(i,r,e,n.pypiApiUrl)}function Vt(e,t){let n=e;for(let[e,{old:r,oldOrig:i}]of Object.entries(t)){let[a,o]=e.split(`\0`),s=i||r;n=n.replace(RegExp(`("${L(o)} *[<>=~]+ *)${L(s)}(")`,`g`),(n,r,i)=>`${r}${t[e].new}${i}`)}return n}const Ht=x(S);function Ut(){let e=t.GOPROXY||`https://proxy.golang.org,direct`;for(let t of e.split(/[,|]/)){let e=t.trim();if(e&&e!==`direct`&&e!==`off`)return e.endsWith(`/`)?e.substring(0,e.length-1):e}return`https://proxy.golang.org`}function Wt(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim()).filter(Boolean)}function Gt(e,t){return t.some(t=>e===t||e.startsWith(`${t}/`))}function Kt(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}function qt(e){let t=/\/v(\d+)$/.exec(e);return t?Number.parseInt(t[1]):1}function Jt(e,t){return t<=1?e.replace(/\/v\d+$/,``):`${e.replace(/\/v\d+$/,``)}/v${t}`}function Yt(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function Xt(e){return`${(e.length+4).toString(16).padStart(4,`0`)}${e}`}function Zt(e){let t=[Xt(`command=ls-refs
|
|
5
|
+
`),Xt(`object-format=sha1
|
|
6
|
+
`),`0001`,Xt(`peel
|
|
7
|
+
`),Xt(`ref-prefix refs/tags/${e}v\n`),`0000`];return new Blob([t.join(``)])}function Qt(e,t){let n=new TextDecoder().decode(e),r=[],i=`refs/tags/${t}`,a=0;for(;a<n.length&&!n.startsWith(`0000`,a);){let e=n.substring(a,a+4),t=Number.parseInt(e,16);if(t===0||Number.isNaN(t))break;let o=n.substring(a+4,a+t);a+=t;let s=o.indexOf(` `);if(s===-1)continue;let c=o.substring(s+1).trim();if(c.endsWith(`^{}`)||!c.startsWith(i))continue;let l=c.substring(i.length);l&&r.push(l)}return r}function $t(e,t){let n=t;for(let t of e){let e=/^v(\d+)\./.exec(t);if(e){let t=Number.parseInt(e[1]);t>n&&(n=t)}}return n}function en(e){let t=/^((github\.com|gitea\.com)\/[^/]+\/[^/]+)(\/.*)?$/.exec(e);if(t){let e=t[1],n=t[3]||``;return{repoUrl:`https://${e}.git`,tagPrefix:n?`${n.substring(1)}/`:``}}let n=/^golang\.org\/x\/([^/]+)(\/.*)?$/.exec(e);if(n){let e=n[2]||``;return{repoUrl:`https://go.googlesource.com/${n[1]}`,tagPrefix:e?`${e.substring(1)}/`:``}}return null}async function tn(e,t){let n=en(e);if(n)return n;try{let n=await t.doFetch(`https://${e}?go-get=1`,{signal:AbortSignal.timeout(t.goProbeTimeout)});if(!n.ok)return null;let r=await n.text(),i=/<meta\s+name="go-import"\s+content="([^"]+)"/.exec(r)||/<meta\s+content="([^"]+)"\s+name="go-import"/.exec(r);if(!i)return null;let[a,o,s]=i[1].trim().split(/\s+/);return o===`git`?{repoUrl:s,tagPrefix:e.length>a.length?`${e.substring(a.length+1)}/`:``}:null}catch{return null}}async function nn(e,t,n){try{let r=await tn(e.replace(/\/v\d+$/,``),n);if(!r)return null;let{repoUrl:i,tagPrefix:a}=r,o=Zt(a),s=await n.doFetch(`${i}/git-upload-pack`,{method:`POST`,headers:{"Git-Protocol":`version=2`,"Content-Type":`application/x-git-upload-pack-request`},body:o,signal:AbortSignal.timeout(n.goProbeTimeout)});return s.ok?$t(Qt(await s.arrayBuffer(),a),t):null}catch{return null}}function rn(e,t,n){return[{name:e,old:t,new:t},n,null,e]}async function an(e,t,n){if(!t)return null;let r=t,i=e+1,a=1,o=null;for(;o===null;){let t=i+a;if(t>e+100){o=e+101;break}let s=await n(t);s?(r=s,i=t,a*=2):o=t}for(;i+1<o;){let e=Math.floor((i+o)/2),t=await n(e);t?(r=t,i=e):o=e}return r}function on(e,t,n,r,i,a){let o=r?.Version??i,s=r?.Time??a,c=r?.path??e;return[{name:e,old:n,new:I(o),Time:s,...c===e?{}:{newPath:c},sameMajorNew:I(i),sameMajorTime:a},t,null,e]}function sn(e){let t={},n={},r={},i=new Set,a=e.split(/\r?\n/),o=!1,s=!1;for(let e of a){let a=e.trim();if(/^require\s*\(/.test(a)){o=!0;continue}if(/^replace\s*\(/.test(a)){s=!0;continue}if(a===`)`){o=!1,s=!1;continue}let c=a.includes(`// indirect`);if(s||/^replace\s+/.test(a)){let e=s?/^(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(a):/^replace\s+(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(a);if(e){let[,t,n,a]=e;!n.startsWith(`./`)&&!n.startsWith(`/`)&&!n.startsWith(`../`)&&(r[n]=a,i.add(t))}continue}let l=o?/^(\S+)\s+(v\S+)/.exec(a):/^require\s+(\S+)\s+(v\S+)/.exec(a);l&&((c?n:t)[l[1]]=l[2])}for(let e of i)delete t[e],delete n[e];return{deps:t,indirect:n,replace:r}}async function cn(e,n,r,i,a){let o=qt(e),s=async(e,n)=>{try{let{stdout:r}=await Ht(`go`,[`list`,`-m`,`-json`,`${e}@latest`],{timeout:n,cwd:i,env:t}),a=JSON.parse(r);return{Version:a.Version,Time:a.Time||``,path:e}}catch{return null}},[c,l]=await Promise.all([s(e,a.fetchTimeout),n===`indirect`?null:s(Jt(e,o+1),a.goProbeTimeout)]);return c?on(e,n,r,n===`indirect`?null:await an(o,l,t=>s(Jt(e,t),a.goProbeTimeout)),c.Version,c.Time):rn(e,r,n)}async function ln(e,t,n,r,i,a){if(Gt(e,a))return cn(e,t,n,r,i);let o=Kt(e),s=qt(e),c=async t=>{let n=Jt(e,t);return i.doFetch(`${i.goProxyUrl}/${Kt(n)}/@latest`,{signal:AbortSignal.timeout(i.goProbeTimeout)}).then(async e=>e.ok?{...await e.json(),path:n}:null).catch(()=>null)},[l,u]=await Promise.all([i.doFetch(`${i.goProxyUrl}/${o}/@latest`,{signal:AbortSignal.timeout(i.fetchTimeout)}),t===`indirect`?null:nn(e,s,i)]);if(!l.ok)return rn(e,n,t);let d,f;try{let e=await l.json();d=e.Version,f=e.Time}catch{return rn(e,n,t)}let p=null;return t!==`indirect`&&(u!==null&&u>s?(p=await c(u),p||=await an(s,await c(s+1),c)):u===null&&(p=await an(s,await c(s+1),c))),on(e,t,n,p,d,f)}function un(e,t){let n=L(t);return e=e.replace(RegExp(`^replace\\s+${n}(\\s+v\\S+)?\\s+=>\\s+\\S+(\\s+v\\S+)?\\s*\\n`,`gm`),``),e=e.replace(RegExp(`^\\s+${n}(\\s+v\\S+)?\\s+=>\\s+\\S+(\\s+v\\S+)?\\s*\\n`,`gm`),``),e=e.replace(/^replace\s*\(\s*\)\s*\n/gm,``),e}function dn(e,t){let n=e,r={};for(let[e,{old:i,oldOrig:a}]of Object.entries(t)){let[o,s]=e.split(`\0`),c=a||i,l=t[e].new;if(o===`replace`){n=n.replace(RegExp(`(=>\\s+${L(s)}\\s+)v${L(c)}`,`g`),`$1v${l}`);continue}if(o===`indirect`){n=n.replace(RegExp(`(${L(s)}) +v${L(c)}`,`g`),`$1 v${l}`);continue}let u=qt(s),d=Number.parseInt(l.split(`.`)[0]);if(u!==d&&d>1){let e=Jt(s,d);n=n.replace(RegExp(`${L(s)} +v${L(c)}`,`g`),`${e} v${l}`),r[s]=e}else n=n.replace(RegExp(`(${L(s)}) +v${L(c)}`,`g`),`$1 v${l}`);n=un(n,s)}return[n,r]}function fn(e,t,n){if(!Object.keys(t).length)return;let r=p(`**/*.go`,{cwd:e});for(let i of r){let r=l(e,i),a=h(r,`utf8`),o=!1;for(let[e,n]of Object.entries(t)){let t=RegExp(`"${L(e)}(/|")`,`g`),r=a.replace(t,`"${n}$1`);r!==a&&(a=r,o=!0)}o&&n(r,a)}}function pn(e){let t=`https://${mn(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[e,i,a,...o]=r;return n.pathname=`/${i}/${a}/${ft(t)}/${o.join(`/`)}`,n.toString()}else return t}function mn(e){return/\/v[0-9]$/.test(e)?c(e):e}function hn(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}const gn=/^\s*-?\s*uses:\s*['"]?([^'"#\s]+)['"]?/gm;function _n(e){if(e.startsWith(`docker://`)||e.startsWith(`./`))return null;let t=/^https?:\/\/([^/]+)\/(.+)$/.exec(e),n=t?.[1]??null,r=t?.[2]??e,i=r.indexOf(`@`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!o)return null;let s=a.split(`/`);if(s.length<2)return null;let c=n?`${n}/${a}`:a;return{host:n,owner:s[0],repo:s[1],ref:o,name:c,isHash:st.test(o)}}function vn(e,t){return e?e===`github.com`?`https://api.github.com`:`https://${e}/api/v1`:t}async function yn(e,t,n,r,i){try{let a=await it(`${e}/repos/${t}/${n}/git/commits/${r}`,i);if(!a?.ok)return``;let o=await a.json();return o?.committer?.date||o?.author?.date||``}catch{return``}}function bn(e,t){return dt(fe(I(e))?.version??I(e),t)}function xn(e,t){let n=e;for(let{name:e,oldRef:r,newRef:i}of t){let t=RegExp(`(uses:\\s*['"]?)${L(e)}@${L(r)}`,`g`);n=n.replace(t,`$1${e}@${i}`)}return n}function Sn(e){let t=e.replace(/\\/g,`/`);return/\.github\/workflows\/[^/]+\.(ya?ml)$/.test(t)}function Cn(e){try{return g(e).filter(e=>/\.(ya?ml)$/.test(e)).map(t=>u(l(e,t)))}catch{return[]}}const wn=/^(v?\d+(?:\.\d+){0,2})(-.+)?$/,Tn=/^\s*FROM\s+(?:--platform=\S+\s+)?(\S+)/gm,En=/^\s*image:\s*['"]?([^\s'"#]+)['"]?/gm,Dn=/^\s*container:\s*['"]?([^\s'"#{}]+:[^\s'"#{}]+)['"]?\s*$/gm,On=/^\s*-?\s*uses:\s*['"]?docker:\/\/([^'"#\s]+)['"]?/gm;function kn(e){let t=e.split(`/`);return t.length===1?{registry:null,namespace:`library`,repo:t[0]}:t.length===2&&!t[0].includes(`.`)&&!t[0].includes(`:`)?{registry:null,namespace:t[0],repo:t[1]}:{registry:t[0],namespace:t.slice(1,-1).join(`/`)||t[1],repo:t[t.length-1]}}function An(e){if(e=e.replace(/^docker:\/\//,``),e.includes(`@`))return null;let t=e.lastIndexOf(`:`),n,r;if(t===-1||e.lastIndexOf(`/`)>t||(n=e.substring(0,t),r=e.substring(t+1),!r||!wn.test(r)))return null;let{registry:i,namespace:a,repo:o}=kn(n);return{registry:i,namespace:a,repo:o,tag:r,fullImage:n}}function jn(e){let t=wn.exec(e);return t?{version:t[1],suffix:t[2]||``}:null}function Mn(e,t){let n=jn(t);return n?dt(e,n.version,n.suffix):t}function Nn(e,t){let n=[];for(let r of e.matchAll(t)){let e=An(r[1]);e&&n.push({ref:e,match:r[1]})}return n}async function Pn(e,t,n){let r={},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=100&ordering=last_updated&page=${e}`,o=e=>{for(let t of e.results||[])r[t.name]=t.tag_last_pushed||t.last_updated||``},s=Array.from({length:10},(e,t)=>n.doFetch(a(t+1),{signal:AbortSignal.timeout(n.fetchTimeout)}).then(async e=>e?.ok?e.json():null).catch(()=>null)),c=await Promise.all(s),l=c[0];if(!l)return r;let u=Math.min(Math.ceil((l.count||0)/100),10);for(let e=0;e<u;e++)c[e]&&o(c[e]);return r}async function Fn(e,t,n){let{registry:r,namespace:i,repo:a}=kn(e);if(r)throw Error(`Non-Docker-Hub registries are not yet supported: ${r}`);return[{tags:await Pn(i,a,n),name:e},t,null,e]}function In(e,t,n){let r=jn(t);if(!r)return null;let i=he(I(r.version))?.version;if(!i)return null;let a=i,o=``,s=``;for(let[t,i]of Object.entries(e)){let e=jn(t);if(!e||e.suffix!==r.suffix)continue;let c=he(I(e.version))?.version;if(!c||!j(c))continue;let l=M(a,c);!l||!n.has(l)||_e(c,a)&&(a=c,o=t,s=i)}if(!o||a===i)return null;let c=Mn(a,t);return c===t?null:{newTag:c,date:s}}function Ln(e,t,n){let r=e;for(let[e,i]of Object.entries(t)){let[t,a]=e.split(`\0`),o=i.oldOrig||i.old;for(let e of n)r=r.replace(e(L(a),L(o)),`$1${a}:${i.new}`)}return r}function Rn(e,t){return Ln(e,t,[(e,t)=>RegExp(`(FROM\\s+(?:--platform=\\S+\\s+)?)${e}:${t}`,`g`)])}function zn(e,t){return Ln(e,t,[(e,t)=>RegExp(`(image:\\s*['"]?)${e}:${t}`,`g`)])}function Bn(e,t){return Ln(e,t,[(e,t)=>RegExp(`((?:container|image):\\s*['"]?)${e}:${t}`,`g`),(e,t)=>RegExp(`(uses:\\s*['"]?docker://)${e}:${t}`,`g`)])}const Vn=[`Dockerfile`,`docker-compose.yml`,`docker-compose.yaml`];function Hn(e){return/^docker-.+\.ya?ml$/.test(e)}function Un(e){return/^Dockerfile(\..+)?$/.test(e)}function Wn(e){return Un(e)||Hn(e)}function Gn(e){return Un(e)?Tn:En}function Kn(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const qn={"package.json":`npm`,"pyproject.toml":`pypi`,"go.mod":`go`},Jn={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}};function W(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.flatMap(e=>typeof e==`string`?He(e):``).filter(Boolean)):typeof e==`string`?new Set([e]):typeof e==`boolean`?e:!1}function Yn(e){for(let[t,{short:n}]of Object.entries(Jn))if(t===e||n===e)return t;return``}const G=b({strict:!1,allowPositionals:!0,tokens:!0,options:Jn}),K=G.values;for(let[e,t]of G.tokens.entries())if(t.kind===`option`&&t.value?.startsWith(`-`)){let n=Yn(t.value.substring(1)),r=G.tokens[e+1];K[t.name]=[!0],K[n]||(K[n]=[]),r?.kind===`positional`&&r.value?K[n].push(r.value):K[n].push(!0)}const q=G.values,Xn=G.positionals,[Zn,Qn,J]=[`magenta`,`red`,`green`].map(e=>q[`no-color`]?String:t=>te(e,String(t))),Y=Z(W(q.greatest)),$n=Z(W(q.prerelease)),er=Z(W(q.release)),tr=Z(W(q.patch)),nr=Z(W(q.minor)),rr=Z(W(q[`allow-downgrade`])),ir=W(q.modes)||new Set([`npm`,`pypi`,`go`,`actions`,`docker`]),ar=typeof q.forgeapi==`string`?R(q.forgeapi):`https://api.github.com`,or=typeof q.pypiapi==`string`?R(q.pypiapi):`https://pypi.org`,sr=typeof q.jsrapi==`string`?R(q.jsrapi):`https://jsr.io`,cr=typeof q.goproxy==`string`?R(q.goproxy):Ut(),lr=typeof q.dockerapi==`string`?R(q.dockerapi):`https://hub.docker.com`,ur=Wt();function dr(e){let t={};if(Array.isArray(e)){for(let n of e)if(typeof n==`string`){let[e,r]=n.split(`=`,2);e&&r&&Ae(r)&&(t[e]=r)}}else if(typeof e==`string`){let[n,r]=e.split(`=`,2);n&&r&&Ae(r)&&(t[n]=r)}return t}function fr(e,t){let n=l(t,e);try{return f(n),n}catch{}let r=c(t);return r===t?null:fr(e,r)}function pr(e){console.error(`${We()} ${e}`)}const mr=typeof q.timeout==`string`?Number(q.timeout):0,X={fetchTimeout:mr||5e3,goProbeTimeout:mr?mr/2:2500,forgeApiUrl:ar,pypiApiUrl:or,jsrApiUrl:sr,goProxyUrl:cr,dockerApiUrl:lr,doFetch:(e,t)=>Ze(e,t,!!q.verbose,pr,Zn,J,Qn),verbose:!!q.verbose};async function hr(e){console.info(q.json?JSON.stringify({message:e}):e),await gr()}async function gr(e,t){if(e){let t=e.stack??e.message,n=e.cause;q.json?console.info(JSON.stringify({error:t,cause:n})):(console.info(Qn(t)),n&&console.info(Qn(`Caused by: ${String(n)}`)))}r===`win32`&&Number(o?.node?.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),n(t||e?1:0)}function _r(e={}){for(let t of Object.keys(e))for(let n of Object.values(e[t]))typeof n.oldPrint==`string`&&(n.old=n.oldPrint),typeof n.newPrint==`string`&&(n.new=n.newPrint),typeof n.oldOrig==`string`&&!U(n.oldOrig)&&(n.old=t===`go`?hn(n.oldOrig):n.oldOrig),t===`go`&&(n.new=hn(n.new)),t===`actions`&&(n.old=I(n.old),n.new=I(n.new)),delete n.oldPrint,delete n.newPrint,delete n.oldOrig,delete n.date;let t=0;for(let n of Object.keys(e))t+=Object.keys(e[n]).length;if(q.json){let t={results:{}};for(let n of Object.keys(e))for(let[r,i]of Object.entries(e[n])){let[e,a]=r.split(`\0`);t.results[n]||(t.results[n]={}),t.results[n][e]||(t.results[n][e]={}),t.results[n][e][a]=i}console.info(JSON.stringify(t))}else t&&console.info(br(e));return q[`error-on-outdated`]?t?2:0:q[`error-on-unchanged`]?t?0:2:0}function vr(e,t){r===`win32`&&v(e,0),y(e,t,r===`win32`?{flag:`r+`}:void 0)}const yr=e=>ee(e).length;function br(e){let t=Object.keys(e).filter(t=>Object.keys(e[t]).length>0),n=t.length>1,r=[n?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],i=new Set;for(let a of t)for(let[t,o]of Object.entries(e[a])){let[e,s]=t.split(`\0`),c=`${a}|${s}`;if(i.has(c))continue;i.add(c);let l=[];l.push(a===`go`?mn(s):s),n&&l.push(a),l.push(Fe(o.old,o.new,Qn)),l.push(Fe(o.new,o.old,J)),l.push(o.age||``),l.push(o.info||``),r.push(l)}return Ge(r,yr)}function xr(e,t){return RegExp(`^${L(e).replaceAll(`\\*`,`.*`)}$`,t?`i`:``)}function Sr(e,t,n){return t&&typeof e==`string`?/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):xr(e,n):e instanceof RegExp?e:xr(e,n)}function Z(e){if(e instanceof Set){let t=new Set;for(let n of e)t.add(Sr(n,!0,!1));return t}return e}function Q(e,t){let n=new Set;for(let t of e||[])n.add(Sr(t,!0,!0));for(let e of t||[])n.add(Sr(e,!1,!0));return n}function Cr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(e=>He(e)):[]}function wr(e){return tr===!0||F(e,tr)?new Set([`patch`]):nr===!0||F(e,nr)?new Set([`patch`,`minor`]):new Set([`patch`,`minor`,`major`])}function Tr(e){return{useGreatest:typeof Y==`boolean`?Y:F(e,Y),usePre:typeof $n==`boolean`?$n:F(e,$n),useRel:typeof er==`boolean`?er:F(e,er),semvers:wr(e)}}function Er(t){return t.replace(`${e()}/`,``).replace(`${e()}\\`,``)}function $(e,t,n,r,i){if(i===`engines`&&Re.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let a=t===`go`?e.replace(/\/v\d+$/,``):e;for(let t of r)if(t.test(e)||t.test(a))return!1;for(let t of n)if(t.test(e)||t.test(a))return!0;return!n.size}function Dr(t){let n=new Set,r=new Set;if(t)for(let e of t){let t;try{t=m(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}if(t?.isFile()){let t=u(e);n.add(t),r.add(t)}else if(t?.isDirectory()){for(let t of Object.keys(qn)){let r=l(e,t),i=null;try{i=m(r)}catch{}i?.isFile()&&n.add(u(r))}try{for(let t of g(e))if(Wn(t)){let i=l(e,t);try{m(i).isFile()&&(n.add(u(i)),r.add(u(i)))}catch{}}}catch{}let t=u(e).replace(/\\/g,`/`),i;i=t.endsWith(`.github/workflows`)?t:t.endsWith(`.github`)?l(t,`workflows`):l(t,`.github`,`workflows`);for(let e of Cn(i))n.add(e),r.add(e)}else throw Error(`${e} is neither a file nor directory`)}else{for(let t of Object.keys(qn)){let r=fr(t,e());r&&n.add(u(r))}for(let t of Vn){let r=fr(t,e());r&&n.add(u(r))}try{for(let t of g(e()))if(Wn(t)&&!Vn.includes(t)){let r=l(e(),t);try{m(r).isFile()&&n.add(u(r))}catch{}}}catch{}let t=fr(l(`.github`,`workflows`),e());if(t)for(let e of Cn(t))n.add(e)}return[n,r]}async function Or(e){let t=[];for(let e of[`js`,`ts`,`mjs`,`mts`])t.push(`updates.config.${e}`);let n={};try{({default:n}=await Promise.any(t.map(async t=>{let n=l(e,...t.split(`/`)),r=d(n);try{f(n)}catch{throw Error(`File not found: ${t}`)}try{return await import(r.href)}catch(e){throw Error(`Unable to parse config file ${t}: ${e.message}`)}})))}catch(e){if(e instanceof AggregateError){let t=e.errors.filter(e=>e.message.startsWith(`Unable to parse`));if(t.length>0)throw t[0]}}return n}async function kr(){for(let e of[a,i])e?._handle?.setBlocking?.(!0);Je();let e=typeof q.sockets==`number`?q.sockets:96,{help:t,version:n,file:r,types:o,update:l,include:d,exclude:f,pin:p,cooldown:m}=q;t&&(a.write(`usage: updates [options] [files...]
|
|
26
8
|
|
|
27
9
|
Options:
|
|
28
10
|
-u, --update Update versions and write dependency file
|
|
@@ -42,7 +24,7 @@ import{cwd as e,env as t,exit as n,platform as r,stderr as i,stdout as a,version
|
|
|
42
24
|
-U, --error-on-unchanged Exit with code 0 when updates are available and 2 when not
|
|
43
25
|
-r, --registry <url> Override npm registry URL
|
|
44
26
|
-S, --sockets <num> Maximum number of parallel HTTP sockets opened. Default: 96
|
|
45
|
-
-T, --timeout <ms> Network request timeout in ms (go probes use half). Default:
|
|
27
|
+
-T, --timeout <ms> Network request timeout in ms (go probes use half). Default: 5000
|
|
46
28
|
-M, --modes <mode,...> Which modes to enable. Default: npm,pypi,go,actions,docker
|
|
47
29
|
-j, --json Output a JSON object
|
|
48
30
|
-n, --no-color Disable color output
|
|
@@ -62,4 +44,4 @@ import{cwd as e,env as t,exit as n,platform as r,stderr as i,stdout as a,version
|
|
|
62
44
|
$ updates -f .github
|
|
63
45
|
$ updates -f Dockerfile
|
|
64
46
|
$ updates -f docker-compose.yml
|
|
65
|
-
`),await
|
|
47
|
+
`),await gr()),n&&(console.info(Ye),await gr());let g={},_={},v={},y={},b=Date.now(),x=0,ee=W(r),te=ee instanceof Set?ee:Xn.length?new Set:!1;if(te instanceof Set)for(let e of Xn)te.add(e);let[ne,S]=Dr(te),ie={},C={},w=Cr(d),T=Cr(f),oe=dr(p),se=[],ce=[],le={};function E(e,t,n){g.docker||={};let r=Q(w,[]),i=Q(T,[]);for(let a of n)for(let{ref:n}of Nn(e,a)){if(!$(n.fullImage,`docker`,r,i,`docker`))continue;let e=`${t}${n.fullImage}`;if(g.docker[e])continue;let a=jn(n.tag);a&&(g.docker[e]={old:a.version,oldOrig:n.tag},ce.push({key:e,fullImage:n.fullImage,ref:n}))}}for(let e of ne){if(Sn(e)){let t=ir.has(`actions`)||S.has(e),n=ir.has(`docker`)||S.has(e);if(!t&&!n)continue;let r;try{r=h(e,`utf8`)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}let i=Er(e);if(ie[i]={absPath:e,content:r},t){g.actions||={};let e=Q(w,[]),t=Q(T,[]),n=Array.from(r.matchAll(gn),e=>_n(e[1])).filter(e=>e!==null);for(let r of n){if(!$(r.name,`actions`,e,t,`actions`))continue;let n=`${i}${r.name}`;g.actions[n]||(g.actions[n]={old:r.ref},se.push({...r,key:n,apiUrl:vn(r.host,ar)}))}}n&&(C[i]={absPath:e,content:r,fileType:`workflow`},E(r,i,[En,Dn,On]));continue}let t=s(e);if(Wn(t)){if(!ir.has(`docker`)&&!S.has(e))continue;let n;try{n=h(e,`utf8`)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}let r=Er(e),i=Un(t)?`dockerfile`:`compose`;C[r]={absPath:e,content:n,fileType:i},E(n,r,[Gn(t)]);continue}let n=qn[t];if(!ir.has(n)&&!S.has(e))continue;y[n]=e,g[n]||(g[n]={});let r=c(u(e)),i=await Or(r),a=Q(w,i?.include??[]),l=Q(T,i?.exclude??[]),d={...i?.pin,...oe},f=[];Array.isArray(o)?f=o.filter(e=>typeof e==`string`):`types`in i&&Array.isArray(i.types)?f=i.types:n===`npm`?f=Le:n===`pypi`?f=Array.from(ze):n===`go`&&(f=Array.from(Be));let p={};try{v[n]=h(e,`utf8`)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}try{if(n===`npm`)p=JSON.parse(v[n]);else if(n===`pypi`)p=ae(v[n]);else{let e=sn(v[n]);p.deps=e.deps,p.indirect=e.indirect,p.replace=e.replace}}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}for(let e of f){let t;if(t=n===`npm`||n===`go`?p[e]||{}:Ve(p,e)||{},Array.isArray(t)&&n===`pypi`)for(let{name:r,version:i}of Ie(t))$(r,n,a,l,e)&&(g[n][`${e}${r}`]={old:It(i),oldOrig:i});else if(typeof t==`string`){let[r,i]=t.split(`@`);$(r,n,a,l,e)&&(g[n][`${e}${r}`]={old:It(i),oldOrig:i})}else for(let[r,i]of Object.entries(t))if(n===`npm`&&U(i)&&$(r,n,a,l,e)){let t=Mt(i,r);g[n][`${e}${r}`]={old:t.version,oldOrig:i}}else n!==`go`&&Ae(i)&&$(r,n,a,l,e)?g[n][`${e}${r}`]={old:It(i),oldOrig:i}:n===`npm`&&jt(i)&&$(r,n,a,l,e)?g[n][`${e}${r}`]={old:`0.0.0`,oldOrig:i}:n===`npm`&&!U(i)&&$(r,n,a,l,e)?_[`${e}${r}`]={old:i}:n===`go`&&$(r,n,a,l,e)&&(g[n][`${e}${r}`]={old:hn(i),oldOrig:I(i)})}x+=Object.keys(g[n]).length+Object.keys(_).length,le[n]={config:i,projectDir:r,pin:d}}if(g.actions&&(x+=Object.keys(g.actions).length),g.docker&&(x+=Object.keys(g.docker).length),x===0)return hr(`No dependencies found, nothing to do.`);let D=[];for(let t of Object.keys(le)){if(!g[t]||!Object.keys(g[t]).length&&!Object.keys(_).length)continue;let{config:n,projectDir:r,pin:i}=le[t];D.push((async()=>{let a=(await re(Object.keys(g[t]),async e=>{let[i,a]=e.split(`\0`);if(t===`npm`){let{oldOrig:r}=g[t][e];if(r&&U(r))return Nt(a,i,X);if(r&&jt(r))try{return await At(a,i,n,q,X)}catch{return delete g[t][e],null}return At(a,i,n,q,X)}else if(t===`go`)return ln(a,i,g[t][e].oldOrig||g[t][e].old,r,X,ur);else return Bt(a,i,X)},{concurrency:e})).filter(Boolean);for(let[e,n,r,o]of a){if(e?.error)throw Error(e.error);let{useGreatest:a,usePre:s,useRel:c,semvers:l}=Tr(e.name),u=`${n}${o}`,d=g[t][u].old,f=g[t][u].oldOrig,p=i[o],m=tt(e,{usePre:s,useRel:c,useGreatest:a,semvers:l,range:d,mode:t,pinnedRange:p},{allowDowngrade:rr,matchesAny:F,isGoPseudoVersion:Yt}),h=``;if([`go`,`pypi`].includes(t)&&m)h=m;else if(m)if(f&&jt(f))h=String(Tt()[`save-exact`])===`true`?m:`^${m}`;else if(f&&U(f))if(f.startsWith(`npm:@jsr/`)){let e=/^(npm:@jsr\/[^@]+@)(.+)$/.exec(f);e&&(h=`${e[1]}${m}`)}else if(f.startsWith(`jsr:@`)){let e=/^(jsr:@[^@]+@)(.+)$/.exec(f);e&&(h=`${e[1]}${m}`)}else f.startsWith(`jsr:`)&&(h=`jsr:${m}`);else h=Ft(d,m,f);if(!m||m===d||f&&f===h){delete g[t][u];continue}let _=``;if(t===`npm`&&e.time?.[m]?_=e.time[m]:t===`pypi`&&e.releases?.[m]?.[0]?.upload_time_iso_8601?_=e.releases[m][0].upload_time_iso_8601:t===`go`&&e.Time&&(_=e.Time),g[t][u].new=h,f&&U(f)&&(g[t][u].newPrint=m),t===`npm`)g[t][u].info=pt(e?.versions?.[m],r,e.name);else if(t===`pypi`)g[t][u].info=pt(e,r,e.info.name);else if(t===`go`){let n=e.newPath||o;g[t][u].info=pn(n)}_&&(g[t][u].date=_,g[t][u].age=P(_,{noAffix:!0}))}if(Object.keys(_).length){let n=(await re(Object.entries(_),([e,t])=>{let n=e.split(`\0`)[1];return zt(e,t,typeof Y==`boolean`?Y:F(n,Y),X)},{concurrency:e})).filter(e=>e!==null);for(let e of n){let{key:n,newRange:r,user:i,repo:a,oldRef:o,newRef:s,newDate:c}=e;g[t][n]={old:_[n].old,new:r,oldPrint:st.test(o)?o.substring(0,7):o,newPrint:st.test(s)?s.substring(0,7):s,info:`https://github.com/${i}/${a}`,...c?{age:P(c,{noAffix:!0})}:{}}}}let o=m??n.cooldown;if(o)for(let[e,{date:n}]of Object.entries(g[t]))Ue(n,qe(String(o)),b)||delete g[t][e]})())}se.length&&D.push((async()=>{let t=new Map;for(let e of se){let n=`${e.apiUrl}/${e.owner}/${e.repo}`;t.has(n)||t.set(n,{apiUrl:e.apiUrl,owner:e.owner,repo:e.repo,infos:[]}),t.get(n).infos.push(e)}if(await re(t.values(),async({apiUrl:e,owner:t,repo:n,infos:r})=>{let i=await lt(e,t,n,X),a=i.map(e=>e.name),o=a.map(e=>I(e)).filter(e=>j(e)),s=new Map;for(let e of i)e.commitSha&&s.set(e.commitSha,e.name);let c=new Map;async function l(r){if(c.has(r))return c.get(r);let i=await yn(e,t,n,r,X);return c.set(r,i),i}for(let e of r){let r=g.actions[e.key],c=`https://${e.host||`github.com`}/${t}/${n}`;if(e.isHash){let{usePre:t,useRel:n}=Tr(e.name),u=et({},o,{range:`0.0.0`,semvers:new Set([`patch`,`minor`,`major`]),usePre:t,useRel:n,useGreatest:!0,pinnedRange:oe[e.name]});if(!u){delete g.actions[e.key];continue}let d=a.find(e=>I(e)===u);if(!d){delete g.actions[e.key];continue}let f=i.find(e=>e.name===d)?.commitSha;if(!f||f===e.ref||f.startsWith(e.ref)||e.ref.startsWith(f)){delete g.actions[e.key];continue}let p=s.get(e.ref)||Array.from(s.entries()).find(([t])=>t.startsWith(e.ref))?.[1];r.old=e.ref,r.new=f.substring(0,e.ref.length),r.oldPrint=p||e.ref.substring(0,7),r.newPrint=d,r.info=c;let m=await l(f);m&&(r.date=m,r.age=P(m,{noAffix:!0}))}else{let t=B(I(e.ref));if(!t){delete g.actions[e.key];continue}let{useGreatest:n,usePre:s,useRel:u,semvers:d}=Tr(e.name),f=et({},o,{range:t,semvers:d,usePre:s,useRel:u,useGreatest:n||!0,pinnedRange:oe[e.name]});if(!f||f===t){delete g.actions[e.key];continue}let p=a.find(e=>I(e)===f);if(!p){delete g.actions[e.key];continue}let m=bn(p,e.ref);if(m===e.ref){delete g.actions[e.key];continue}r.new=m,r.info=c;let h=i.find(e=>e.name===p);if(h?.commitSha){let e=await l(h.commitSha);e&&(r.date=e,r.age=P(e,{noAffix:!0}))}}}},{concurrency:e}),m)for(let[e,{date:t}]of Object.entries(g.actions))Ue(t,qe(String(m)),b)||delete g.actions[e];Object.keys(g.actions).length||delete g.actions})()),ce.length&&D.push((async()=>{let t=new Map;for(let e of ce)t.has(e.fullImage)||t.set(e.fullImage,[]),t.get(e.fullImage).push(e);if(await re(t.entries(),async([e,t])=>{let n;try{let[t]=await Fn(e,`docker`,X);n=t}catch{for(let e of t)delete g.docker[e.key];return}for(let e of t){let t=g.docker[e.key],r=t.oldOrig||t.old,{semvers:i}=Tr(e.fullImage),a=In(n.tags,r,i);if(!a){delete g.docker[e.key];continue}t.new=a.newTag,t.info=Kn(e.ref),a.date&&(t.date=a.date,t.age=P(a.date,{noAffix:!0}))}},{concurrency:e}),m)for(let[e,{date:t}]of Object.entries(g.docker))Ue(t,qe(String(m)),b)||delete g.docker[e];Object.keys(g.docker).length||delete g.docker})()),await Promise.all(D);let ue=0;for(let e of Object.keys(g))ue+=Object.keys(g[e]).length;if(!ue)return hr(`All dependencies are up to date.`);let O=new Map;if(g.actions)for(let[e,t]of Object.entries(g.actions)){let[n,r]=e.split(`\0`);O.has(n)||O.set(n,[]),O.get(n).push({name:r,oldRef:t.old,newRef:t.new})}let k=new Map;if(g.docker)for(let[e,t]of Object.entries(g.docker)){let[n]=e.split(`\0`);k.has(n)||k.set(n,{}),k.get(n)[e]=t}let de=_r(g);if(l){for(let e of Object.keys(g))if(Object.keys(g[e]).length){if(e===`actions`){for(let[e,t]of O){let{absPath:n,content:r}=ie[e]||{};if(n){try{vr(n,xn(r,t))}catch(e){throw Error(`Error writing ${s(n)}: ${e.message}`)}console.info(J(`✨ ${e} updated`))}}continue}if(e===`docker`){for(let[e,t]of k){let n=C[e];if(!n)continue;let{absPath:r,fileType:i}=n,a;try{a=h(r,`utf8`)}catch{continue}try{vr(r,(i===`dockerfile`?Rn:i===`compose`?zn:Bn)(a,t))}catch(e){throw Error(`Error writing ${s(r)}: ${e.message}`)}console.info(J(`✨ ${e} updated`))}continue}try{let t=v[e];if(e===`go`){let[n,r]=dn(t,g[e]);vr(y[e],n),fn(c(u(y[e])),r,vr)}else{let n=e===`npm`?Pt:Vt;vr(y[e],n(t,g[e]))}}catch(t){throw Error(`Error writing ${s(y[e])}: ${t.message}`)}console.info(J(`✨ ${s(y[e])} updated`))}}await gr(void 0,de)}try{await kr()}catch(e){await gr(e)}export{};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "updates",
|
|
3
|
-
"version": "17.8.
|
|
3
|
+
"version": "17.8.2",
|
|
4
4
|
"description": "Dependency update tool for npm, uv, golang and actions",
|
|
5
5
|
"author": "silverwind",
|
|
6
6
|
"repository": "silverwind/updates",
|
|
@@ -16,19 +16,18 @@
|
|
|
16
16
|
"node": ">=22"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@types/node": "25.3.
|
|
20
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
19
|
+
"@types/node": "25.3.5",
|
|
20
|
+
"@typescript/native-preview": "7.0.0-dev.20260306.1",
|
|
21
21
|
"eslint": "9.39.3",
|
|
22
|
-
"eslint-config-silverwind": "
|
|
22
|
+
"eslint-config-silverwind": "122.0.2",
|
|
23
23
|
"p-map": "7.0.4",
|
|
24
|
-
"smol-toml": "1.6.0",
|
|
25
24
|
"timerel": "5.8.6",
|
|
26
|
-
"tsdown": "0.
|
|
27
|
-
"tsdown-config-silverwind": "
|
|
25
|
+
"tsdown": "0.21.0",
|
|
26
|
+
"tsdown-config-silverwind": "2.0.0",
|
|
28
27
|
"typescript": "5.9.3",
|
|
29
28
|
"typescript-config-silverwind": "15.0.0",
|
|
30
29
|
"updates-config-silverwind": "1.0.3",
|
|
31
|
-
"versions": "14.2.
|
|
30
|
+
"versions": "14.2.1",
|
|
32
31
|
"vitest": "4.0.18",
|
|
33
32
|
"vitest-config-silverwind": "10.6.3"
|
|
34
33
|
}
|