metascope 0.7.1 → 0.7.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.
@@ -1,5 +0,0 @@
1
- import{accessSync as e,globSync as t,lstatSync as n,readFileSync as r,readdirSync as i,statSync as a,truncateSync as o,writeFileSync as s}from"node:fs";import{basename as c,dirname as l,join as u,relative as d,resolve as f}from"node:path";import{homedir as p}from"node:os";import{cwd as m,env as h,platform as g,stderr as _}from"node:process";import{styleText as v}from"node:util";import{mkdir as y,readFile as b,writeFile as ee}from"node:fs/promises";import{pathToFileURL as x}from"node:url";import{createHash as S}from"node:crypto";function C(e){let t={},n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=r[e],a=ae(i).trim();if(!a)continue;let o=/^\[\[([^\]]+)\]\]$/.exec(a);if(o){let e=t,r=ie(o[1]);for(let t=0;t<r.length-1;t++){let n=e[r[t]];Array.isArray(n)?e=n[n.length-1]:((!n||typeof n!=`object`)&&(e[r[t]]={}),e=e[r[t]])}let i=r[r.length-1];Array.isArray(e[i])||(e[i]=[]);let a={};e[i].push(a),n=a;continue}let s=/^\[([^[\]]+)\]$/.exec(a);if(s){n=t;for(let e of ie(s[1]))(!(e in n)||typeof n[e]!=`object`||Array.isArray(n[e]))&&(n[e]={}),n=n[e];continue}let c=se(a);if(c<0)continue;let l=a.slice(0,c).trim(),u=a.slice(c+1).trim(),d=ie(l),f=n;for(let e=0;e<d.length-1;e++)(!(d[e]in f)||typeof f[d[e]]!=`object`||Array.isArray(f[d[e]]))&&(f[d[e]]={}),f=f[d[e]];let p=d[d.length-1];if(u.startsWith(`[`)&&E(u,`]`)<0){let t=[];w(u.slice(1),t);for(let n=e+1;n<r.length;n++){let i=ae(r[n]).trim();if(!i)continue;let a=E(i,`]`);if(a>=0){w(i.slice(0,a),t),e=n;break}w(i,t)}f[p]=t}else f[p]=T(u)}return t}function w(e,t){let n=e.trim();if(n)for(let e of re(n)){let n=e.trim();n&&t.push(T(n))}}function T(e){if(e.startsWith(`[`)){let t=[],n=oe(e,`]`);return w(e.slice(1,n<0?e.length:n),t),t}return e.startsWith(`{`)?ne(e):e.startsWith(`"""`)?ce(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?ce(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):te(e)}function te(e){return e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function ne(e){let t={},n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of re(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 re(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 ie(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 ae(e){let t=E(e,`#`);return t<0?e:e.slice(0,t)}function E(e,t){let n=null;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(i===`\\`&&n===`"`){r++;continue}i===n&&(n=null)}else if(i===`"`||i===`'`)n=i;else if(i===t)return r}return-1}function oe(e,t){let n=-1,r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`){i++;continue}a===r&&(r=null)}else a===`"`||a===`'`?r=a:a===t&&(n=i)}return n}function se(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 ce(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`
2
- `;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}const le=/^v?(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*))?(?:\+[a-zA-Z0-9._-]+)?$/,ue=new Map;function D(e){if(typeof e!=`string`)return null;let t=ue.get(e);if(t!==void 0)return t;let n=le.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 O(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)}function k(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function A(e,t){let n=k(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=O(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function j(e){return D(e)?.version??null}function M(e){return D(e)}const N=new Map,P=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function F(e){if(typeof e!=`string`)return null;let t=N.get(e);if(t!==void 0)return t;let n=P.exec(e);if(!n)return N.set(e,null),null;let r={version:`${n[1]||`0`}.${n[2]||`0`}.${n[3]||`0`}`};return N.set(e,r),r}function I(e,t){let n=D(e),r=D(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(k(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 L(e,t){let n=D(e),r=D(t);return n&&r?A(n,r):null}function de(e,t){return(L(e,t)??-1)>0}function R(e,t){return(L(e,t)??-1)>=0}function fe(e,t){return(L(e,t)??1)<0}function z(e,t){return(L(e,t)??1)!==0}function pe(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=D(`${n}.${t[3]??`0`}.${t[4]??`0`}${t[5]||``}`);return r?{op:t[1]||`=`,semver:r}:null}function me(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 B(e,t,n){return`${e}.${t}.${n}-0`}function he(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 <${B(a+1,0,0)}`;let o=Number(n);return`>=${a}.${o}.${r===void 0?0:Number(r)}${i||``} <${B(a,o+1,0)}`})}function ge(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 <${B(a+1,0,0)}`;let s=Number(n);if(r===void 0)return a===0?`>=${a}.${s}.0 <${B(a,s+1,0)}`:`>=${a}.${s}.0 <${B(a+1,0,0)}`;let c=Number(r);return a===0?s===0?`>=${a}.${s}.${c}${o} <${B(a,s,c+1)}`:`>=${a}.${s}.${c}${o} <${B(a,s+1,0)}`:`>=${a}.${s}.${c}${o} <${B(a+1,0,0)}`})}function _e(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?`<${B(p+1,0,0)}`:`<${B(p,Number(o)+1,0)}`:`<=${p}.${Number(o)}.${Number(s)}${c||``}`,`>=${l}.${u}.${d}${f} ${m}`})}function V(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 <${B(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 <${B(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 <${B(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 <${B(o+1,0,0)}`}),e)}const H=new Map;function ve(e){let t=H.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=_e(t),t=ge(t),t=he(t),t=V(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=pe(t);if(!n)return H.set(e,null),null;i.push(n)}if(i.length===0)return H.set(e,null),null;r.push(i)}let i=r.length?r:null;return H.set(e,i),i}function ye(e,t){for(let n of t)if(!me(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 U(e,t){let n=D(e);if(!n)return!1;let r=ve(t);if(!r)return!1;for(let e of r)if(e.length===0||ye(n,e))return!0;return!1}function be(e){return typeof e==`string`&&ve(e)?e:null}const xe=[[1e3,6e4,`sec`],[6e4,36e5,`min`],[36e5,864e5,`hour`],[864e5,6048e5,`day`],[6048e5,2628e6,`week`],[2628e6,31536e6,`month`],[31536e6,1/0,`year`]],Se={"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`},Ce={sec:`second`,min:`minute`};function we(e){return e instanceof Date?e.getTime():typeof e==`string`?Date.parse(e):e}function Te(e,{now:t,noAffix:n=!1,times:r=xe,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=Se,longUnits:l=!1}={}){let u=we(e),d=t===void 0?Date.now():we(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&&Ce[t[2]]||t[2])+(m>1?`s`:``);break}}let g=`${m} ${h}`,_;return _=n?g:p?`in ${g}`:`${g} ago`,s?c[_]??_:_}function Ee(e){let t=[];for(let n of e){let[e,r]=n.replaceAll(/\s+/g,``).split(/[<>=~]+/),i=e?.replace(/\[.*?\]$/,``);i&&/^[0-9.a-z]+$/.test(r)&&t.push({name:i,version:r})}return t}const De=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`packageManager`],Oe=[`node`,`deno`,`bun`],ke=[`project.dependencies`,`project.optional-dependencies`,`dependency-groups.dev`,`dependency-groups.lint`,`dependency-groups.test`],Ae=[`deps`,`indirect`,`replace`,`tool`],je=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`];function W(e,t){for(let n of t instanceof Set?t:[])if(n.test(e))return!0;return!1}function Me(e,t){return t.split(`.`).reduce((e,t)=>e?.[t]??null,e)}function Ne(){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`),`.`,String(e.getMilliseconds()).padStart(3,`0`)].join(``)}const Pe={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Fe(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Pe[n.toLowerCase()];if(r)return Number(e)*r}let n=Number(e);if(!Number.isFinite(n))throw Error(`Invalid cooldown value: ${e}`);return n}async function G(e,t,{concurrency:n=1/0}={}){let r=Array.from(e);if(!Number.isFinite(n))return Promise.all(r.map(t));let i=Array(r.length),a=0;return await Promise.all(Array.from({length:Math.min(n,r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}const K=e=>e.replace(/[|\\{}()[\]^$+*?.-]/g,`\\$&`),Ie=u(g===`win32`?h.LOCALAPPDATA||u(p(),`AppData`,`Local`):h.XDG_CACHE_HOME||u(p(),`.cache`),`updates`);let Le=null;function Re(e){return S(`sha256`).update(e).digest(`hex`).substring(0,16)}async function ze(e){try{let t=await b(u(Ie,`${Re(e)}.cache`),`utf8`),n=t.indexOf(`
3
- `);if(n===-1)return null;let r=t.substring(0,n),i=t.substring(n+1);return r&&i?{etag:r,body:i}:null}catch{return null}}async function Be(e,t,n){try{await(Le??=y(Ie,{recursive:!0})),await ee(u(Ie,`${Re(e)}.cache`),`${t}\n${n}`)}catch{}}var Ve=`17.16.6`;function He(e,t,n){if(!t||!n||!e)return!0;let r=Date.parse(e);return Number.isNaN(r)?!0:(n-r)/(24*3600*1e3)>=t}const Ue=Ve,q=e=>e.replace(/^v/,``),We=e=>e.endsWith(`/`)?e.slice(0,-1):e;function Ge(e,t){return{headers:{"user-agent":`updates/${Ue}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}async function Ke(e,t){try{return await fetch(e,t)}catch(t){throw Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`)}}async function qe(e){return typeof e.text==`function`?e.text():JSON.stringify(await e.json())}async function Je(e,t,n={}){let r=t.noCache?null:await ze(e),i=n.headers,a=r?{...i,"if-none-match":r.etag}:i,o=await t.doFetch(e,{...n,headers:a,signal:AbortSignal.timeout(t.fetchTimeout)});if(!o)return{res:void 0};if(o.status===304&&r)return{body:r.body,res:o};if(!o.ok)return{res:o};let s=await qe(o),c=o.headers?.get?.(`etag`);return c&&!t.noCache&&await Be(e,c,s),{body:s,res:o}}async function Ye(e,t,n={}){if(!t.noCache){let t=await ze(e);if(t)return{body:t.body}}let r=await t.doFetch(e,{...n,signal:AbortSignal.timeout(t.fetchTimeout)});if(!r)return{res:void 0};if(!r.ok)return{res:r};let i=await qe(r);return t.noCache||await Be(e,`immutable`,i),{body:i,res:r}}function Xe(e){return(M(e)?.prerelease.length??0)>0}function Ze(e){return/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e)}function Qe(e,t,{useRel:n,allowDowngrade:r,name:i,matchesAny:a}){let o=J(e),s=J(t);if(!o||!s)return!0;let c=Ze(e)||Xe(e),l=Xe(t);return c&&!l?de(s,o)||n:!l&&fe(s,o)?r===!0||a(i,r):!0}function J(e){return F(e)?.version??``}function $e(e,t,{range:n,semvers:r,usePre:i,useRel:a,useGreatest:o,pinnedRange:s,cooldownDays:c,now:l,getVersionDate:u}){let d=J(n);if(!d)return d;i=Ze(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 f=u??(t=>e?.time?.[t]),p=0,m=d;for(let n of t){let t=M(n);if(!t?.version||t.prerelease.length&&(!i||a))continue;let u=t.version;if(s&&!U(u,s)||!He(f(n),c,l))continue;let d=I(m,u);if(!(!d||!r.has(d)))if(o||!(`time`in e))(R(J(u),m)||s&&!U(m,s))&&(m=u);else{let t=Date.parse(e.time[n]);t>=0&&t>p&&(m=u,p=t)}}return m||null}function et(e,{mode:t,range:n,useGreatest:r,useRel:i,usePre:a,semvers:o,pinnedRange:s,cooldownDays:c,now:l},{allowDowngrade:u,matchesAny:d,isGoPseudoVersion:f}){if(n===`*`||n.includes(`||`))return null;let p=[],m;if(t===`pypi`)p=Object.keys(e.releases).filter(e=>j(e)),m=t=>e.releases?.[t]?.[0]?.upload_time_iso_8601;else if(t===`npm`||t===`cargo`)p=Object.keys(e.versions).filter(e=>j(e)),m=t=>e.time?.[t];else if(t===`go`){let t=J(n);if(!t)return null;let r=a||Ze(n),p=e=>Xe(e)&&(!r||i),m={useRel:i,allowDowngrade:u,name:e.name,matchesAny:d},h=e.old||n,g=J(e.new);if(g&&!f(e.new)&&!p(e.new)){let n=I(t,g);if(n&&o.has(n)&&Qe(h,e.new,m)&&He(e.Time,c,l)&&(!s||U(g,s)))return e.new}let _=J(e.sameMajorNew);if(_&&!f(e.sameMajorNew)&&!p(e.sameMajorNew)){let n=I(t,_);if(n&&o.has(n)&&Qe(h,e.sameMajorNew,m)&&He(e.sameMajorTime,c,l)&&(!s||U(_,s)))return e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew}if(c&&l&&e.olderEligible&&!p(e.olderEligible.version)){let n=J(e.olderEligible.version);if(n){let r=I(t,n);if(r&&o.has(r)&&Qe(h,e.olderEligible.version,m)&&(!s||U(n,s)))return e.Time=e.olderEligible.time,delete e.newPath,e.olderEligible.version}}return null}let h=$e(e,p,{range:n,semvers:o,usePre:a,useRel:i,useGreatest:r,pinnedRange:s,cooldownDays:c,now:l,getVersionDate:m});if(!h)return null;if(r)return h;{let r=``,f=``;t===`pypi`?(f=e.info.version,r=J(e.info.version)):r=e[`dist-tags`].latest;let p=J(n),m=Ze(n),g=Xe(h),_=Xe(r),v={useRel:i,allowDowngrade:u,name:e.name,matchesAny:d};if(!i&&a||m&&g)return h;if(m&&!g)return Qe(n,h,v)?h:null;let y=I(p,r);return y&&y!==`prerelease`&&!o.has(y.replace(/^pre/,``))||i&&Xe(r)?h:fe(r,p)&&!_?Qe(n,r,v)?r:null:!m&&_&&!a||s&&!U(r,s)||c&&l&&!He(t===`pypi`?e.releases?.[f||r]?.[0]?.upload_time_iso_8601:e.time?.[f||r]??e.time?.[r],c,l)?h:f||r}}const tt=new Map;if(h.UPDATES_FORGE_TOKENS)for(let e of h.UPDATES_FORGE_TOKENS.split(`,`)){let t=e.indexOf(`:`);t>0&&tt.set(e.substring(0,t),e.substring(t+1))}const nt=Array.from(new Set([`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`].map(e=>h[e]).filter(Boolean)));let rt;function it(){return nt.length?Promise.resolve(nt):rt??=(async()=>{try{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]),{stdout:n}=await t(e)(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),r=n.trim();return r?[r]:nt}catch{return nt}})()}const at=new Map;async function ot(e){try{let t=tt.get(new URL(e).hostname);if(t)return[t]}catch{}return it()}async function st(e,t,n){let r;try{r=new URL(e).hostname}catch{r=``}let i=await(r?ot(e):it()),a=AbortSignal.timeout(t.fetchTimeout),o=e=>{let t=Ge(`Bearer`,e);return n&&(t.headers={...t.headers,...n}),t.signal=a,t};if(!i.length)return t.doFetch(e,o());let s=r?at.get(r):void 0;if(s)return t.doFetch(e,o(s));for(let n of i){let i=await t.doFetch(e,o(n));if(i.status!==401&&i.status!==403)return r&&at.set(r,n),i}return t.doFetch(e,o())}function ct(e,t,n){let r=q(t);if(!j(r))return null;if(n){let n=t,i=q(t);for(let t of e){let e=q(t);j(e)&&(!n||de(e,i))&&(n=t,i=e)}if(z(r,i))return n}else{let t=e.at(-1);if(!t)return null;let n=q(t);if(!j(n))return null;if(z(r,n))return t}return null}function lt(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 ut=/^[0-9a-f]{7,}$/i;function dt(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function ft(e,t){let n=t.noCache?null:await ze(e),r=await st(e,t,n?{"if-none-match":n.etag}:void 0);if(r?.status===304&&n)try{let e=JSON.parse(n.body);return{tags:e.tags||[],link:e.link||``}}catch{return null}if(!r?.ok)return null;let i=dt(await r.json()),a=r.headers.get(`link`)||``,o=r.headers.get(`etag`);return o&&!t.noCache&&await Be(e,o,JSON.stringify({link:a,tags:i})),{tags:i,link:a}}async function pt(e,t,n,r){let i=r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`;try{let e=await ft(i(1),r);if(!e)return[];let t=Array.from(e.tags),n=/<([^>]+)>;\s*rel="last"/.exec(e.link);if(!n)return t;let a=Number(new URL(n[1]).searchParams.get(`page`));if(a<2)return t;let o=await Promise.all(Array.from({length:a-1},(e,t)=>ft(i(t+2),r)));for(let e of o)e&&t.push(...e.tags);return t}catch{return[]}}function mt(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 ht(e,t,n=``){let r=t.startsWith(`v`),i=q(e),a=q(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 gt(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}function _t({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`])if(t[n]){e=t[n];break}e??=`https://pypi.org/project/${i}/`}let a=``;return r===`https://npm.pkg.github.com`?`https://github.com/${i.replace(/^@/,``)}`:(e&&(a=lt(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a=`${a}/${gt(a)}/${e.directory}`)),a||t||``)}function vt(e,t){return RegExp(`^${K(e).replaceAll(`\\*`,`.*`)}$`,t?`i`:``)}function yt(e,t,n){return t&&typeof e==`string`?/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):vt(e,n):e instanceof RegExp?e:vt(e,n)}function bt(e){return new Set(e.map(e=>yt(e,!1,!0)))}function xt(e){if(typeof e==`boolean`)return e;if(!Array.isArray(e)||!e.length)return!1;let t=new Set;for(let n of e)t.add(yt(n,!1,!1));return t}async function St(t){let n=[];for(let e of[`js`,`ts`,`mjs`,`mts`])n.push(`updates.config.${e}`);let r={};try{({default:r}=await Promise.any(n.map(async n=>{let r=u(t,...n.split(`/`)),i=x(r);try{e(r)}catch{throw Error(`File not found: ${n}`)}try{return await import(i.href)}catch(e){throw Error(`Unable to parse config file ${n}: ${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]}}let{loadRenovateConfig:i}=await import(`./renovate-DecR7mby.js`);return{...await i(t,r.inherit?.renovate),...r}}function Ct(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 wt(e){try{return Ct(r(e,`utf-8`))}catch{return}}function Tt(e){let t=m();for(;;){let n=u(t,e);try{return a(n),n}catch{}let r=l(t);if(r===t)break;t=r}}function Et(e){let t={},n=e.toLowerCase();for(let[r,i]of Object.entries(h))if(r.toLowerCase().startsWith(n)){let n=r.substring(e.length).split(`__`).filter(Boolean);if(n.length===0)continue;let a=t;for(let e=0;e<n.length;e++){let t=n[e];if(e===n.length-1)a[t]=i;else if(a[t]===void 0&&(a[t]={}),typeof a[t]==`object`)a=a[t];else break}}return t}function Dt(e,t={}){let n=g===`win32`,r=n?h.USERPROFILE:h.HOME,i=[{...t}],a=[];function o(e){if(!e||a.includes(e))return;let t=wt(e);t&&(i.push(t),a.push(e))}n||(o(u(`/etc`,e,`config`)),o(u(`/etc`,`${e}rc`))),r&&(o(u(r,`.config`,e,`config`)),o(u(r,`.config`,e)),o(u(r,`.${e}`,`config`)),o(u(r,`.${e}rc`))),o(Tt(`.${e}rc`));let s=Et(`${e}_`);return s.config&&o(s.config),Object.assign({},...i,s,a.length?{configs:a,config:a[a.length-1]}:void 0)}const Ot=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,kt=/^([^/]+)\/([^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,At=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,jt=/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g,Mt=`https://registry.npmjs.org`;let Y=null;const Nt=new Map;function Pt(){return Y??=Dt(`npm`,{registry:Mt})}function Ft(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,t)=>h[t]||``)}function It(e,t){let n=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],r=n(`_authToken`);if(r)return{token:Ft(r),type:`Bearer`};let i=n(`username`),a=n(`_password`);if(i&&a){let e=Buffer.from(Ft(a),`base64`).toString(`utf8`);return{token:Buffer.from(`${i}:${e}`).toString(`base64`),type:`Basic`,username:i,password:e}}let o=n(`_auth`);if(o)return{token:Ft(o),type:`Basic`}}function Lt(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=It(`//${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:Ft(i),type:`Basic`}}function Rt(e,t){let n=t[`${e}:registry`]||t.registry;return n.endsWith(`/`)?n:`${n}/`}function zt(e,t){Y||=Pt();let n=e.startsWith(`@`)?(/@[a-z0-9][\w.-]+/.exec(e)||[``])[0]:``,r=`${n}:${t}`,i=Nt.get(r);if(i)return i;let a=()=>({auth:Lt(t,Y),registry:t}),o;if(!e.startsWith(`@`))o=a();else{let e=We(Rt(n,Y));if(e!==t)try{let t=Lt(e,Y);o=t?.token?{auth:t,registry:e}:a()}catch{o=a()}else o=a()}return Nt.set(r,o),o}function Bt(e,t,n){Y||=Pt();let r=We((typeof n.registry==`string`?n.registry:!1)||t.registry||Y.registry||Mt);return{...zt(e,r),originalRegistry:r}}function Vt(e,t,n){let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r}const Ht=new Map,Ut=new Map,Wt=new Map;async function Gt(e,t,n,r,i){let{auth:a,registry:o}=Bt(e,n,r),s=Vt(o,t===`resolutions`?c(e):e),l=Ht.get(s);if(!l){let t=Ge(a?.type,a?.token),n={...t.headers,accept:`application/vnd.npm.install-v1+json`};t.headers=n,l=(async()=>{let r=i.noCache?null:await ze(s);r&&(n[`if-none-match`]=r.etag);let a=await i.doFetch(s,{signal:AbortSignal.timeout(i.fetchTimeout),...t});if(a?.status===304&&r)return JSON.parse(r.body);if(a?.ok){let e=await a.text(),t=a.headers.get(`etag`);return t&&!i.noCache&&await Be(s,t,e),JSON.parse(e)}mt(a,s,e,o)})().catch(e=>{throw Ht.delete(s),e}),Ht.set(s,l)}return[await l,t,o,e]}async function Kt(e,t,n,r,i){let{auth:a,registry:o}=Bt(e,n,r),s=Vt(o,e,t),c=Ut.get(s);if(c)return c;let l=(async()=>{try{let n=Ge(a?.type,a?.token),r=await Ye(s,i,n);if(!(`body`in r))return{};let c=JSON.parse(r.body),l=``,u=c?._npmOperationalInternal?.tmp;if(u){let e=/(\d{13})/.exec(u);e&&(l=new Date(Number(e[1])).toISOString())}if(!l){let r=Vt(o,e),a=Wt.get(r);a||(a=i.doFetch(r,{...n,signal:AbortSignal.timeout(i.fetchTimeout)}).then(e=>e?.ok?e.json():null).catch(()=>(Wt.delete(r),null)),Wt.set(r,a)),l=(await a)?.time?.[t]||``}return{repository:c.repository,homepage:c.homepage,date:l}}catch{return{}}})();return Ut.set(s,l),l}function qt(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Jt(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Yt(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 Xt(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 Je(o,n,{headers:{"accept-encoding":`gzip, deflate, br`}});if(`body`in s){let r=JSON.parse(s.body),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]}mt(s.res,o,e,`JSR`)}function Zt(e,t){let n=new Map;for(let[e,{old:r,oldOrig:i,new:a}]of Object.entries(t)){let[t,o]=e.split(`\0`),s=i||r;t===`packageManager`?n.set(`${t}\0${o}@${s}`,`"${t}": "${o}@${a}"`):n.set(`${o}\0${s}`,`"${o}": "${a}"`)}return n.size?e.replace(/"((?:[^"\\]|\\.)*)": *"((?:[^"\\]|\\.)*)"/g,(e,t,r)=>n.get(`${t}\0${r}`)??e):e}function Qt(e,t,n){let r=e.replace(jt,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 X(e){let t=e.match(At);return t?.length===1?e.replace(At,J(t[0])):e}async function $t(e,t,n){let r=`${n.forgeApiUrl}/repos/${e}/${t}/commits`;try{let e=n.noCache?null:await ze(r),t=await st(r,n,e?{"if-none-match":e.etag}:void 0);if(t?.status===304&&e){let{sha:t,commit:n}=JSON.parse(e.body)[0];return{hash:t,commit:n}}if(!t?.ok)return{hash:``,commit:{}};let i=await t.text(),a=t.headers.get(`etag`);a&&!n.noCache&&await Be(r,a,i);let{sha:o,commit:s}=JSON.parse(i)[0];return{hash:o,commit:s}}catch{return{hash:``,commit:{}}}}async function en(e,t,n){return(await pt(n.forgeApiUrl,e,t,n)).map(e=>e.name)}async function tn(e,t,n,r){let i=t.old.replace(Ot,``),[a,o,s,c]=kt.exec(i)||[];if(!o||!s||!c)return null;if(ut.test(c)){let{hash:n,commit:i}=await $t(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=ct(await en(o,s,r),c,n);if(t)return{key:e,newRange:t,user:o,repo:s,oldRef:c,newRef:t}}return null}async function nn(e,t,n){let r=`${n.pypiApiUrl}/pypi/${e}/json`,i=await Je(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}});if(`body`in i)return[JSON.parse(i.body),t,null,e];mt(i.res,r,e,n.pypiApiUrl)}function rn(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(`("${K(o)} *[<>=~]+ *)${K(s)}(")`,`g`),(n,r,i)=>`${r}${t[e].new}${i}`)}return n}let an;async function on(){let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)}function sn(){return an??=on()}function cn(){let e=h.GOPROXY||`https://proxy.golang.org,direct`;for(let t of e.split(/[,|]/)){let e=t.trim();if(e&&e!==`direct`&&e!==`off`)return We(e)}return`https://proxy.golang.org`}function ln(){return(h.GONOPROXY||h.GOPRIVATE||``).split(`,`).map(e=>e.trim()).filter(Boolean)}function un(e,t){return t.some(t=>e===t||e.startsWith(`${t}/`))}function dn(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}function fn(e){let t=/\/v(\d+)$/.exec(e);return t?Number.parseInt(t[1]):1}function pn(e,t){return t<=1?e.replace(/\/v\d+$/,``):`${e.replace(/\/v\d+$/,``)}/v${t}`}function mn(e,t){let n=t?/^(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(e):/^replace\s+(\S+)(?:\s+v\S+)?\s+=>\s+(\S+)\s+(v\S+)/.exec(e);if(!n)return null;let[,r,i,a]=n;return i.startsWith(`./`)||i.startsWith(`/`)||i.startsWith(`../`)?null:{origModule:r,targetModule:i,targetVersion:a}}function hn(e,t,n){return t===`indirect`||e.startsWith(`golang.org/x/`)||gn(n)}function gn(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function _n(e,t,n){return[{name:e,old:t,new:t},n,null,e]}async function vn(e,t,n){if(!t)return null;let r=t,i=e+101,a=e+2,o=7;for(;a<=i;){let e=Math.min(a+o-1,i),t=await Promise.all(Array.from({length:e-a+1},(e,t)=>n(a+t))),s=t.indexOf(null),c=s===-1?t:t.slice(0,s);if(c.length&&(r=c.at(-1)),s!==-1)break;a=e+1,o*=2}return r}function yn(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:q(o),Time:s,...c===e?{}:{newPath:c},sameMajorNew:q(i),sameMajorTime:a},t,null,e]}function bn(e){let t={},n={},r={},i={},a=new Set,o=[],s=e.split(/\r?\n/),c=!1,l=!1,u=!1;for(let e of s){let i=e.trim();if(/^require\s*\(/.test(i)){c=!0;continue}if(/^replace\s*\(/.test(i)){l=!0;continue}if(/^tool\s*\(/.test(i)){u=!0;continue}if(i===`)`){c=!1,l=!1,u=!1;continue}if(u){i&&!i.startsWith(`//`)&&o.push(i);continue}let s=/^tool\s+(\S+)/.exec(i);if(s){o.push(s[1]);continue}let d=i.includes(`// indirect`);if(l||/^replace\s+/.test(i)){let e=mn(i,l);e&&(r[e.targetModule]=e.targetVersion,a.add(e.origModule));continue}let f=c?/^(\S+)\s+(v\S+)/.exec(i):/^require\s+(\S+)\s+(v\S+)/.exec(i);f&&((d?n:t)[f[1]]=f[2])}for(let e of a)delete t[e],delete n[e];if(o.length){let e=[...Object.keys(n),...Object.keys(t)];for(let r of o){let a=``;for(let t of e)(r===t||r.startsWith(`${t}/`))&&t.length>a.length&&(a=t);let o=a?n[a]?n:t[a]?t:null:null;o&&(i[a]=o[a],delete o[a])}}return{deps:t,indirect:n,replace:r,tool:i}}async function xn(e,t,n,r,i){let a=fn(e),o=async(e,t)=>{try{let{stdout:n}=await(await sn())(`go`,[`list`,`-m`,`-json`,`${e}@latest`],{timeout:t,cwd:r,env:h}),i=JSON.parse(n);return{Version:i.Version,Time:i.Time||``,path:e}}catch{return null}},s=hn(e,t,n),[c,l]=await Promise.all([o(e,i.fetchTimeout),s?null:o(pn(e,a+1),i.goProbeTimeout)]);return c?yn(e,t,n,await vn(a,l,t=>o(pn(e,t),i.goProbeTimeout)),c.Version,c.Time):_n(e,n,t)}async function Sn(e,t,n,r,i,a){if(un(e,a))return xn(e,t,n,r,i);let o=dn(e),s=fn(e),c=async t=>{let n=pn(e,t);return i.doFetch(`${i.goProxyUrl}/${dn(n)}/@latest`,{signal:AbortSignal.timeout(i.goProbeTimeout),headers:{"accept-encoding":`gzip, deflate, br`}}).then(async e=>e.ok?{...await e.json(),path:n}:null).catch(()=>null)},l=hn(e,t,n),[u,d]=await Promise.all([i.doFetch(`${i.goProxyUrl}/${o}/@latest`,{signal:AbortSignal.timeout(i.fetchTimeout),headers:{"accept-encoding":`gzip, deflate, br`}}),l?null:c(s+1)]);if(!u.ok)return _n(e,n,t);let f,p;try{let e=await u.json();f=e.Version,p=e.Time}catch{return _n(e,n,t)}return yn(e,t,n,await vn(s,d,c),f,p)}function Cn(e,t){let n=K(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 wn(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+${K(s)}\\s+)v${K(c)}`,`g`),`$1v${l}`);continue}if(o===`indirect`){n=n.replace(RegExp(`(${K(s)}) +v${K(c)}`,`g`),`$1 v${l}`);continue}let u=fn(s),d=Number.parseInt(l.split(`.`)[0]);if(u!==d&&d>1){let e=pn(s,d);n=n.replace(RegExp(`${K(s)} +v${K(c)}`,`g`),`${e} v${l}`),o===`tool`&&(n=n.replace(RegExp(`(^\\s+|^tool\\s+)${K(s)}(/\\S+)?\\s*$`,`gm`),`$1${e}$2`)),r[s]=e}else n=n.replace(RegExp(`(${K(s)}) +v${K(c)}`,`g`),`$1 v${l}`);o!==`tool`&&(n=Cn(n,s))}return[n,r]}function Tn(e,n,i){if(!Object.keys(n).length)return;let a=t(`**/*.go`,{cwd:e});for(let t of a){let a=u(e,t),o=r(a,`utf8`),s=!1;for(let[e,t]of Object.entries(n)){let n=RegExp(`"${K(e)}(/|")`,`g`),r=o.replace(n,`"${t}$1`);r!==o&&(o=r,s=!0)}s&&i(a,o)}}function En(e){let t=[],n={},r=e.split(/\r?\n/),i=!1,a=!1;for(let e of r){let r=e.trim();if(/^use\s*\(/.test(r)){i=!0;continue}if(/^replace\s*\(/.test(r)){a=!0;continue}if(r===`)`){i=!1,a=!1;continue}if(i){let e=/^(\S+)/.exec(r);e&&!r.startsWith(`//`)&&t.push(e[1]);continue}let o=/^use\s+(\S+)/.exec(r);if(o){t.push(o[1]);continue}if(a||/^replace\s+/.test(r)){let e=mn(r,a);e&&(n[e.targetModule]=e.targetVersion);continue}}return{use:t,replace:n}}function Dn(e){let t=`https://${On(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[e,i,a,...o]=r;return n.pathname=`/${i}/${a}/${gt(t)}/${o.join(`/`)}`,n.toString()}else return t}function On(e){return/\/v[0-9]$/.test(e)?l(e):e}function kn(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}const An=/^\s*(?:-\s*)?uses:\s*['"]?([^'"#\s]+)['"]?/gm;function jn(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:ut.test(o)}}function Mn(e,t){return e?e===`github.com`?`https://api.github.com`:`https://${e}/api/v1`:t}async function Nn(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await ze(a);if(e)return e.body}try{let e=await st(a,i);if(!e?.ok)return``;let t=await e.json(),n=t?.committer?.date||t?.author?.date||``;return n&&!i.noCache&&await Be(a,`immutable`,n),n}catch{return``}}function Pn(e,t){return ht(M(q(e))?.version??q(e),t)}function Fn(e,t){let n=e;for(let{name:e,oldRef:r,newRef:i}of t){let t=RegExp(`(uses:\\s*['"]?)${K(e)}@${K(r)}`,`g`);n=n.replace(t,`$1${e}@${i}`)}return n}function In(e){let t=e.replace(/\\/g,`/`);return/\.github\/workflows\/[^/]+\.(ya?ml)$/.test(t)}function Ln(e){try{return i(e).filter(e=>/\.(ya?ml)$/.test(e)).map(t=>f(u(e,t)))}catch{return[]}}const Rn=/^(v?\d+(?:\.\d+){0,2})(-.+)?$/,zn=/^\s*FROM\s+(?:--platform=\S+\s+)?(\S+)/gm,Bn=/^\s*image:\s*['"]?([^\s'"#]+)['"]?/gm,Vn=/^\s*container:\s*['"]?([^\s'"#{}]+:[^\s'"#{}:]+)['"]?\s*$/gm,Hn=/^\s*(?:-\s*)?uses:\s*['"]?docker:\/\/([^'"#\s]+)['"]?/gm;function Un(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 Wn(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||!Rn.test(r)))return null;let{registry:i,namespace:a,repo:o}=Un(n);return{registry:i,namespace:a,repo:o,tag:r,fullImage:n}}function Gn(e){let t=Rn.exec(e);return t?{version:t[1],suffix:t[2]||``}:null}function Kn(e,t){let n=Gn(t);return n?ht(e,n.version,n.suffix):t}function qn(e,t){let n=[];for(let r of e.matchAll(t)){let e=Wn(r[1]);e&&n.push({ref:e,match:r[1]})}return n}async function Jn(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={headers:{"accept-encoding":`gzip, deflate, br`}},s=async e=>{try{let t=await Je(a(e),n,o);return`body`in t?JSON.parse(t.body):null}catch{return null}},c=await s(1);if(!c)return r;for(let e of c.results||[])r[e.name]=e.tag_last_pushed||e.last_updated||``;let l=Math.min(Math.ceil((c.count||0)/100),10);if(l<2)return r;let u=await Promise.all(Array.from({length:l-1},(e,t)=>s(t+2)));for(let e of u)if(e)for(let t of e.results||[])r[t.name]=t.tag_last_pushed||t.last_updated||``;return r}async function Yn(e,t,n){let{registry:r,namespace:i,repo:a}=Un(e);if(r)throw Error(`Non-Docker-Hub registries are not yet supported: ${r}`);return[{tags:await Jn(i,a,n),name:e},t,null,e]}function Xn(e,t,n,r,i){let a=Gn(t);if(!a)return null;let o=F(q(a.version))?.version;if(!o)return null;let s=o,c=``,l=``;for(let[t,o]of Object.entries(e)){let e=Gn(t);if(!e||e.suffix!==a.suffix)continue;let u=F(q(e.version))?.version;if(!u||!He(o,r,i))continue;let d=I(s,u);!d||!n.has(d)||R(u,s)&&(s=u,c=t,l=o)}if(!c||s===o)return null;let u=Kn(s,t);return u===t?null:{newTag:u,date:l}}function Zn(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(K(a),K(o)),`$1${a}:${i.new}`)}return r}function Qn(e,t){return Zn(e,t,[(e,t)=>RegExp(`(FROM\\s+(?:--platform=\\S+\\s+)?)${e}:${t}`,`g`)])}function $n(e,t){return Zn(e,t,[(e,t)=>RegExp(`(image:\\s*['"]?)${e}:${t}`,`g`)])}function er(e,t){return Zn(e,t,[(e,t)=>RegExp(`((?:container|image):\\s*['"]?)${e}:${t}`,`g`),(e,t)=>RegExp(`(uses:\\s*['"]?docker://)${e}:${t}`,`g`)])}const tr=[`Dockerfile`,`docker-compose.yml`,`docker-compose.yaml`];function nr(e){return/^docker-.+\.ya?ml$/.test(e)}function rr(e){return/^Dockerfile(\..+)?$/.test(e)}function ir(e){return rr(e)||nr(e)}function ar(e){return rr(e)?zn:Bn}function or(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const sr=new Map;async function cr(e,t,n){let r=`${We(n.cratesIoUrl)}/api/v1/crates/${encodeURIComponent(e)}/versions?per_page=100`,i=n.noCache?void 0:sr.get(r);return i||(i=Je(r,n,Ge()).then(t=>{`body`in t||mt(t.res,r,e,n.cratesIoUrl);let i;try{i=JSON.parse(t.body)}catch{throw Error(`Invalid JSON from ${r}`)}let a=(i.versions||[]).filter(e=>!e.yanked),o={},s={};for(let e of a)e.num&&(o[e.num]={},s[e.num]=e.created_at||``);return{name:e,versions:o,time:s,"dist-tags":{latest:a[0]?.num??``}}}).catch(e=>{throw sr.delete(r),e}),sr.set(r,i)),[await i,t,null,e]}function lr(e){let t=new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);if(!e||!r)continue;let i=e[1],a=r[1];if(!j(a))continue;let o=t.get(i)||[];o.push(a),t.set(i,o)}return t}const ur=/^\d/;function dr(e,t){return ur.test(e)?Qt(X(`^${e}`),t,`^${e}`).replace(/^\^/,``):Qt(X(e),t,e)}function fr(e,t,n){let r=e.get(t);if(!r)return;let i=ur.test(n)?`^${n}`:n,a;for(let e of r)U(e,i)&&(!a||de(e,a))&&(a=e);return a}const pr=je.map(K).join(`|`);function mr(e,t){let n=e;for(let[e,r]of Object.entries(t)){let[,t]=e.split(`\0`),i=r.oldOrig||r.old,a=r.new,o=K(t),s=K(i);n=n.replace(RegExp(`^(\\s*${o}\\s*=\\s*["'])${s}(["'].*)$`,`gm`),`$1${a}$2`),n=n.replace(RegExp(`(\\s*${o}\\s*=\\s*\\{\\s*version\\s*=\\s*["'])${s}(["'])`,`g`),`$1${a}$2`),n=n.replace(RegExp(`(\\[(?:${pr})\\.${o}\\][^\\[]*?version\\s*=\\s*["'])${s}(["'])`,`g`),`$1${a}$2`)}return n}function hr(e){return e.split(`|`)[0]}function gr(e,t){let n=t===`.`?``:`|${t}`,r={};for(let[t,i]of Object.entries(e)){let[e,a]=t.split(`\0`),o=hr(e);e===`${o}${n}`&&(r[`${o}${a}`]=i)}return r}const _r=/[*?{[]/;async function vr(e,n,r,i=32){let a=new Set,o=[];for(let i of e){let e=_r.test(i)?t(i,{cwd:n}).map(e=>f(u(n,e))):[f(u(n,i))];for(let t of e){let e=u(t,r);if(a.has(e))continue;a.add(e);let i=d(n,t);o.push({absPath:e,memberPath:`./${i.replace(/\\/g,`/`)}`})}}return(await G(o,async({absPath:e,memberPath:t})=>{try{return{absPath:e,content:await b(e,`utf8`),memberPath:t}}catch{return null}},{concurrency:i})).filter(e=>e!==null)}function yr(e){let t=[],n=e.split(`
4
- `),r=!1;for(let e of n){if(/^packages\s*:/.test(e)){r=!0;continue}if(r){if(/^\S/.test(e))break;let n=/^\s+-\s+['"]?([^'"#\s]+)['"]?/.exec(e);n&&t.push(n[1])}}return t}const br={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},xr=new Set([`npm`,`pypi`,`go`,`cargo`,`actions`,`docker`]),Sr=(e,t)=>typeof e==`string`?We(e):typeof t==`function`?t():t;function Cr(t,n){let r=new Map,i=new Set(t),a=n;for(;i.size;){for(let t of i){let n=u(a,t);try{e(n),r.set(t,n),i.delete(t)}catch{}}let t=l(a);if(t===a)break;a=t}return r}async function wr(e,t){let n=await G(e,async e=>{try{return[e,await b(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:t});return new Map(n)}function Z(e,t){t&&(e.date=t,e.age=Te(t,{noAffix:!0}))}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(`${Ne()} ${e}`)}function Dr(e){return e.replace(`${m()}/`,``).replace(`${m()}\\`,``)}function Q(e,t,n,r,i){if(i===`engines`&&Oe.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 Or(e){let t=new Set;if(e)for(let r of e){let e;try{e=n(r)}catch(e){throw Error(`Unable to open ${r}: ${e.message}`)}if(e?.isFile())t.add(f(r));else if(e?.isDirectory()){for(let e of Object.keys(br)){let i=u(r,e),a=null;try{a=n(i)}catch{}a?.isFile()&&t.add(f(i))}try{for(let e of i(r,{withFileTypes:!0}))e.isFile()&&ir(e.name)&&t.add(f(u(r,e.name)))}catch{}let e=f(r).replace(/\\/g,`/`),a;a=e.endsWith(`.github/workflows`)?e:e.endsWith(`.github`)?u(e,`workflows`):u(e,`.github`,`workflows`);for(let e of Ln(a))t.add(e)}else throw Error(`${r} is neither a file nor directory`)}else{let e=u(`.github`,`workflows`),n=[...Object.keys(br),...tr,e];for(let[r,i]of Cr(n,m()))if(r===e)for(let e of Ln(i))t.add(e);else t.add(f(i));try{for(let e of i(m(),{withFileTypes:!0}))e.isFile()&&ir(e.name)&&!tr.includes(e.name)&&t.add(f(u(m(),e.name)))}catch{}}for(let e of t)c(e)===`go.work`&&t.delete(u(l(e),`go.mod`));for(let e of t)c(e)===`pnpm-workspace.yaml`&&t.delete(u(l(e),`package.json`));return t}function $(e,t){g===`win32`&&o(e,0),s(e,t,g===`win32`?{flag:`r+`}:void 0)}function kr(e){let t={results:{}};for(let n of Object.keys(e))for(let[r,i]of Object.entries(e[n])){typeof i.oldPrint==`string`&&(i.old=i.oldPrint),typeof i.newPrint==`string`&&(i.new=i.newPrint),typeof i.oldOrig==`string`&&!qt(i.oldOrig)&&(i.old=n===`go`?kn(i.oldOrig):i.oldOrig),n===`go`&&(i.new=kn(i.new)),n===`actions`&&(i.old=q(i.old),i.new=q(i.new)),delete i.oldPrint,delete i.newPrint,delete i.oldOrig,delete i.date;let[e,a]=r.split(`\0`),o=t.results[n]??={};(o[e]??={})[a]=i}return t}let Ar=!1;async function jr(e={}){if(!Ar){let{enableDnsCache:e}=await import(`./dns-CUigd8AG.js`);e(),Ar=!0}let t={...e},n=t.sockets??25,r=t.timeout??0,i=Sr(e.forgeapi,`https://api.github.com`),a=Sr(e.pypiapi,`https://pypi.org`),o=Sr(e.jsrapi,`https://jsr.io`),s=Sr(e.goproxy,cn),d=Sr(e.cargoapi,`https://crates.io`),p=Sr(e.dockerapi,`https://hub.docker.com`),h=ln(),g=t.color===!0||t.noColor!==!0&&_.isTTY,y=e=>g?t=>v(e,String(t)):String,ee=y(`magenta`),x=y(`green`),S=y(`red`),w={fetchTimeout:r||5e3,goProbeTimeout:r?r/2:2500,forgeApiUrl:i,pypiApiUrl:a,jsrApiUrl:o,goProxyUrl:s,cratesIoUrl:d,dockerApiUrl:p,doFetch:async(e,n)=>{t.verbose&&Er(`${ee(n?.method||`GET`)} ${e}`);let r=await Ke(e,n);return t.verbose&&Er(`${r.ok?x(r.status):S(r.status)} ${e}`),r},noCache:!!t.noCache},T=xt(t.greatest),te=xt(t.prerelease),ne=xt(t.release),re=xt(t.patch),ie=xt(t.minor),ae=xt(t.allowDowngrade),E=t.modes?.length?new Set(t.modes):xr;E.has(`actions`)&&it();function oe(e){return re===!0||W(e,re)?new Set([`patch`]):ie===!0||W(e,ie)?new Set([`patch`,`minor`]):new Set([`patch`,`minor`,`major`])}let se=new Map;function ce(e){let t=se.get(e);return t||(t={useGreatest:typeof T==`boolean`?T:W(e,T),usePre:typeof te==`boolean`?te:W(e,te),useRel:typeof ne==`boolean`?ne:W(e,ne),semvers:oe(e)},se.set(e,t)),t}let le=bt(t.include??[]),ue=bt(t.exclude??[]),D=t.pin??{},O={},k={},A={},M={},N=Date.now(),P=0,F=(e,t,n,r,i,a)=>{O[e][`${t}${n}${r}`]={old:i,oldOrig:a}},I=Or(t.files?.length?new Set(t.files):!1),L=await wr(Array.from(I).filter(e=>{if(In(e))return E.has(`actions`)||E.has(`docker`);let t=c(e);if(ir(t))return E.has(`docker`);let n=br[t];return!!n&&E.has(n)}),n),de={},R={},fe=[],z=null,pe=[],me=!1,B=[],he=!1,ge=[],_e=[],V={};async function H(e){let n=e===m()?t:await St(e);return{modeConfig:n,modeInclude:n!==t&&n?.include?bt([...t.include??[],...n.include]):le,modeExclude:n!==t&&n?.exclude?bt([...t.exclude??[],...n.exclude]):ue,pin:{...n?.pin,...D}}}function ve(e,n){return t.types?.length?t.types:n?.types?.length?n.types:e===`npm`?De:e===`pypi`?ke:e===`go`?t.indirect?Ae:Ae.filter(e=>e!==`indirect`):e===`cargo`?je:[]}function ye(e,t,n){O.docker??={};for(let r of n)for(let{ref:n}of qn(e,r)){if(!Q(n.fullImage,`docker`,le,ue,`docker`))continue;let e=`${t}${n.fullImage}`;if(O.docker[e])continue;let r=Gn(n.tag);r&&(O.docker[e]={old:r.version,oldOrig:n.tag},_e.push({key:e,fullImage:n.fullImage,ref:n}))}}for(let e of I){if(In(e)){let t=E.has(`actions`),n=E.has(`docker`);if(!t&&!n)continue;let r=L.get(e),a=Dr(e);if(de[a]={absPath:e,content:r},t){O.actions??={};let e=Array.from(r.matchAll(An),e=>jn(e[1])).filter(e=>e!==null);for(let t of e){if(!Q(t.name,`actions`,le,ue,`actions`))continue;let e=`${a}${t.name}`;O.actions[e]||(O.actions[e]={old:t.ref},ge.push({...t,key:e,apiUrl:Mn(t.host,i)}))}}n&&(R[a]={absPath:e,content:r,fileType:`workflow`},ye(r,a,[Bn,Vn,Hn]));continue}let t=c(e);if(ir(t)){if(!E.has(`docker`))continue;let n=L.get(e),r=Dr(e);R[r]={absPath:e,content:n,fileType:rr(t)?`dockerfile`:`compose`},ye(n,r,[ar(t)]);continue}let r=br[t];if(!E.has(r))continue;if(t===`go.work`){O[r]??={};let t=l(f(e)),i=L.get(e);z={file:e,content:i};let a=En(i),[o,s]=await Promise.all([H(t),G(a.use,async e=>{let n=f(u(t,e,`go.mod`));try{return{usePath:e,modPath:n,content:await b(n,`utf8`)}}catch{return null}},{concurrency:n})]),{modeConfig:c,modeInclude:d,modeExclude:p,pin:m}=o,h=ve(r,c);M[r]=e,V[r]={modeConfig:c,projectDir:t,pin:m};for(let e of s){if(!e)continue;let{usePath:t,modPath:n,content:i}=e,a=bn(i),o=l(n);fe.push({absPath:n,content:i,projectDir:o,usePath:t});let s=t===`.`?``:`|${t}`;for(let e of h){let t=a[e]||{};for(let[n,i]of Object.entries(t))Q(n,r,d,p,e)&&F(r,e,s,n,kn(i),q(i))}}for(let[e,t]of Object.entries(a.replace))Q(e,r,d,p,`replace`)&&F(r,`replace`,``,e,kn(t),q(t));P+=Object.keys(O[r]).length;continue}if(t===`go.mod`&&z||t===`package.json`&&he)continue;if(t===`Cargo.toml`){O[r]??={};let t=L.get(e),i=C(t),a=l(f(e));M[r]=e;let o=Cr([`Cargo.lock`],a).get(`Cargo.lock`),s=i.workspace?.members,c=Array.isArray(s)&&s.length,[u,d,p]=await Promise.all([H(a),o?b(o,`utf8`):Promise.resolve(null),c?vr(s,a,`Cargo.toml`,n):Promise.resolve([])]),{modeConfig:m,modeInclude:h,modeExclude:g,pin:_}=u,v=ve(r,m);V[r]={modeConfig:m,projectDir:a,pin:_};let y=d?lr(d):new Map,ee=(e,t)=>{for(let n of v){let i=Me(e,n)||{};if(!(typeof i!=`object`||Array.isArray(i))){for(let[e,a]of Object.entries(i))if(Q(e,r,h,g,n))if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)){let i=String(a.version);be(i)&&F(r,n,t,e,fr(y,e,i)??X(i),i)}else typeof a==`string`&&be(a)&&F(r,n,t,e,fr(y,e,a)??X(a),a)}}};if(c){me=!0,ee(i,``),pe.push({absPath:f(e),content:t,memberPath:`.`});for(let e of p){pe.push(e);try{ee(C(e.content),`|${e.memberPath}`)}catch(t){throw Error(`Error parsing ${e.absPath}: ${t.message}`)}}}else A[r]=t,ee(i,``);P+=Object.keys(O[r]).length;continue}if(t===`pnpm-workspace.yaml`){O[r]??={};let t=l(f(e)),i=L.get(e);he=!0;let a=yr(i),o=u(t,`package.json`),[s,c,d]=await Promise.all([H(t),b(o,`utf8`).catch(()=>null),vr(a,t,`package.json`,n)]),{modeConfig:p,modeInclude:m,modeExclude:h,pin:g}=s,_=ve(r,p);M[r]=e,V[r]={modeConfig:p,projectDir:t,pin:g};let v=(e,t)=>{for(let n of _){let i=e[n]||{};if(typeof i==`string`){let[e,a]=i.split(`@`);Q(e,r,m,h,n)&&F(r,n,t,e,X(a),a)}else if(typeof i==`object`&&!Array.isArray(i))for(let[e,a]of Object.entries(i))Q(e,r,m,h,n)&&(qt(a)?F(r,n,t,e,Yt(a,e).version,a):be(a)?F(r,n,t,e,X(a),a):Jt(a)?F(r,n,t,e,`0.0.0`,a):k[`${n}${t}${e}`]={old:a})}};if(c!==null){let e;try{e=JSON.parse(c)}catch(e){throw Error(`Error parsing ${o}: ${e.message}`)}B.push({absPath:f(o),content:c,memberPath:`.`}),v(e,``)}for(let e of d){let t;try{t=JSON.parse(e.content)}catch(t){throw Error(`Error parsing ${e.absPath}: ${t.message}`)}B.push(e),v(t,`|${e.memberPath}`)}P+=Object.keys(O[r]).length+Object.keys(k).length;continue}M[r]=e,O[r]??={};let a=l(f(e)),{modeConfig:o,modeInclude:s,modeExclude:d,pin:p}=await H(a),m=ve(r,o),h={};A[r]=L.get(e);try{if(r===`npm`)h=JSON.parse(A[r]);else if(r===`pypi`)h=C(A[r]);else if(r===`go`){let e=bn(A[r]);h.deps=e.deps,h.indirect=e.indirect,h.replace=e.replace,h.tool=e.tool}}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}for(let e of m){let t;if(t=r===`npm`||r===`go`?h[e]||{}:Me(h,e)||{},Array.isArray(t)&&r===`pypi`)for(let{name:n,version:i}of Ee(t))Q(n,r,s,d,e)&&F(r,e,``,n,X(i),i);else if(typeof t==`string`){let[n,i]=t.split(`@`);Q(n,r,s,d,e)&&F(r,e,``,n,X(i),i)}else for(let[n,i]of Object.entries(t))Q(n,r,s,d,e)&&(r===`npm`&&qt(i)?F(r,e,``,n,Yt(i,n).version,i):r!==`go`&&be(i)?F(r,e,``,n,X(i),i):r===`npm`&&Jt(i)?F(r,e,``,n,`0.0.0`,i):r===`npm`?k[`${e}${n}`]={old:i}:r===`go`&&F(r,e,``,n,kn(i),q(i)))}P+=Object.keys(O[r]).length+Object.keys(k).length,V[r]={modeConfig:o,projectDir:a,pin:p}}if(O.actions&&(P+=Object.keys(O.actions).length),O.docker&&(P+=Object.keys(O.docker).length),P===0)return{results:{},message:`No dependencies found, nothing to do.`};let U=[],xe={registry:t.registry};for(let e of Object.keys(V)){if(!O[e]||!Object.keys(O[e]).length&&!Object.keys(k).length)continue;let{modeConfig:r,projectDir:i,pin:a}=V[e];U.push((async()=>{let o=new Map,s=t.cooldown??r.cooldown,c=s?Fe(String(s)):0,l=e=>{if(c)for(let[t,{date:n}]of Object.entries(e))n&&(N-Date.parse(n))/864e5<c&&delete e[t]};if(await G(Object.keys(O[e]),async t=>{let[n,s]=t.split(`\0`),l=hr(n),u=O[e][t],d=null;if(e===`npm`){let{oldOrig:n}=u;if(n&&qt(n))d=await Xt(s,l,w);else if(n&&Jt(n))try{d=await Gt(s,l,r,xe,w)}catch{delete O[e][t];return}else d=await Gt(s,l,r,xe,w)}else d=e===`go`?await Sn(s,l,u.oldOrig||u.old,i,w,h):e===`cargo`?await cr(s,l,w):await nn(s,n,w);if(!d)return;let[f,,p]=d;if(f?.error)throw Error(f.error);let{useGreatest:m,usePre:g,useRel:_,semvers:v}=ce(f.name),y=u.old,b=u.oldOrig,ee=a[s],x=et(f,{usePre:g,useRel:_,useGreatest:m,semvers:v,range:y,mode:e,pinnedRange:ee,cooldownDays:c||void 0,now:c?N:void 0},{allowDowngrade:ae,matchesAny:W,isGoPseudoVersion:gn}),S=``;if([`go`,`pypi`].includes(e)&&x)S=x;else if(e===`cargo`&&x&&b)S=dr(b,x);else if(x)if(b&&Jt(b))S=String(Pt()[`save-exact`])===`true`?x:`^${x}`;else if(b&&qt(b)){let e=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/.exec(b);e?S=`${e[1]}${x}`:b.startsWith(`jsr:`)&&(S=`jsr:${x}`)}else S=Qt(y,x,b);if(!x||x===y||b&&b===S){delete O[e][t];return}let C=``;e===`pypi`&&f.releases?.[x]?.[0]?.upload_time_iso_8601?C=f.releases[x][0].upload_time_iso_8601:e===`go`&&f.Time?C=f.Time:e===`cargo`&&f.time?.[x]&&(C=f.time[x]),u.new=S,b&&qt(b)&&(u.newPrint=x),e===`npm`?o.set(t,{name:s,promise:Kt(f.name,x,r,xe,w)}):e===`pypi`?u.info=_t(f,p,f.info.name):e===`go`?u.info=Dn(f.newPath||s):e===`cargo`&&(u.info=`https://crates.io/crates/${s}`),C&&Z(u,C)},{concurrency:n}),await Promise.all(Array.from(o,async([t,{name:n,promise:r}])=>{let i=await r,a=O[e][t];a&&(a.info=_t({repository:i.repository,homepage:i.homepage},null,n),i.date&&Z(a,i.date))})),Object.keys(k).length){let t=(await G(Object.entries(k),([e,t])=>{let n=e.split(`\0`)[1];return tn(e,t,typeof T==`boolean`?T:W(n,T),w)},{concurrency:n})).filter(e=>e!==null);for(let n of t){let{key:t,newRange:r,user:i,repo:a,oldRef:o,newRef:s,newDate:c}=n;O[e][t]={old:k[t].old,new:r,oldPrint:ut.test(o)?o.substring(0,7):o,newPrint:ut.test(s)?s.substring(0,7):s,info:`https://github.com/${i}/${a}`},c&&Z(O[e][t],c)}}l(O[e])})())}if(ge.length&&U.push((async()=>{let e=new Map;for(let t of ge){let n=`${t.apiUrl}/${t.owner}/${t.repo}`,r=e.get(n);r||e.set(n,r={apiUrl:t.apiUrl,owner:t.owner,repo:t.repo,infos:[]}),r.infos.push(t)}let r=t.cooldown?Fe(String(t.cooldown)):0;await G(e.values(),async({apiUrl:e,owner:t,repo:i,infos:a})=>{let o=await pt(e,t,i,w),s=[],c=new Map,l=new Map,u=new Map;for(let e of o){l.set(e.name,e);let t=q(e.name);j(t)&&(s.push(t),c.has(t)||c.set(t,e.name)),e.commitSha&&u.set(e.commitSha,e.name)}let d=new Map;async function f(n){if(d.has(n))return d.get(n);let r=await Nn(e,t,i,n,w);return d.set(n,r),r}async function p(e){let t=new Set;for(let n=0;n<20;n++){let n=$e({},t.size?s.filter(e=>!t.has(e)):s,e);if(!n||n===e.range)return null;let i=c.get(n);if(!i){t.add(n);continue}let a=l.get(i)?.commitSha||``;if(!r)return{version:n,tag:i,commitSha:a,date:``};let o=a?await f(a):``;if(He(o,r,N))return{version:n,tag:i,commitSha:a,date:o};t.add(n)}return null}await G(a,async({key:e,host:n,ref:r,name:a,isHash:o})=>{let s=O.actions[e],c=`https://${n||`github.com`}/${t}/${i}`;if(o){let{usePre:t,useRel:n}=ce(a),i=await p({range:`0.0.0`,semvers:new Set([`patch`,`minor`,`major`]),usePre:t,useRel:n,useGreatest:!0,pinnedRange:D[a]});if(!i){delete O.actions[e];return}let{tag:o,commitSha:l,date:d}=i;if(!l||l===r||l.startsWith(r)||r.startsWith(l)){delete O.actions[e];return}let f=u.get(r);if(!f){for(let[e,t]of u)if(e.startsWith(r)){f=t;break}}s.old=r,s.new=l.substring(0,r.length),s.oldPrint=f||r.substring(0,7),s.newPrint=o,s.info=c,d&&Z(s,d)}else{let t=J(q(r));if(!t){delete O.actions[e];return}let{useGreatest:n,usePre:i,useRel:o,semvers:u}=ce(a),d=await p({range:t,semvers:u,usePre:i,useRel:o,useGreatest:n||!0,pinnedRange:D[a]});if(!d){delete O.actions[e];return}let{tag:m,commitSha:h,date:g}=d,_=Pn(m,r);if(_===r){delete O.actions[e];return}if(s.new=l.has(_)?_:m,s.info=c,h&&g)Z(s,g);else if(h){let e=await f(h);e&&Z(s,e)}}},{concurrency:n})},{concurrency:n}),Object.keys(O.actions).length||delete O.actions})()),_e.length&&U.push((async()=>{let e=new Map;for(let t of _e){let n=e.get(t.fullImage);n||e.set(t.fullImage,n=[]),n.push(t)}let r=t.cooldown?Fe(String(t.cooldown)):0;await G(e.entries(),async([e,t])=>{let n;try{let[t]=await Yn(e,`docker`,w);n=t}catch{for(let e of t)delete O.docker[e.key];return}for(let e of t){let t=O.docker[e.key],i=t.oldOrig||t.old,{semvers:a}=ce(e.fullImage),o=Xn(n.tags,i,a,r||void 0,r?N:void 0);if(!o){delete O.docker[e.key];continue}t.new=o.newTag,t.info=or(e.ref),Z(t,o.date)}},{concurrency:n}),Object.keys(O.docker).length||delete O.docker})()),await Promise.all(U),!Tr(O))return{results:{},message:`All dependencies are up to date.`};if(t.update){let e=(e,t,n)=>{for(let r of t){let t=gr(O[e],r.memberPath);Object.keys(t).length&&$(r.absPath,n(r.content,t))}},t=new Map;if(O.actions)for(let[e,n]of Object.entries(O.actions)){let[r,i]=e.split(`\0`),a=t.get(r);a||t.set(r,a=[]),a.push({name:i,oldRef:n.old,newRef:n.new})}let n=new Map;if(O.docker)for(let[e,t]of Object.entries(O.docker)){let[r]=e.split(`\0`),i=n.get(r);i||n.set(r,i={}),i[e]=t}let r=kr(O);for(let r of Object.keys(O)){if(!Object.keys(O[r]).length)continue;if(r===`actions`){for(let[e,n]of t){let{absPath:t,content:r}=de[e]||{};if(!t)continue;let i=Fn(r,n);$(t,i),R[e]&&(R[e].content=i)}continue}if(r===`docker`){for(let[e,t]of n){let n=R[e];if(!n)continue;let{absPath:r,content:i,fileType:a}=n;$(r,(a===`dockerfile`?Qn:a===`compose`?$n:er)(i,t))}continue}let i=A[r];if(r===`go`&&z){for(let e of fe){let t=gr(O[r],e.usePath);if(!Object.keys(t).length)continue;let[n,i]=wn(e.content,t);n!==e.content&&$(e.absPath,n),Tn(e.projectDir,i,$)}let e={};for(let[t,n]of Object.entries(O[r]))t.split(`\0`)[0]===`replace`&&(e[t]=n);if(Object.keys(e).length){let[t]=wn(z.content,e);t!==z.content&&$(z.file,t)}}else if(r===`go`){let[e,t]=wn(i,O[r]);$(M[r],e),Tn(l(f(M[r])),t,$)}else if(r===`cargo`&&me)e(r,pe,mr);else if(r===`cargo`)$(M[r],mr(i,O[r]));else if(r===`npm`&&he)e(r,B,Zt);else{let e=r===`npm`?Zt:rn;$(M[r],e(i,O[r]))}}return r}return kr(O)}function Mr(e){let t=``,n=0,r=e.length;for(;n<r;){let i=e[n];if(i===`"`){for(t+=i,n++;n<r;){let i=e[n];if(t+=i,n++,i===`\\`&&n<r){t+=e[n],n++;continue}if(i===`"`)break}continue}if(i===`/`&&n+1<r&&e[n+1]===`/`){for(n+=2;n<r&&e[n]!==`
5
- `;)n++;continue}if(i===`/`&&n+1<r&&e[n+1]===`*`){for(n+=2;n<r&&(e[n]!==`*`||e[n+1]!==`/`);)n++;n+=2;continue}t+=i,n++}return t=t.replace(/,(\s*[}\]])/g,`$1`),JSON.parse(t)}export{Mr as n,be as r,jr as t};