updates 17.10.0 → 17.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
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 ee,stripVTControlCharacters as x,styleText as te}from"node:util";import S from"node:dns";import{execFile as ne}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)!==C&&e.push(n);v(e)}return}p++,(async()=>{try{let r=await e.value;if(d)return;let i=await t(r,n);i===C&&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 C=Symbol(`skip`);function ie(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=[];w(c.slice(1),t);for(let n=e+1;n<r.length;n++){let i=r[n].replace(/#.*$/,``).trim();if(i){if(i.includes(`]`)){w(i.replace(/\].*$/,``),t),e=n;break}w(i,t)}}u[d]=t}else u[d]=T(c)}return t}function w(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(ae(e))}}function T(e){if(e.startsWith(`[`)){let t=[];return w(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(`'`)):ae(e)}function ae(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]=T(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
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 ue=/^v?(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*))?(?:\+[a-zA-Z0-9._-]+)?$/,D=new Map;function O(e){if(typeof e!=`string`)return null;let t=D.get(e);if(t!==void 0)return t;let n=ue.exec(e.trim());if(!n)return D.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 D.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 A(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function j(e,t){let n=A(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 M(e){return O(e)?.version??null}function de(e){return O(e)}const fe=new Map,pe=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function me(e){if(typeof e!=`string`)return null;let t=fe.get(e);if(t!==void 0)return t;let n=pe.exec(e);if(!n)return fe.set(e,null),null;let r={version:`${n[1]||`0`}.${n[2]||`0`}.${n[3]||`0`}`};return fe.set(e,r),r}function N(e,t){let n=O(e),r=O(t);if(!n||!r||n.version===r.version)return null;let i=j(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(A(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 he(e,t){let n=O(e),r=O(t);return!n||!r?!1:j(n,r)>0}function ge(e,t){let n=O(e),r=O(t);return!n||!r?!1:j(n,r)>=0}function _e(e,t){let n=O(e),r=O(t);return!n||!r?!1:j(n,r)<0}function ve(e,t){let n=O(e),r=O(t);return!n||!r?!0:j(n,r)!==0}function ye(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 be(e,t){let n=j(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 P(e,t,n){return`${e}.${t}.${n}-0`}function xe(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 <${P(a+1,0,0)}`;let o=Number(n);return`>=${a}.${o}.${r===void 0?0:Number(r)}${i||``} <${P(a,o+1,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),o=i||``;if(n===void 0)return`>=${a}.0.0 <${P(a+1,0,0)}`;let s=Number(n);if(r===void 0)return a===0?`>=${a}.${s}.0 <${P(a,s+1,0)}`:`>=${a}.${s}.0 <${P(a+1,0,0)}`;let c=Number(r);return a===0?s===0?`>=${a}.${s}.${c}${o} <${P(a,s,c+1)}`:`>=${a}.${s}.${c}${o} <${P(a,s+1,0)}`:`>=${a}.${s}.${c}${o} <${P(a+1,0,0)}`})}function Ce(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?`<${P(p+1,0,0)}`:`<${P(p,Number(o)+1,0)}`:`<=${p}.${Number(o)}.${Number(s)}${c||``}`,`>=${l}.${u}.${d}${f} ${m}`})}function we(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 <${P(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 <${P(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 <${P(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 <${P(o+1,0,0)}`}),e)}const Te=new Map;function Ee(e){let t=Te.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=Ce(t),t=Se(t),t=xe(t),t=we(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=ye(t);if(!n)return Te.set(e,null),null;i.push(n)}if(i.length===0)return Te.set(e,null),null;r.push(i)}let i=r.length?r:null;return Te.set(e,i),i}function De(e,t){for(let n of t)if(!be(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 Oe(e,t){let n=O(e);if(!n)return!1;let r=Ee(t);if(!r)return!1;for(let e of r)if(e.length===0||De(n,e))return!0;return!1}function ke(e){if(typeof e!=`string`)return null;try{return Ee(e)?e:null}catch{return null}}const Ae=[[1e3,6e4,`sec`],[6e4,36e5,`min`],[36e5,864e5,`hour`],[864e5,6048e5,`day`],[6048e5,2628e6,`week`],[2628e6,31536e6,`month`],[31536e6,1/0,`year`]],je={"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`},Me={sec:`second`,min:`minute`};function Ne(e){return e instanceof Date?e.getTime():typeof e==`string`?Date.parse(e):e}function Pe(e,{now:t,noAffix:n=!1,times:r=Ae,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=je,longUnits:l=!1}={}){let u=Ne(e),d=t===void 0?Date.now():Ne(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&&Me[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`],Ve=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`];function F(e,t){for(let n of t instanceof Set?t:[])if(n.test(e))return!0;return!1}function He(e,t){return t.split(`.`).reduce((e,t)=>e?.[t]??null,e)}function Ue(e){return e.split(`,`).filter(Boolean)}function We(e,t,n){return!e||!t?!0:(n-Date.parse(e))/(24*3600*1e3)>=t}function Ge(){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 Ke(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 qe={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Je(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=qe[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 Ye(){let e=new Map,t=new Map,n=S.lookup;S.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(S,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 Xe=`17.10.0`,I=e=>e.replace(/^v/,``),L=e=>e.replace(/[|\\{}()[\]^$+*?.-]/g,`\\$&`),R=e=>e.endsWith(`/`)?e.substring(0,e.length-1):e;function Ze(e,t){return{headers:{"user-agent":`updates/${Xe}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}async function Qe(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=de(e);return t?!!t.prerelease.length:!1}function $e(e){return/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e)}function et(e,t,{useRel:n,allowDowngrade:r,name:i,matchesAny:a}){let o=B(e),s=B(t);if(!o||!s)return!0;let c=$e(e)||z(e),l=z(t);return c&&!l?he(s,o)||n:!l&&_e(s,o)?r===!0||a(i,r):!0}function B(e){try{return me(e)?.version??``}catch{return``}}function tt(e,t,{range:n,semvers:r,usePre:i,useRel:a,useGreatest:o,pinnedRange:s}){let c=B(n);if(!c)return c;i=$e(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=de(n);if(!t?.version||t.prerelease.length&&(!i||a))continue;let c=t.version;if(s&&!Oe(c,s))continue;let d=N(u,c);if(!(!d||!r.has(d)))if(o||!(`time`in e))ge(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 nt(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=>M(e));else if(t===`npm`||t===`cargo`)d=Object.keys(e.versions).filter(e=>M(e));else if(t===`go`){let t=B(n);if(!t)return null;let r=a||$e(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=N(t,p);if(n&&o.has(n)&&et(f,e.new,d))return e.new}let m=B(e.sameMajorNew);if(m&&!u(e.sameMajorNew)&&!s(e.sameMajorNew)){let n=N(t,m);if(n&&o.has(n)&&et(f,e.sameMajorNew,d))return e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew}return null}let f=tt(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=$e(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 et(n,f,g)?f:null;let _=N(d,r);return _&&_!==`prerelease`&&!o.has(_.replace(/^pre/,``))||i&&z(r)?f:_e(r,d)&&!h?et(n,r,g)?r:null:!p&&h&&!a||s&&!Oe(r,s)?f:u||r}}const rt=new Map;if(t.UPDATES_FORGE_TOKENS)for(let e of t.UPDATES_FORGE_TOKENS.split(`,`)){let t=e.indexOf(`:`);t>0&&rt.set(e.substring(0,t),e.substring(t+1))}function it(e){try{let t=rt.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 at(e,t){let n={signal:AbortSignal.timeout(t.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}},r=it(e);return r&&(n.headers={...n.headers,Authorization:`Bearer ${r}`}),t.doFetch(e,n)}function ot(e,t,n){let r=I(t);if(!M(r))return null;if(n){let n=t,i=I(t);for(let t of e){let e=I(t);M(e)&&(!n||he(e,i))&&(n=t,i=e)}if(ve(r,i))return n}else{let t=e.at(-1);if(!t)return null;let n=I(t);if(!M(n))return null;if(ve(r,n))return t}return null}function st(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 ct=/^[0-9a-f]{7,}$/i;function lt(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function ut(e,t,n,r){try{let i=await at(`${e}/repos/${t}/${n}/tags?per_page=100`,r);if(!i?.ok)return[];let a=lt(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)=>at(`${e}/repos/${t}/${n}/tags?per_page=100&page=${a+2}`,r)));for(let e of o)e?.ok&&a.push(...lt(await e.json()))}return a}catch{return[]}}function dt(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 ft(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 pt(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=st(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a=`${a}/${pt(a)}/${e.directory}`)),a||t||``)}function ht(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 gt(e){try{return ht(h(e,`utf-8`))}catch{return}}function _t(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 vt(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 yt(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=gt(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(_t(`.${e}rc`));let u=vt(`${e}_`);return u.config&&c(u.config),Object.assign({},...o,u,s.length?{configs:s,config:s[s.length-1]}:void 0)}const bt=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,xt=/^([^/]+)\/([^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,St=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,Ct=/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g,wt=`https://registry.npmjs.org`;let V=null;const Tt=new Map;function Et(){return V||yt(`npm`,{registry:wt})}function Dt(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``)}function Ot(e,t){let n=t[`${e}:_authToken`]||t[`${e}/:_authToken`];if(n)return{token:Dt(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(Dt(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:Dt(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=Ot(`//${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:Dt(i),type:`Basic`}}function kt(e,t){let n=t[`${e}:registry`]||t.registry;return n.endsWith(`/`)?n:`${n}/`}function At(e,t){V||=Et();let n=e.startsWith(`@`)?(/@[a-z0-9][\w.-]+/.exec(e)||[``])[0]:``,r=`${n}:${t}`,i=Tt.get(r);if(i)return i;let a;if(!e.startsWith(`@`))a={auth:H(t,V),registry:t};else{let e=R(kt(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 Tt.set(r,a),a}async function jt(e,t,n,r,i){V||=Et();let{auth:a,registry:o}=At(e,R((typeof r.registry==`string`?r.registry:!1)||n.registry||V.registry||wt)),c=`${o}/${(t===`resolutions`?s(e):e).replace(/\//g,`%2f`)}`,l=await i.doFetch(c,{signal:AbortSignal.timeout(i.fetchTimeout),...Ze(a?.type,a?.token)});if(l?.ok)return[await l.json(),t,o,e];dt(l,c,e,o)}function U(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Mt(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Nt(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 Pt(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]}dt(s,o,e,`JSR`)}function Ft(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 It(e,t,n){let r=e.replace(Ct,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 Lt(e){let t=e.match(St);return t?.length===1?e.replace(St,B(t[0])):e}async function Rt(e,t,n){try{let r=await at(`${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 zt(e,t,n){return(await ut(n.forgeApiUrl,e,t,n)).map(e=>e.name)}async function Bt(e,t,n,r){let i=t.old.replace(bt,``),[a,o,s,c]=xt.exec(i)||[];if(!o||!s||!c)return null;if(ct.test(c)){let{hash:n,commit:i}=await Rt(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=ot(await zt(o,s,r),c,n);if(t)return{key:e,newRange:t,user:o,repo:s,oldRef:c,newRef:t}}return null}async function Vt(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];dt(i,r,e,n.pypiApiUrl)}function Ht(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 Ut=ee(ne);function Wt(){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 Gt(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim()).filter(Boolean)}function Kt(e,t){return t.some(t=>e===t||e.startsWith(`${t}/`))}function qt(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}function Jt(e){let t=/\/v(\d+)$/.exec(e);return t?Number.parseInt(t[1]):1}function Yt(e,t){return t<=1?e.replace(/\/v\d+$/,``):`${e.replace(/\/v\d+$/,``)}/v${t}`}function Xt(e,t){return t===`indirect`||e.startsWith(`golang.org/x/`)}function Zt(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function Qt(e){return`${(e.length+4).toString(16).padStart(4,`0`)}${e}`}function $t(e){let t=[Qt(`command=ls-refs
|
|
4
|
+
`)}return r}const qe={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Je(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=qe[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 Ye(){let e=new Map,t=new Map,n=S.lookup;S.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(S,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 Xe=`17.10.1`,I=e=>e.replace(/^v/,``),L=e=>e.replace(/[|\\{}()[\]^$+*?.-]/g,`\\$&`),R=e=>e.endsWith(`/`)?e.substring(0,e.length-1):e;function Ze(e,t){return{headers:{"user-agent":`updates/${Xe}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}async function Qe(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=de(e);return t?!!t.prerelease.length:!1}function $e(e){return/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e)}function et(e,t,{useRel:n,allowDowngrade:r,name:i,matchesAny:a}){let o=B(e),s=B(t);if(!o||!s)return!0;let c=$e(e)||z(e),l=z(t);return c&&!l?he(s,o)||n:!l&&_e(s,o)?r===!0||a(i,r):!0}function B(e){try{return me(e)?.version??``}catch{return``}}function tt(e,t,{range:n,semvers:r,usePre:i,useRel:a,useGreatest:o,pinnedRange:s}){let c=B(n);if(!c)return c;i=$e(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=de(n);if(!t?.version||t.prerelease.length&&(!i||a))continue;let c=t.version;if(s&&!Oe(c,s))continue;let d=N(u,c);if(!(!d||!r.has(d)))if(o||!(`time`in e))ge(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 nt(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=>M(e));else if(t===`npm`||t===`cargo`)d=Object.keys(e.versions).filter(e=>M(e));else if(t===`go`){let t=B(n);if(!t)return null;let r=a||$e(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=N(t,p);if(n&&o.has(n)&&et(f,e.new,d))return e.new}let m=B(e.sameMajorNew);if(m&&!u(e.sameMajorNew)&&!s(e.sameMajorNew)){let n=N(t,m);if(n&&o.has(n)&&et(f,e.sameMajorNew,d))return e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew}return null}let f=tt(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=$e(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 et(n,f,g)?f:null;let _=N(d,r);return _&&_!==`prerelease`&&!o.has(_.replace(/^pre/,``))||i&&z(r)?f:_e(r,d)&&!h?et(n,r,g)?r:null:!p&&h&&!a||s&&!Oe(r,s)?f:u||r}}const rt=new Map;if(t.UPDATES_FORGE_TOKENS)for(let e of t.UPDATES_FORGE_TOKENS.split(`,`)){let t=e.indexOf(`:`);t>0&&rt.set(e.substring(0,t),e.substring(t+1))}function it(e){try{let t=rt.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 at(e,t){let n={signal:AbortSignal.timeout(t.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}},r=it(e);return r&&(n.headers={...n.headers,Authorization:`Bearer ${r}`}),t.doFetch(e,n)}function ot(e,t,n){let r=I(t);if(!M(r))return null;if(n){let n=t,i=I(t);for(let t of e){let e=I(t);M(e)&&(!n||he(e,i))&&(n=t,i=e)}if(ve(r,i))return n}else{let t=e.at(-1);if(!t)return null;let n=I(t);if(!M(n))return null;if(ve(r,n))return t}return null}function st(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 ct=/^[0-9a-f]{7,}$/i;function lt(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function ut(e,t,n,r){try{let i=await at(`${e}/repos/${t}/${n}/tags?per_page=100`,r);if(!i?.ok)return[];let a=lt(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)=>at(`${e}/repos/${t}/${n}/tags?per_page=100&page=${a+2}`,r)));for(let e of o)e?.ok&&a.push(...lt(await e.json()))}return a}catch{return[]}}function dt(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 ft(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 pt(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=st(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a=`${a}/${pt(a)}/${e.directory}`)),a||t||``)}function ht(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 gt(e){try{return ht(h(e,`utf-8`))}catch{return}}function _t(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 vt(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 yt(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=gt(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(_t(`.${e}rc`));let u=vt(`${e}_`);return u.config&&c(u.config),Object.assign({},...o,u,s.length?{configs:s,config:s[s.length-1]}:void 0)}const bt=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,xt=/^([^/]+)\/([^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,St=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,Ct=/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g,wt=`https://registry.npmjs.org`;let V=null;const Tt=new Map;function Et(){return V||yt(`npm`,{registry:wt})}function Dt(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``)}function Ot(e,t){let n=t[`${e}:_authToken`]||t[`${e}/:_authToken`];if(n)return{token:Dt(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(Dt(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:Dt(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=Ot(`//${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:Dt(i),type:`Basic`}}function kt(e,t){let n=t[`${e}:registry`]||t.registry;return n.endsWith(`/`)?n:`${n}/`}function At(e,t){V||=Et();let n=e.startsWith(`@`)?(/@[a-z0-9][\w.-]+/.exec(e)||[``])[0]:``,r=`${n}:${t}`,i=Tt.get(r);if(i)return i;let a;if(!e.startsWith(`@`))a={auth:H(t,V),registry:t};else{let e=R(kt(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 Tt.set(r,a),a}async function jt(e,t,n,r,i){V||=Et();let{auth:a,registry:o}=At(e,R((typeof r.registry==`string`?r.registry:!1)||n.registry||V.registry||wt)),c=`${o}/${(t===`resolutions`?s(e):e).replace(/\//g,`%2f`)}`,l=await i.doFetch(c,{signal:AbortSignal.timeout(i.fetchTimeout),...Ze(a?.type,a?.token)});if(l?.ok)return[await l.json(),t,o,e];dt(l,c,e,o)}function U(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Mt(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Nt(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 Pt(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]}dt(s,o,e,`JSR`)}function Ft(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 It(e,t,n){let r=e.replace(Ct,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 Lt(e){let t=e.match(St);return t?.length===1?e.replace(St,B(t[0])):e}async function Rt(e,t,n){try{let r=await at(`${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 zt(e,t,n){return(await ut(n.forgeApiUrl,e,t,n)).map(e=>e.name)}async function Bt(e,t,n,r){let i=t.old.replace(bt,``),[a,o,s,c]=xt.exec(i)||[];if(!o||!s||!c)return null;if(ct.test(c)){let{hash:n,commit:i}=await Rt(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=ot(await zt(o,s,r),c,n);if(t)return{key:e,newRange:t,user:o,repo:s,oldRef:c,newRef:t}}return null}async function Vt(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];dt(i,r,e,n.pypiApiUrl)}function Ht(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 Ut=ee(ne);function Wt(){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 Gt(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim()).filter(Boolean)}function Kt(e,t){return t.some(t=>e===t||e.startsWith(`${t}/`))}function qt(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}function Jt(e){let t=/\/v(\d+)$/.exec(e);return t?Number.parseInt(t[1]):1}function Yt(e,t){return t<=1?e.replace(/\/v\d+$/,``):`${e.replace(/\/v\d+$/,``)}/v${t}`}function Xt(e,t){return t===`indirect`||e.startsWith(`golang.org/x/`)}function Zt(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function Qt(e){return`${(e.length+4).toString(16).padStart(4,`0`)}${e}`}function $t(e){let t=[Qt(`command=ls-refs
|
|
5
5
|
`),Qt(`object-format=sha1
|
|
6
6
|
`),`0001`,Qt(`peel
|
|
7
7
|
`),Qt(`ref-prefix refs/tags/${e}v\n`),`0000`];return new Blob([t.join(``)])}function en(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 tn(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 nn(e){return e?`${e.substring(1)}/`:``}function rn(e){let t=/^((github\.com|gitea\.com|codeberg\.org|gitlab\.com|bitbucket\.org|git\.sr\.ht)\/[^/]+\/[^/]+)(\/.*)?$/.exec(e);if(t)return{repoUrl:`https://${t[1]}.git`,tagPrefix:nn(t[3])};let n=/^golang\.org\/x\/([^/]+)(\/.*)?$/.exec(e);if(n)return{repoUrl:`https://go.googlesource.com/${n[1]}`,tagPrefix:nn(n[2])};let r=/^gopkg\.in\/(?:([^/]+)\/)?([^.]+)\.v\d+(\/.*)?$/.exec(e);return r?{repoUrl:`https://github.com/${r[1]||`go-${r[2]}`}/${r[2]}.git`,tagPrefix:nn(r[3])}:null}async function an(e,t){let n=rn(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}}const on=new Map;function sn(e,t){let n=on.get(e);if(n)return n;let r=(async()=>{try{let n=await an(e,t);if(!n)return null;let{repoUrl:r,tagPrefix:i}=n,a=$t(i),o=await t.doFetch(`${r}/git-upload-pack`,{method:`POST`,headers:{"Git-Protocol":`version=2`,"Content-Type":`application/x-git-upload-pack-request`},body:a,signal:AbortSignal.timeout(t.goProbeTimeout)});return o.ok?en(await o.arrayBuffer(),i):null}catch{return null}})();return on.set(e,r),r}async function cn(e,t,n){let r=await sn(e.replace(/\/v\d+$/,``),n);return r?tn(r,t):null}function ln(e,t,n){return[{name:e,old:t,new:t},n,null,e]}async function un(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 dn(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 fn(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 pn(e,n,r,i,a){let o=Jt(e),s=async(e,n)=>{try{let{stdout:r}=await Ut(`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=Xt(e,n),[l,u]=await Promise.all([s(e,a.fetchTimeout),c?null:s(Yt(e,o+1),a.goProbeTimeout)]);return l?dn(e,n,r,c?null:await un(o,u,t=>s(Yt(e,t),a.goProbeTimeout)),l.Version,l.Time):ln(e,r,n)}async function mn(e,t,n,r,i,a){if(Kt(e,a))return pn(e,t,n,r,i);let o=qt(e),s=Jt(e),c=async t=>{let n=Yt(e,t);return i.doFetch(`${i.goProxyUrl}/${qt(n)}/@latest`,{signal:AbortSignal.timeout(i.goProbeTimeout)}).then(async e=>e.ok?{...await e.json(),path:n}:null).catch(()=>null)},l=Xt(e,t),[u,d,f]=await Promise.all([i.doFetch(`${i.goProxyUrl}/${o}/@latest`,{signal:AbortSignal.timeout(i.fetchTimeout)}),l?null:cn(e,s,i),l?null:c(s+1)]);if(!u.ok)return ln(e,n,t);let p,m;try{let e=await u.json();p=e.Version,m=e.Time}catch{return ln(e,n,t)}let h=null;return l||(d!==null&&d>s?d===s+1&&f?h=f:(h=await c(d),h||=await un(s,f,c)):d===null&&f!==null&&(h=await un(s,f,c))),dn(e,t,n,h,p,m)}function hn(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 gn(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=Jt(s),d=Number.parseInt(l.split(`.`)[0]);if(u!==d&&d>1){let e=Yt(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=hn(n,s)}return[n,r]}function _n(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 vn(e){let t=`https://${yn(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[e,i,a,...o]=r;return n.pathname=`/${i}/${a}/${pt(t)}/${o.join(`/`)}`,n.toString()}else return t}function yn(e){return/\/v[0-9]$/.test(e)?c(e):e}function bn(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}const xn=/^\s*(?:-\s*)?uses:\s*['"]?([^'"#\s]+)['"]?/gm;function Sn(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:ct.test(o)}}function Cn(e,t){return e?e===`github.com`?`https://api.github.com`:`https://${e}/api/v1`:t}async function wn(e,t,n,r,i){try{let a=await at(`${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 Tn(e,t){return ft(de(I(e))?.version??I(e),t)}function En(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 Dn(e){let t=e.replace(/\\/g,`/`);return/\.github\/workflows\/[^/]+\.(ya?ml)$/.test(t)}function On(e){try{return g(e).filter(e=>/\.(ya?ml)$/.test(e)).map(t=>u(l(e,t)))}catch{return[]}}const kn=/^(v?\d+(?:\.\d+){0,2})(-.+)?$/,An=/^\s*FROM\s+(?:--platform=\S+\s+)?(\S+)/gm,jn=/^\s*image:\s*['"]?([^\s'"#]+)['"]?/gm,Mn=/^\s*container:\s*['"]?([^\s'"#{}]+:[^\s'"#{}:]+)['"]?\s*$/gm,Nn=/^\s*(?:-\s*)?uses:\s*['"]?docker:\/\/([^'"#\s]+)['"]?/gm;function Pn(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 Fn(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||!kn.test(r)))return null;let{registry:i,namespace:a,repo:o}=Pn(n);return{registry:i,namespace:a,repo:o,tag:r,fullImage:n}}function In(e){let t=kn.exec(e);return t?{version:t[1],suffix:t[2]||``}:null}function Ln(e,t){let n=In(t);return n?ft(e,n.version,n.suffix):t}function Rn(e,t){let n=[];for(let r of e.matchAll(t)){let e=Fn(r[1]);e&&n.push({ref:e,match:r[1]})}return n}async function zn(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 Bn(e,t,n){let{registry:r,namespace:i,repo:a}=Pn(e);if(r)throw Error(`Non-Docker-Hub registries are not yet supported: ${r}`);return[{tags:await zn(i,a,n),name:e},t,null,e]}function Vn(e,t,n){let r=In(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=In(t);if(!e||e.suffix!==r.suffix)continue;let c=me(I(e.version))?.version;if(!c||!M(c))continue;let l=N(a,c);!l||!n.has(l)||ge(c,a)&&(a=c,o=t,s=i)}if(!o||a===i)return null;let c=Ln(a,t);return c===t?null:{newTag:c,date:s}}function Hn(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 Un(e,t){return Hn(e,t,[(e,t)=>RegExp(`(FROM\\s+(?:--platform=\\S+\\s+)?)${e}:${t}`,`g`)])}function Wn(e,t){return Hn(e,t,[(e,t)=>RegExp(`(image:\\s*['"]?)${e}:${t}`,`g`)])}function Gn(e,t){return Hn(e,t,[(e,t)=>RegExp(`((?:container|image):\\s*['"]?)${e}:${t}`,`g`),(e,t)=>RegExp(`(uses:\\s*['"]?docker://)${e}:${t}`,`g`)])}const Kn=[`Dockerfile`,`docker-compose.yml`,`docker-compose.yaml`];function qn(e){return/^docker-.+\.ya?ml$/.test(e)}function Jn(e){return/^Dockerfile(\..+)?$/.test(e)}function Yn(e){return Jn(e)||qn(e)}function Xn(e){return Jn(e)?An:jn}function Zn(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}async function Qn(e,t,n){let r=`${R(n.cratesIoUrl)}/api/v1/crates/${encodeURIComponent(e)}/versions?per_page=100`,i=await n.doFetch(r,{signal:AbortSignal.timeout(n.fetchTimeout),...Ze()});i?.ok||dt(i,r,e,n.cratesIoUrl);let a;try{a=await i.json()}catch{throw Error(`Invalid JSON from ${r}`)}let o=(a.versions||[]).filter(e=>!e.yanked),s={},c={};for(let e of o)e.num&&(s[e.num]={},c[e.num]=e.created_at||``);let l=o[0]?.num??``;return[{name:e,versions:s,time:c,"dist-tags":{latest:l}},t,null,e]}const $n=Ve.map(e=>L(e)).join(`|`);function er(e,t){let n=e;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=L(i),c=L(a);n=n.replace(RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`,`gm`),`$1${o}$2`),n=n.replace(RegExp(`(\\s*${s}\\s*=\\s*\\{\\s*version\\s*=\\s*["'])${c}(["'])`,`g`),`$1${o}$2`),n=n.replace(RegExp(`(\\[(?:${$n})\\.${s}\\][^\\[]*?version\\s*=\\s*["'])${c}(["'])`,`g`),`$1${o}$2`)}return n}const tr={"package.json":`npm`,"pyproject.toml":`pypi`,"go.mod":`go`,"Cargo.toml":`cargo`},nr={"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`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},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`?Ue(e):``).filter(Boolean)):typeof e==`string`?new Set([e]):typeof e==`boolean`?e:!1}function rr(e){for(let[t,{short:n}]of Object.entries(nr))if(t===e||n===e)return t;return``}const G=b({strict:!1,allowPositionals:!0,tokens:!0,options:nr}),K=G.values;for(let[e,t]of G.tokens.entries())if(t.kind===`option`&&t.value?.startsWith(`-`)){let n=rr(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,ir=G.positionals,[ar,J,or]=[`magenta`,`red`,`green`].map(e=>q[`no-color`]?String:t=>te(e,String(t))),Y=Q(W(q.greatest)),sr=Q(W(q.prerelease)),cr=Q(W(q.release)),lr=Q(W(q.patch)),ur=Q(W(q.minor)),dr=Q(W(q[`allow-downgrade`])),fr=W(q.modes)||new Set([`npm`,`pypi`,`go`,`cargo`,`actions`,`docker`]),pr=typeof q.forgeapi==`string`?R(q.forgeapi):`https://api.github.com`,mr=typeof q.pypiapi==`string`?R(q.pypiapi):`https://pypi.org`,hr=typeof q.jsrapi==`string`?R(q.jsrapi):`https://jsr.io`,gr=typeof q.goproxy==`string`?R(q.goproxy):Wt(),_r=typeof q.cargoapi==`string`?R(q.cargoapi):`https://crates.io`,vr=typeof q.dockerapi==`string`?R(q.dockerapi):`https://hub.docker.com`,yr=Gt();function br(e){let t={};if(Array.isArray(e)){for(let n of e)if(typeof n==`string`){let[e,r]=n.split(`=`,2);e&&r&&ke(r)&&(t[e]=r)}}else if(typeof e==`string`){let[n,r]=e.split(`=`,2);n&&r&&ke(r)&&(t[n]=r)}return t}function xr(e,t){let n=l(t,e);try{return f(n),n}catch{}let r=c(t);return r===t?null:xr(e,r)}function Sr(e){try{return h(e,`utf8`)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}}function Cr(e,t){t&&(e.date=t,e.age=Pe(t,{noAffix:!0}))}function wr(e,t,n){let r=Je(String(t));for(let[t,{date:i}]of Object.entries(e))We(i,r,n)||delete e[t]}function Tr(e){let t=0;for(let n of Object.keys(e))t+=Object.keys(e[n]).length;return t}function Er(e){console.error(`${Ge()} ${e}`)}const Dr=typeof q.timeout==`string`?Number(q.timeout):0,X={fetchTimeout:Dr||5e3,goProbeTimeout:Dr?Dr/2:2500,forgeApiUrl:pr,pypiApiUrl:mr,jsrApiUrl:hr,goProxyUrl:gr,cratesIoUrl:_r,dockerApiUrl:vr,doFetch:(e,t)=>Qe(e,t,!!q.verbose,Er,ar,or,J),verbose:!!q.verbose};async function Or(e){console.info(q.json?JSON.stringify({message:e}):e),await kr()}async function kr(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(J(t)),n instanceof Error?console.info(J(`Caused by: ${n.message}`)):n&&console.info(J(`Caused by: ${typeof n==`string`?n:JSON.stringify(n)}`)))}r===`win32`&&Number(o?.node?.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),n(t||e?1:0)}function Ar(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`?bn(n.oldOrig):n.oldOrig),t===`go`&&(n.new=bn(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=Tr(e);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(Mr(e));return q[`error-on-outdated`]?t?2:0:q[`error-on-unchanged`]?t?0:2:0}function Z(e,t){r===`win32`&&v(e,0),y(e,t,r===`win32`?{flag:`r+`}:void 0)}const jr=e=>x(e).length;function Mr(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`?yn(s):s),n&&l.push(a),l.push(Fe(o.old,o.new,J)),l.push(Fe(o.new,o.old,or)),l.push(o.age||``),l.push(o.info||``),r.push(l)}return Ke(r,jr)}function Nr(e,t){return RegExp(`^${L(e).replaceAll(`\\*`,`.*`)}$`,t?`i`:``)}function Pr(e,t,n){return t&&typeof e==`string`?/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):Nr(e,n):e instanceof RegExp?e:Nr(e,n)}function Q(e){if(e instanceof Set){let t=new Set;for(let n of e)t.add(Pr(n,!0,!1));return t}return e}function Fr(e,t){let n=new Set;for(let t of e||[])n.add(Pr(t,!0,!0));for(let e of t||[])n.add(Pr(e,!1,!0));return n}function Ir(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(e=>Ue(e)):[]}function Lr(e){return lr===!0||F(e,lr)?new Set([`patch`]):ur===!0||F(e,ur)?new Set([`patch`,`minor`]):new Set([`patch`,`minor`,`major`])}function Rr(e){return{useGreatest:typeof Y==`boolean`?Y:F(e,Y),usePre:typeof sr==`boolean`?sr:F(e,sr),useRel:typeof cr==`boolean`?cr:F(e,cr),semvers:Lr(e)}}function zr(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 Br(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(tr)){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(Yn(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 On(i))n.add(e),r.add(e)}else throw Error(`${e} is neither a file nor directory`)}else{for(let t of Object.keys(tr)){let r=xr(t,e());r&&n.add(u(r))}for(let t of Kn){let r=xr(t,e());r&&n.add(u(r))}try{for(let t of g(e()))if(Yn(t)&&!Kn.includes(t)){let r=l(e(),t);try{m(r).isFile()&&n.add(u(r))}catch{}}}catch{}let t=xr(l(`.github`,`workflows`),e());if(t)for(let e of On(t))n.add(e)}return[n,r]}async function Vr(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 Hr(){for(let e of[a,i])e?._handle?.setBlocking?.(!0);Ye();let e=typeof q.sockets==`number`?q.sockets:96,{help:t,version:n,file:r,types:o,update:l,indirect:d,include:f,exclude:p,pin:m,cooldown:g}=q;t&&(a.write(`usage: updates [options] [files...]
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "updates",
|
|
3
|
-
"version": "17.10.
|
|
4
|
-
"description": "Dependency update tool for npm, uv,
|
|
3
|
+
"version": "17.10.1",
|
|
4
|
+
"description": "CLI Dependency update tool for npm, uv, cargo, go and actions",
|
|
5
5
|
"author": "silverwind",
|
|
6
6
|
"repository": "silverwind/updates",
|
|
7
7
|
"license": "BSD-2-Clause",
|