updates 19.0.0 → 19.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.js +1 -1
- package/dist/prewarm.js +1 -1
- package/dist/shared.js +28 -30
- package/package.json +11 -11
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{r as e}from"./shared.js";import{argv as t,exit as n,
|
|
2
|
+
import{r as e}from"./shared.js";import{argv as t,exit as n,platform as r,stderr as i,stdout as a,versions as o}from"node:process";for(let e of[a,i])e._handle?.setBlocking?.(!0);const s=await e(t.slice(2),{stdout:e=>a.write(e),stdoutIsTTY:a.isTTY,moduleUrl:import.meta.url});r===`win32`&&Number(o.node.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),n(s);export{};
|
package/dist/prewarm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{env as e}from"node:process";import{basename as t,join as n,resolve as r}from"node:path";import{readFileSync as i,readdirSync as a,statSync as o}from"node:fs";const s=/* @__PURE__ */ new Set([`.github`,`.gitea`,`.forgejo`]),c={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:`https://api.github.com`,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},l=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`,`resolutions`]
|
|
1
|
+
import{env as e}from"node:process";import{basename as t,join as n,resolve as r}from"node:path";import{readFileSync as i,readdirSync as a,statSync as o}from"node:fs";const s=/* @__PURE__ */ new Set([`.github`,`.gitea`,`.forgejo`]),c={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:`https://api.github.com`,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},l=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`,`resolutions`];function u(e){return e===`package.json`||e===`pnpm-workspace.yaml`?`npm`:e===`pyproject.toml`?`pypi`:e===`Cargo.toml`?`cargo`:e===`go.mod`||e===`go.work`?`go`:/^(?:[Dd]ocker|[Cc]ontainer)file|\.(?:[Dd]ocker|[Cc]ontainer)file$/.test(e)||/^(?:docker-|compose).*\.ya?ml$/.test(e)?`docker`:[`Makefile`,`makefile`,`GNUmakefile`].includes(e)||e.endsWith(`.mk`)?`make`:/\.ya?ml$/.test(e)?`actions`:``}function d(d,f){let p=Array.isArray(f.modes)?new Set(f.modes):null,m=/* @__PURE__ */ new Set,h=/* @__PURE__ */ new Set,g=Array.isArray(f.files)&&f.files.length?f.files.filter(e=>typeof e==`string`):[d];for(let e of g){let t=r(e);try{if(o(t).isFile()){h.add(t);continue}for(let e of a(t,{withFileTypes:!0}))if(e.isFile())h.add(n(t,e.name));else if(s.has(e.name))try{for(let r of a(n(t,e.name,`workflows`),{withFileTypes:!0}))r.isFile()&&/\.ya?ml$/.test(r.name)&&h.add(n(t,e.name,`workflows`,r.name))}catch{}}catch{}}for(let e of h){let n=t(e),r=u(n);if(r&&(!p||p.has(r)||r===`actions`&&p.has(`docker`)))try{let t=i(e,`utf8`);if(n===`package.json`){let e;try{e=JSON.parse(t)}catch{continue}let n=l.flatMap(t=>Object.values(e[t]??{}));typeof e.packageManager==`string`&&n.push(e.packageManager.split(`@`,1)[0]);for(let e of n)typeof e!=`string`||/^(?:file|link|workspace):/.test(e)||(/^(?:jsr:|npm:@jsr\/)/.test(e)?m.add(`jsrapi`):/^(?:git(?:\+https?|\+ssh)?:|https?:\/\/[^/]*(?:github|gitea|forgejo)|github:|gitea:|forgejo:)/.test(e)?m.add(`forgeapi`):m.add(`registry`))}else if(n===`pnpm-workspace.yaml`)/\b(?:jsr:|npm:@jsr\/)/.test(t)&&m.add(`jsrapi`),/\b(?:catalogs?|overrides):|:\s*["']?[~^<>=]*\d/.test(t)&&m.add(`registry`);else if(n===`pyproject.toml`)/^[ \t]*["'][A-Za-z0-9][\w.-]*(?:\[[^\]]+\])?\s*(?:[<>=!~]|@)/m.test(t)&&m.add(`pypiapi`);else if(n===`Cargo.toml`)/^\s*\[(?:target\.[^\]]+\.)?(?:dev-|build-)?dependencies\]/m.test(t)&&m.add(`cargoapi`);else if(n===`go.mod`||n===`go.work`)/^\s*(?:require\s+)?\S+\s+v\d/m.test(t)&&m.add(`goproxy`);else if(r===`docker`)/^\s*(?:FROM\s+(?:--\S+\s+)*|image\s*:\s*)[^\s#]+[:@]/im.test(t)&&m.add(`dockerapi`);else if(r===`make`)/\bgo\s+install\s+\S+@v\d/.test(t)&&m.add(`goproxy`),/\b(?:docker|image)\b[^\n]*[\w./-]+:[\w.-]+/i.test(t)&&m.add(`dockerapi`);else{let e=-1;for(let n of t.split(/\r?\n/)){let t=n.search(/\S|$/);e!==-1&&(!n.trim()||t>e)||(e=/:\s*[|>](?:[1-9][+-]?|[+-][1-9]?)?\s*(?:#.*)?$/.test(n)?t:-1,(!p||p.has(`actions`))&&/^\s*(?:-\s*)?uses\s*:\s*["']?(?!\.\/|docker:\/\/)[^\s#]+@/.test(n)&&m.add(`forgeapi`),(!p||p.has(`docker`))&&/^\s*(?:(?:container|image)\s*:\s*["']?[^\s#]+[:@]|(?:-\s*)?uses\s*:\s*["']?docker:\/\/)/.test(n)&&m.add(`dockerapi`))}}}catch{}}let _=/* @__PURE__ */ new Set;for(let t of m){let r=f[t];if(t===`registry`&&typeof r!=`string`)try{r=/^\s*registry\s*=\s*(\S+)\s*$/m.exec(i(n(d,`.npmrc`),`utf8`))?.[1]}catch{}else t===`goproxy`&&typeof r!=`string`&&(r=e.GOPROXY);let a=typeof r==`string`&&r?r:c[t];if(!(t===`goproxy`&&(a=a.split(/[|,]/,1)[0].trim(),a===`off`||a===`direct`)))try{let e=new URL(a).origin;_.add(e===c.forgeapi?`${e}/rate_limit`:`${e}/`)}catch{}}return Array.from(_)}export{d as prewarmOrigins};
|
package/dist/shared.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o
|
|
2
|
-
`)}return i}const Ie={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Le(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[e,n,r]=t,i=Ie[r.toLowerCase()];if(i)return Number(n)*i}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}function Re(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function I(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(Math.max(n,1),r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}async function ze(e){try{return await e}catch{return null}}const L=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function R(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(L).join(`|`)}const Be=/* @__PURE__ */ new WeakMap;var Ve=class extends RegExp{constructor(e,t,n){super(e,n),Be.set(this,t)}test(e){return Be.get(this)(e)}};function He(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++)e[i]===`(`||e[i]===`{`?n++:e[i]===`)`||e[i]===`}`?n--:(e[i]===`|`||e[i]===`,`)&&n===0&&(t.push(e.slice(r,i)),r=i+1);return t.push(e.slice(r)),t}function Ue(e,t,n,r){let i=0;for(let a=t;a<e.length;a++)if(e[a]===n)i++;else if(e[a]===r&&--i===0)return a;return-1}function We(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return He(e);let n=/^-?\d+$/.test(t[1])&&/^-?\d+$/.test(t[2]),r=n?Number(t[1]):t[1].codePointAt(0),i=n?Number(t[2]):t[2].codePointAt(0),a=Math.abs(Number(t[3])||1)*(r<=i?1:-1),o=[];for(;(a>0?r<=i:r>=i)&&o.length<1e3;)o.push(n?String(r):String.fromCodePoint(r)),r+=a;return o}function z(e){let t=``,n=[],r=e=>{t+=e,n.push({kind:`char`,matcher:RegExp(`^(?:${e})$`,`i`)})};for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`&&i+1<e.length)r(L(e[++i]));else if(a===`*`&&e[i+1]!==`(`){let r=e[i+1]===`*`;for(;e[i+1]===`*`;)i++;r&&e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`){let a=Ue(e,i,`{`,`}`);if(a===-1)r(`\\{`);else{let r=We(e.slice(i+1,a)).map(z);t+=`(?:${r.map(e=>e.source).join(`|`)})`,n.push({kind:`alternatives`,alternatives:r.map(e=>e.tokens),minimum:1,repeat:!1}),i=a}}else if(`@+?*!`.includes(a)&&e[i+1]===`(`){let o=Ue(e,i+1,`(`,`)`);if(o===-1)r(L(a));else{let r=He(e.slice(i+2,o)).map(z),s=r.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${s})(?:/|$))[^/]*`:`(?:${s})${a===`@`?``:a}`;let c=r.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:c}:{kind:`alternatives`,alternatives:c,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=o}}else r(L(a))}return{source:t,tokens:n}}function Ge(e,t){let n=/* @__PURE__ */ new WeakMap,r=(e,n,r)=>{if(!e.has(n))for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=n.get(e);o||(o=/* @__PURE__ */ new Map,n.set(e,o));let s=o.get(a);if(s)return s;let c=/* @__PURE__ */ new Set([a]);o.set(a,c);for(let n of e){let e=/* @__PURE__ */ new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);for(let t of n.alternatives)for(let n of i(t,a))e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function Ke(e){if(e instanceof RegExp)return/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e;let t=/^(!?)\/(.*)\/(i?)$/.exec(e);if(t)try{let n=new RegExp(t[2],t[3]);return t[1]?new Ve(e,e=>!n.test(e)):n}catch{}let n=0;for(;e[n]===`!`&&e[n+1]!==`(`;)n++;let r=n%2==1,{source:i,tokens:a}=z(e.slice(n)),o=e=>Ge(a,e);return new Ve(`^${i}$`,r?e=>!o(e):o,`i`)}async function qe(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=p(n);if(r===n)return null;n=r}}function B(e,t){let n=e;for(;;){let e=t(n);if(e)return e;let r=p(n);if(r===n)return null;n=r}}function V(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function H(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function Je(e){let t=/* @__PURE__ */ new Map;return n=>H(t,n,()=>e(n))}const Ye=`0|[1-9]\\d*`,Xe=/^(?:0|[1-9]\d*)$/,Ze=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,Qe=RegExp(`^v?(${Ye})\\.(${Ye})\\.(${Ye})(?:-((?:${Ze})(?:\\.(?:${Ze}))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$`),$e=/* @__PURE__ */ new Map;function U(e){return typeof e==`string`?H($e,e,()=>{let t=Qe.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if(!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)&&Number(e)<2**53-1?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function et(e,t){let n=typeof e==`number`||/^\d+$/.test(e),r=typeof t==`number`||/^\d+$/.test(t);if(n&&r){let n=String(e),r=String(t);return n.length-r.length||(n<r?-1:+(n>r))}return n?-1:r?1:e<t?-1:+(e>t)}function tt(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function nt(e,t){let n=tt(e,t);if(n!==0)return n;let r=e.prerelease.length>0,i=t.prerelease.length>0;if(!r&&!i)return 0;if(r&&!i)return-1;if(!r&&i)return 1;let a=Math.max(e.prerelease.length,t.prerelease.length);for(let n=0;n<a;n++){if(e.prerelease[n]===void 0)return-1;if(t.prerelease[n]===void 0)return 1;let r=et(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function rt(e){return U(e)?.version??null}function W(e){return U(e)}const it=/* @__PURE__ */ new Map,at=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function ot(e){return typeof e==`string`?H(it,e,()=>{let t=at.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function st(e,t){let n=U(e),r=U(t);return!n||!r?null:ct(n,r)}function ct(e,t){let n=nt(e,t);if(n===0)return null;let r=n>0?e:t,i=n>0?t:e,a=r.prerelease.length>0;if(i.prerelease.length>0&&!a){if(!i.patch&&!i.minor)return`major`;if(tt(i,r)===0)return i.minor&&!i.patch?`minor`:`patch`}let o=a?`pre`:``;return e.major===t.major?e.minor===t.minor?e.patch===t.patch?`prerelease`:`${o}patch`:`${o}minor`:`${o}major`}function lt(e,t){let n=U(e),r=U(t);return n&&r?nt(n,r):null}function ut(e,t){return(lt(e,t)??-1)>0}function dt(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=t[1].split(`.`),r=[],i=!1;for(let e of n)if(/^[xX*]$/.test(e))i=!0,r.push(null);else{if(i||!Xe.test(e))return null;let t=Number(e);if(!Number.isSafeInteger(t))return null;r.push(t)}for(;r.length<3;)r.push(null);return(t[2]||t[3])&&r.some(e=>e===null)||(t[2]||t[3])&&!U(`${r.join(`.`)}${t[2]??``}${t[3]??``}`)?null:{major:r[0],minor:r[1],patch:r[2],suffix:`${t[2]??``}${t[3]??``}`}}function G(e,t,n,r,i=``){let a=U(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function K(...e){return e.every(e=>e!==null)?e:null}function ft(e,t){let n=nt(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!1}}function q(e,t,n){return G(`<`,e,t,n,`-0`)}function pt(e,t){if(e.major===null)return t===`>`||t===`<`?K(q(0,0,0)):[];let n=e.major,r=e.minor??0,i=e.patch??0;if(t===`^`||t===`~`){let a=G(`>=`,n,r,i,e.suffix);return e.minor===null?K(a,q(n+1,0,0)):t===`~`?K(a,q(n,r+1,0)):n===0?e.patch!==null&&r===0?K(a,q(0,0,i+1)):K(a,q(0,r+1,0)):K(a,q(n+1,0,0))}return e.minor!==null&&e.patch!==null?K(G(t||`=`,n,r,i,e.suffix)):!t||t===`=`?e.minor===null?K(G(`>=`,n,0,0),q(n+1,0,0)):K(G(`>=`,n,r,0),q(n,r+1,0)):t===`>`?e.minor===null?K(G(`>=`,n+1,0,0)):K(G(`>=`,n,r+1,0)):t===`<=`?e.minor===null?K(q(n+1,0,0)):K(q(n,r+1,0)):t===`<`?e.minor===null?K(q(n,0,0)):K(q(n,r,0)):K(G(`>=`,n,r,0))}function mt(e,t){let n=dt(e),r=dt(t);if(!n||!r)return null;let i=[];if(n.major!==null){let e=G(`>=`,n.major,n.minor??0,n.patch??0,n.suffix);if(!e)return null;i.push(e)}if(r.major===null)return i;let a=r.minor===null?q(r.major+1,0,0):r.patch===null?q(r.major,r.minor+1,0):G(`<=`,r.major,r.minor,r.patch,r.suffix);return a?(i.push(a),i):null}function ht(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t)return mt(t[1],t[2]);let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&dt(t[2]),i=n?pt(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const gt=/* @__PURE__ */ new Map;function _t(e){return H(gt,e,()=>{let t=e.split(`||`).map(e=>ht(e.trim()));return t.some(e=>e===null)?null:t})}function vt(e,t){return t.some(t=>!ft(e,t))?!1:!e.prerelease.length||t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch)}function yt(e,t){return!!_t(t)?.some(t=>vt(e,t))}function J(e,t){let n=U(e);return!!(n&&yt(n,t))}function bt(e){return typeof e==`string`&&_t(e)?e:null}const xt=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,St=RegExp(`^${xt}$`,`i`),Ct=RegExp(xt,`i`),wt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},Tt=/* @__PURE__ */ new Map;function Y(e){return typeof e==`string`?H(Tt,e,()=>{let t=St.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[wt[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function Et(e){return Y(e)??Y(Ct.exec(e)?.[0]??``)}const Dt=e=>!!e.pre||e.dev!==null;function Ot(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function kt(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?Ot(e.local,t.local):a<o?-1:1}function At(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function jt(e,t){let n=kt(e,t);if(n===0)return null;let r=At(e,t);return Dt(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Mt=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,X={parse:W,parseRange:e=>W(Mt.exec(e)?.[0]??``)??W(ot(e)?.version??``),compare:nt,diff:ct,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:yt},Nt=/* @__PURE__ */ new Map;function Pt(e){return H(Nt,e,()=>{let t=e.trim().replace(/^v/i,``);return(W(t)??W(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?W(ot(t)?.version??``):null)})}const Ft={...X,parse:Pt,parseRange:Pt,isRangePrerelease:e=>!!Pt(e)?.prerelease.length},It={parse:Y,parseRange:Et,compare:kt,diff:jt,isPrerelease:Dt,isRangePrerelease:e=>{let t=Et(e);return!!(t&&Dt(t))},satisfiesRange:({release:e},t)=>J(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Lt=/[A-Za-z_$]/,Rt=/[A-Za-z0-9_$]/;function zt(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
|
|
3
|
-
`;)t++;return t}
|
|
4
|
-
|
|
5
|
-
`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=/* @__PURE__ */ new Date;return await ze(M(n,s,s)),{etag:a,body:o}}catch{return null}}const Sn=/* @__PURE__ */ new Set;let Cn=0;function wn(e,t,n,i=_n){let a=(async()=>{try{await H(vn,i,()=>ae(i,{recursive:!0}))}catch{vn.delete(i);return}let a;try{let o=h(i,`${yn(e)}.cache`);a=`${o}.${r}-${Cn++}.tmp`,await ce(a,`${t}\n${n}`),await se(a,o)}catch{a&&await ze(j(a))}})();Sn.add(a),(async()=>{await a,Sn.delete(a)})()}async function Tn(e=_n,t=4096){for(;Sn.size;)await Promise.all(Sn);try{let n=(await O(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=h(e,t);try{return{path:n,mtime:(await A(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-bn,a=r.filter(e=>e.mtime>=i);await Promise.all([...r.slice(a.length),...a.slice(t)].map(e=>ze(j(e.path))))}catch{}}const En=/* @__PURE__ */ new Map;function Dn(){let e=t.XDG_CONFIG_HOME||(i===`win32`?t.APPDATA||h(N(),`AppData`,`Roaming`):h(N(),`.config`));return h(e,`updates`,`tokens.json`)}async function On(e){let t;try{t=await oe(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return{};throw e}try{return JSON.parse(t)}catch(t){throw Error(`Could not parse ${e}: ${t.message}`)}}function kn(){let e=Dn();return En.has(e)||En.set(e,On(e)),En.get(e)}async function An(e){let t=Dn();await ae(p(t),{recursive:!0,mode:448}),await ce(`${t}.tmp`,`${JSON.stringify(e,null,2)}\n`,{mode:384}),await se(`${t}.tmp`,t),En.set(t,Promise.resolve(e))}async function jn(e,t){await An({...await kn(),[e]:t})}async function Mn(e){let t={...await kn()};return Object.hasOwn(t,e)?(delete t[e],await An(t),!0):!1}var Nn=`19.0.0`;function Pn(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const Fn=Nn,In=`https://api.github.com`,Ln={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:In,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},Z=e=>e[0]===`v`?e.substring(1):e,Rn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function zn(e,t){return{headers:{"user-agent":`updates/${Fn}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const Bn=/* @__PURE__ */ new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function Vn(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&Bn.has(t)}async function Hn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=Vn(t),n}}async function Un(e,t,n={}){let r=Qn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim(),s=o&&!/^\d+$/.test(o)?Date.parse(o):NaN,c=o?/^\d+$/.test(o)?Number(o)*1e3:Number.isNaN(s)?null:Math.max(s-Date.now(),0):null,l=e.fetchTimeout,u=a.status>=500&&a.status<600?c!==null&&c<=l?c:0:(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await de(u)}catch(e){if(i>=2||!e?.transient)throw e}}const Wn=e=>t=>JSON.stringify(e(JSON.parse(t))),Gn=/* @__PURE__ */ new WeakMap;function Kn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()).sort(),n.body??null,r?.toString()]),s=H(Gn,t,()=>/* @__PURE__ */ new Map),c=s.get(o);return c||(c=(async()=>{try{let o=t.noCache?null:await xn(i);if(a&&o)return{body:o.body};let s=n.headers,c=o?{...s,"if-none-match":o.etag}:s,l=await Un(t,e,{...n,headers:c});if(l.status===304&&o)return{body:o.body,res:l};if(!l.ok)return{res:l};let u=await l.text();if(r&&u.length>=16384)try{u=r(u)}catch{}let d=a?`immutable`:l.headers.get(`etag`);return d&&!t.noCache&&wn(i,d,u),{body:u,res:l}}finally{s.delete(o)}})(),s.set(o,c)),c}function qn(e,t,n={},r,i=e){return Kn(e,t,n,r,i,!1)}function Jn(e,t,n={},r){return Kn(e,t,n,r,e,!0)}async function Q(e,t,n,r,i=!0){let a=H(e,t,()=>/* @__PURE__ */ new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const Yn=new le,Xn=e=>Math.max(e.concurrency||50,1),Zn=/* @__PURE__ */ new WeakMap;function Qn(e){return H(Zn,e,()=>{let t=Xn(e),n=0,r=0,i=[];return async e=>{if(Yn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await Yn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function $n(e,t=X){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const er=/* @__PURE__ */ new WeakMap,tr=/* @__PURE__ */ new WeakMap;function nr(e,t,n,r,i=X){let a=t||i.isRangePrerelease(e),o=r;if(a){let e=t?er:tr;o=e.get(r)??new Set(r).add(`prerelease`),t&&(r.has(`patch`)&&o.add(`prepatch`),r.has(`minor`)&&o.add(`preminor`),r.has(`major`)&&o.add(`premajor`)),e.set(r,o)}return{effectiveSemvers:o,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function rr(e){return ot(e)?.version??``}function ir(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=X}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=nr(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),ee=!!u&&(!!y||m.isPrerelease(h)),S=e?.time,C=!!(d&&f),w=null;for(let e of t){let t=m.parse(e);if(!t||_(t))continue;let n=m.compare(t,h)<=0;if(n&&!x&&!ee||w&&m.compare(t,w)<=0||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||C&&!Pn(p?p(e):S?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;i&&g.has(i)&&(w=t)}return w?.raw??w?.version??null}function ar(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function or(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?It:X,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;let n=e=>!(!e||e.yanked);m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(n)),g=e=>t[e].reduce((e,t)=>{if(!n(t))return e;let r=t?.upload_time_iso_8601,i=typeof r==`string`?Date.parse(r):NaN;return!Number.isNaN(i)&&i<e.time?{date:r,time:i}:e},{time:1/0}).date,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[rr(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=rr(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=nr(p,i,a,o,f),m=e.old||p,h=f.parseRange(m),g=!!d||!!s&&!c&&!!h&&!f.satisfiesRange(h,s),_=(e,i)=>{let a=rr(e),o=f.parse(e),c=ar(e);if(!a||!c&&r(o))return!1;let d=st(m,e)??st(t,a),p=c?d===`prerelease`?`patch`:d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0||!Pn(i,l,u)?!1:!s||J(a,s)};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return ir(e,m,{range:p,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:h,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:g,versioning:f})}function sr(e){try{return new URL(e).host}catch{return``}}function cr(e){let n=F(t.UPDATES_FORGE_TOKENS??``).find(t=>{let n=t.lastIndexOf(`:`);return n>0&&t.slice(0,n)===e});return n?n.slice(n.lastIndexOf(`:`)+1):null}let lr;function ur(){return lr||=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})(),lr}const dr=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];function fr(){return Array.from(new Set(dr.map(e=>t[e]).filter(e=>!!e)))}const pr=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function mr(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(/\r?\n/)){let e=pr.exec(n);if(!e)continue;let r=sr(e[1]),i=ue.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let hr;function gr(){return hr??=(async()=>{try{let{stdout:e}=await(await ur())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return mr(e)}catch{return/* @__PURE__ */ new Map}})()}const _r=/* @__PURE__ */ new Map,vr=/* @__PURE__ */ new Set;function yr(e){return e===`api.github.com`?`github.com`:e}async function br(e,t){if(!e)return[];let n=cr(e);if(n)return[n];let r=yr(e),i=r===`github.com`||e===sr(t),a=(await kn())[r],o=i?fr():[],s=(await gr()).get(r);return Array.from(new Set([a,...o,s].filter(Boolean)))}async function xr(e,t,n=In){let r=await Hn(e===`github.com`?`${n}/user`:`https://${e}/api/v1/user`,{...zn(`Bearer`,t),signal:AbortSignal.timeout(5e3)});if(r.status===401)throw Error(`token for ${e} was rejected`);if(!r.ok)throw Error(`token verification for ${e} failed with status ${r.status}`);return(await r.json()).login}var Sr=class extends Error{name=`ForgeError`;kind;host;status;reset;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),this.kind=e,this.host=t,this.status=r,this.reset=i}};async function Cr(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function wr(e,t,n,r){if(e.status>=500)throw new Sr(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Cr(e);if(i===null)return e;throw new Sr(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS or run "updates --login ${yr(n)}"`}${i?`, resets at ${(/* @__PURE__ */ new Date(i*1e3)).toISOString()}`:``}`,{status:e.status,reset:i})}async function Tr(e,t,n){let r=sr(e),i=(await br(r,t.forgeApiUrl)).filter(e=>!vr.has(e)),a=async a=>{let o=zn(`Bearer`,a);return o.headers={...o.headers,...n},wr(await Un(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=_r.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return _r.set(r,t),n;if(n.status===401&&!vr.has(t)){vr.add(t);let e=yr(r);(await kn())[e]===t&&console.error(`stored token for ${e} was rejected, run "updates --login ${e}" to replace it`)}t===e&&_r.delete(r)}return await a()}catch(e){throw e instanceof Sr?e:new Sr(`network`,r,e?.message??String(e),{cause:e})}}function Er(e,t){let n=X.parse(Z(t));if(!n)return null;let r=``,i=n;for(let t of e){let e=X.parse(Z(t));e&&X.compare(e,i)>0&&(r=t,i=e)}return r||null}function Dr(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,(e,t)=>`https://${t}.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Or=/* @__PURE__ */ RegExp(`^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$`,`i`),kr=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function Ar(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function jr(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function Mr(e){if(!Array.isArray(e))throw TypeError(`Invalid Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||e.commit?.sha!==void 0&&typeof e.commit.sha!=`string`)throw TypeError(`Invalid Forge tag entry`);return{name:e.name,commitSha:e.commit?.sha||``}})}const Nr=(e,t)=>{if(!t)return Mr(e);if(!Array.isArray(e))throw TypeError(`Invalid cached Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||typeof e.commitSha!=`string`||e.isStable!==void 0&&typeof e.isStable!=`boolean`)throw TypeError(`Invalid cached Forge tag entry`);return e})},Pr=/* @__PURE__ */ new WeakMap;function Fr(e,t,n,r){let i=`${n}${e}`;return Q(Pr,t,i,async()=>{let n=t.noCache?null:await xn(e),a=await Tr(e,t,n?{"if-none-match":n.etag}:void 0);if(a.status===304&&n)return n.body;if(!a.ok)return Pr.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&wn(e,s,o),o})}function Ir(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r}})}async function Lr(e,t,n,r){let i=await Fr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link}}function Rr(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function zr(e,t,n,r,i){let a=await Lr(e(1),t,n,r);if(!a)return;let o=Rr(a.link),s=Xn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>Lr(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function Br(e,t,n){let r=/* @__PURE__ */ new Map;return await zr(n=>`${In}/repos/${e}/${t}/releases?per_page=100&page=${n}`,n,`releases`,Ir,e=>{for(let t of e)r.set(t.name,t.isStable);return!1}),r}async function Vr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await zr(r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,r,`tags`,Nr,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function Hr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return Vr(e,t,n,r,i);let[o,s]=await Promise.allSettled([Vr(e,t,n,r,i),Br(t,n,r)]);if(o.status===`rejected`)throw o.reason;if(s.status===`rejected`&&!(s.reason instanceof Sr))throw s.reason;if(s.status===`fulfilled`)for(let e of o.value)s.value.has(e.name)&&(e.isStable=s.value.get(e.name));return o.value}function Ur(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 Wr(e,t,n=``){let r=Z(e),i=Z(t).split(`.`).length,a=i>=3?r:Array.from({length:i},(e,t)=>r.split(`.`)[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${a}${n}`}function Gr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const Kr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function qr({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of Kr)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=Dr(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${Gr(a)}/${e.directory}`)),a||t||``)}function Jr(e){let t=e.includes(`:/`)||e.startsWith(`/`);return Rn(!t&&/[.:/]/.test(e)?`https://${e}`:e)}async function Yr(e,t){for(let{url:n,fallback:r}of e)try{let e=await t(n);if(e!==null)return e}catch(e){if(r===`,`)throw e}return null}function Xr(e){let t=[];for(let n of e.matchAll(/([^,|]*)([,|]?)/g)){let e=n[1].trim();if(!e)continue;let r=n[2]===`|`?`|`:`,`;if(e===`off`||e===`direct`){t.push({url:e,fallback:r});break}t.push({url:Jr(e),fallback:r})}return t}function Zr(e){if(typeof e==`string`)return[{url:Rn(e),fallback:`,`}];let n=Xr(t.GOPROXY||`${Ln.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function Qr(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const $r=/* @__PURE__ */ new Map;function ei(e){return H($r,e,()=>{let t=``;for(let n of e.matchAll(/\[([^\]]*)\]|./gs)){let[e,r]=n;t+=r===void 0?e===`*`?`[^/]*`:e===`?`?`[^/]`:L(e):`[${r.replace(/\\/g,`\\\\`)}]`}return RegExp(`^${t}(?:/.*)?$`)})}function ti(e,t){return t.some(t=>ei(t).test(e))}function ni(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const ri=/\/v(\d+)$/,ii=/^gopkg\.in\/.*?\.v(\d+)$/;function ai(e){let t=ii.exec(e)??ri.exec(e);return t?Number.parseInt(t[1]):1}function oi(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(ri,``);return t<=1?n:`${n}/v${t}`}function si(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(Z(t));return Number.isNaN(n)||n===ai(e)?e:oi(e,n)}const ci=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,li=/^(\S+)\s+(v\S+)/,ui=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,di=e=>e.replace(/^"(.*)"$/,`$1`);function fi(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function pi(e){let t=ui.exec(e);if(!t)return null;let[n,r,i,a,o]=t;return{origModule:di(r),origVersion:i??``,targetModule:di(a),targetVersion:o??``}}function*mi(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){if(/^\)\s*(?:\/\/.*)?$/.test(e)){t=null;continue}yield{kind:t,value:e,lineNumber:n};continue}let i=ci.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function hi(e){return e.startsWith(`golang.org/x/`)}async function gi(e,t,n){let r=t,i=t&&!$n(t.Version)?t:null;for(let t=e+2;r;t++){let e=await n(t);if(!e)break;r=e,$n(e.Version)||(i=e)}return i??r}function _i(e,t,n,r){let i=n??r;return[{name:e,old:t,new:Z(i.Version),Time:i.Time,...i.path!==e&&{newPath:i.path},sameMajorNew:Z(r.Version),sameMajorTime:r.Time},null]}function vi(e){for(let{kind:t,value:n}of mi(e.split(/\r?\n/)))if(t===`module`)return di(n.split(/\s/,1)[0]);return``}function yi(e){let t={},n={},r={},i={},a={},o=/* @__PURE__ */ new Set,s=[];for(let i of mi(e.split(/\r?\n/))){if(i.kind===`tool`){s.push(di(i.value.split(/\s/,1)[0]));continue}if(i.kind===`exclude`){let e=li.exec(i.value);e&&(a[di(e[1])]??=[]).push(e[2]);continue}if(i.kind===`replace`){let e=pi(i.value);e&&(e.targetVersion&&!fi(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||o.add(e.origModule));continue}if(i.kind!==`require`)continue;let e=li.exec(i.value);e&&((i.value.includes(`// indirect`)?n:t)[di(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=[...Object.keys(n),...Object.keys(t)];for(let e of s){let r=``;for(let t of c)(e===t||e.startsWith(`${t}/`))&&t.length>r.length&&(r=t);let a=n[r]?n:t;a[r]&&(i[r]=a[r],delete a[r])}return{deps:t,indirect:n,replace:r,tool:i,...Object.keys(a).length&&{exclude:a}}}const bi=/* @__PURE__ */ new WeakMap;function xi(e,t,n){let r=t.includes(`|`)?t.slice(t.indexOf(`|`)+1):``,i=r.includes(`:`)?r.slice(r.indexOf(`:`)+1):r,a=H(bi,n,()=>/* @__PURE__ */ new Map);for(let t of i?[h(e,i,`go.mod`),h(e,`go.mod`)]:[h(e,`go.mod`)]){let e=_(t),n=H(a,e,()=>{try{return new Map(Object.entries(yi(C(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return/* @__PURE__ */ new Map}async function Si(e,n,r,i,a){let o=ai(e),s=async(e,n,a)=>{try{let o=a??`latest`,s=[`list`,`-m`,...a?[]:[`-versions`],`-json`,`${e}@${o}`],{stdout:c}=await i.execFile(`go`,s,{timeout:n,cwd:r,env:{...t,GOPROXY:`direct`}}),l=JSON.parse(c);return{Version:l.Version,Time:l.Time||``,path:e,Versions:l.Versions}}catch(t){let n=String(t?.stderr??``).trim().split(`
|
|
6
|
-
`)[0]||
|
|
7
|
-
`),
|
|
8
|
-
`)){let[e,a]=i.trim().split(/\s+/);if(e&&rt(e)&&!n.has(e)&&!(t&&Number.parseInt(
|
|
9
|
-
|
|
10
|
-
`)
|
|
11
|
-
`),t(r);else r=s===`\b`||s===``?r.slice(0,-1):r+s};e.on(`data`,i)})}async function ia(e,t){let n=(`isTTY`in e&&e.isTTY?await ra(e,`token for ${t}: `):await re(e)).trim();if(!n)throw Error(`token for ${t} is empty`);if(/[\s\p{C}]/u.test(n))throw Error(`token for ${t} contains invalid characters`);return n}async function aa(e,t,n=!0){let r=String,a=String,c=ea(e,`json`,`j`),l=e=>t.stdout(`${e}\n`),u=async(e,t)=>{if(e){let t=e.message??String(e);l(c?JSON.stringify({error:t}):r(t))}return i===`win32`&&Number(s.node.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),t??+!!e};try{if(ea(e,`help`,`h`))return t.stdout(`usage: updates [options] [files...]
|
|
1
|
+
import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o}from"node:process";import{parseArgs as s,promisify as c,stripVTControlCharacters as l,styleText as u}from"node:util";import{basename as d,dirname as f,isAbsolute as p,join as m,relative as h,resolve as g,sep as _}from"node:path";import{accessSync as v,existsSync as y,globSync as b,lstatSync as x,readFile as S,readFileSync as C,readdirSync as w,realpathSync as T,statSync as ee,truncateSync as te,writeFileSync as ne}from"node:fs";import{text as E}from"node:stream/consumers";import{pathToFileURL as re}from"node:url";import{access as ie,mkdir as ae,readFile as oe,readdir as se,realpath as ce,rename as le,stat as ue,unlink as de,utimes as fe,writeFile as D}from"node:fs/promises";import{AsyncLocalStorage as pe}from"node:async_hooks";import{Buffer as me}from"node:buffer";import{setTimeout as O}from"node:timers/promises";import{createHash as he}from"node:crypto";import{homedir as k}from"node:os";import{execFile as ge}from"node:child_process";function _e(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&&(e.charCodeAt(t)<48||e.charCodeAt(t)>57);)t++;r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const A=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,ve=/^(\s*\()([^)]*)(\)\s*)$/,ye=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,be=/* @__PURE__ */ new Set([`===`,`==`,`>=`,`~=`]),xe=/^v?\d[0-9a-z.!+_-]*$/i;function Se(e){let t=[];for(let n of e.split(`,`)){let e=ye.exec(n);if(!e)return null;let[r,i,a,o,s,c]=e;t.push({lead:i,op:a,sep:o,version:s,trail:c})}return t}function Ce(e){let t=e.indexOf(`;`),n=A.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[r,i,a,o,s,c,l]=n,u=ve.exec(l);return{name:a,extras:s,specifiers:Se(u?u[2]:l),marker:t===-1?``:e.slice(t),head:`${i}${a}${o}${s}${c}`,open:u?.[1]??``,close:u?.[3]??``}}function we({head:e,open:t,close:n,marker:r},i){return`${e}${t}${i.map(({lead:e,op:t,sep:n,version:r,trail:i})=>`${e}${t}${n}${r}${i}`).join(`,`)}${n}${r}`}function Te(e){return e.find(({op:e,version:t})=>be.has(e)&&xe.test(t))}function Ee(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=Ce(n);if(!e?.specifiers)continue;let r=Te(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const De=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],Oe=[`node`,`deno`,`bun`],j=[`.github`,`.gitea`,`.forgejo`],ke={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},Ae=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`],je=[`deps`,`indirect`,`replace`,`tool`],Me=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Ne=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function Pe(e,t){let n=[],r=(e,t,i,a,o)=>{if(t===e.length){a!==void 0&&n.push([o?JSON.stringify(i):i.join(`.`),a]);return}if(!a||typeof a!=`object`)return;let s=e[t],c=s===`*`?Array.isArray(a)?[]:Object.keys(a):[s];for(let n of c)r(e,t+1,[...i,n],a[n],o)};for(let n of e)r(n.split(`.`),0,[],t,n.startsWith(`target.*.`));return n}function Fe(e,t){if(typeof t==`boolean`)return t;for(let n of t)if(n.test(e))return!0;return!1}function Ie(e){return e.split(`,`).filter(Boolean)}function Le(){let e=/* @__PURE__ */ new Date;return(/* @__PURE__ */ new Date(e.getTime()-e.getTimezoneOffset()*6e4)).toISOString().replace(`T`,` `).slice(0,-1)}function Re(e,t){let n=Array(e[0].length).fill(0),r=Array(e.length);for(let i=0;i<e.length;i++){let a=e[i],o=Array(a.length);for(let e=0;e<a.length;e++){let r=t(a[e]);o[e]=r,r>n[e]&&(n[e]=r)}r[i]=o}let i=``;for(let t=0;t<e.length;t++){let a=e[t],o=a.length-1;for(let e=0;e<=o;e++)if(e>0&&(i+=` `),i+=a[e],e!==o){let a=n[e]-r[t][e];a>0&&(i+=` `.repeat(a))}t<e.length-1&&(i+=`
|
|
2
|
+
`)}return i}const ze={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function M(e){let[t,n,r]=/^(\d+(?:\.\d+)?)(?:\s*([a-z]))?$/i.exec(e)??[],i=r?ze[r.toLowerCase()]:1;if(!n||!i)throw Error(`Invalid cooldown value: ${e}`);return Number(n)*i}function Be(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function N(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(Math.max(n,1),r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}async function P(e){try{return await e}catch{return null}}const F=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Ve(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(F).join(`|`)}var He=class extends RegExp{#e;constructor(e,t,n){super(e,n),this.#e=t}test(e){return this.#e(e)}};function I(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++)e[i]===`(`||e[i]===`{`?n++:e[i]===`)`||e[i]===`}`?n--:(e[i]===`|`||e[i]===`,`)&&n===0&&(t.push(e.slice(r,i)),r=i+1);return t.push(e.slice(r)),t}function L(e,t,n,r){let i=0;for(let a=t;a<e.length;a++)if(e[a]===n)i++;else if(e[a]===r&&--i===0)return a;return-1}function Ue(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return I(e);let n=/^-?\d+$/.test(t[1])&&/^-?\d+$/.test(t[2]),r=n?Number(t[1]):t[1].codePointAt(0),i=n?Number(t[2]):t[2].codePointAt(0),a=Math.abs(Number(t[3])||1)*(r<=i?1:-1),o=[];for(;(a>0?r<=i:r>=i)&&o.length<1e3;)o.push(n?String(r):String.fromCodePoint(r)),r+=a;return o}function We(e){let t=``,n=[],r=e=>{t+=e,n.push({kind:`char`,matcher:RegExp(`^(?:${e})$`,`i`)})};for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`&&i+1<e.length)r(F(e[++i]));else if(a===`*`&&e[i+1]!==`(`){let r=e[i+1]===`*`;for(;e[i+1]===`*`;)i++;r&&e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`||`@+?*!`.includes(a)&&e[i+1]===`(`){let o=a===`{`,s=o?i:i+1,c=L(e,s,e[s],o?`}`:`)`);if(c===-1)r(F(a));else{let r=e.slice(s+1,c),l=(o?Ue(r):I(r)).map(We),u=l.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${u})(?:/|$))[^/]*`:`(?:${u})${o||a===`@`?``:a}`;let d=l.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:d}:{kind:`alternatives`,alternatives:d,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=c}}else r(F(a))}return{source:t,tokens:n}}function Ge(e,t){let n=/* @__PURE__ */ new WeakMap,r=(e,n,r)=>{if(!e.has(n))for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=B(n,e,()=>/* @__PURE__ */ new Map),s=o.get(a);if(s)return s;let c=/* @__PURE__ */ new Set([a]);o.set(a,c);for(let n of e){let e=/* @__PURE__ */ new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);for(let t of n.alternatives)for(let n of i(t,a))e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function R(e){if(e instanceof RegExp)return/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e;let t=/^(!?)\/(.*)\/(i?)$/.exec(e);if(t)try{let n=new RegExp(t[2],t[3]);return t[1]?new He(e,e=>!n.test(e)):n}catch{}let n=0;for(;e[n]===`!`&&e[n+1]!==`(`;)n++;let r=n%2==1,{source:i,tokens:a}=We(e.slice(n));return new He(`^${i}$`,e=>r!==Ge(a,e),`i`)}async function Ke(e,t){for(let n=e;;n=f(n)){let e=await t(n);if(e)return e;if(f(n)===n)return null}}function qe(e,t){for(let n=e;;n=f(n)){let e=t(n);if(e)return e;if(f(n)===n)return null}}function z(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function B(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function Je(e){let t=/* @__PURE__ */ new Map;return n=>B(t,n,()=>e(n))}const Ye=`0|[1-9]\\d*`,Xe=/^(?:0|[1-9]\d*)$/,Ze=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,Qe=RegExp(`^v?(${Ye})\\.(${Ye})\\.(${Ye})(?:-((?:${Ze})(?:\\.(?:${Ze}))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$`),$e=/* @__PURE__ */ new Map;function V(e){return typeof e==`string`?B($e,e,()=>{let t=Qe.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if(!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)&&Number(e)<2**53-1?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function et(e,t){let n=typeof e==`number`||/^\d+$/.test(e),r=typeof t==`number`||/^\d+$/.test(t);if(n&&r){let n=String(e),r=String(t);return n.length-r.length||(n<r?-1:+(n>r))}return n?-1:r?1:e<t?-1:+(e>t)}function tt(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function nt(e,t){let n=tt(e,t);if(n!==0)return n;let r=e.prerelease.length,i=t.prerelease.length;if(!r||!i)return i-r;for(let n=0;n<r&&n<i;n++){let r=et(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return r-i}function rt(e){return V(e)?.version??null}const it=/* @__PURE__ */ new Map,at=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function ot(e){return typeof e==`string`?B(it,e,()=>{let t=at.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function st(e,t){let n=V(e),r=V(t);return n&&r?ct(n,r):null}function ct(e,t){let n=nt(e,t);if(n===0)return null;let r=n>0?e:t,i=n>0?t:e,a=r.prerelease.length>0;if(i.prerelease.length>0&&!a){if(!i.patch&&!i.minor)return`major`;if(tt(i,r)===0)return i.minor&&!i.patch?`minor`:`patch`}let o=a?`pre`:``;return e.major===t.major?e.minor===t.minor?e.patch===t.patch?`prerelease`:`${o}patch`:`${o}minor`:`${o}major`}function lt(e,t){let n=V(e),r=V(t);return!!(n&&r&&nt(n,r)>0)}function ut(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=[];for(let e of t[1].split(`.`))if(/^[xX*]$/.test(e))n.push(null);else if(n.includes(null)||!Xe.test(e)||!Number.isSafeInteger(Number(e)))return null;else n.push(Number(e));for(;n.length<3;)n.push(null);let r=`${t[2]??``}${t[3]??``}`;return r&&(n.includes(null)||!V(`${n.join(`.`)}${r}`))?null:{major:n[0],minor:n[1],patch:n[2],suffix:r}}function dt(e,t,n,r,i=``){let a=V(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function H(...e){return e.every(e=>e!==null)?e:null}function ft(e,t){let n=nt(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!1}}function U(e,t,n){return dt(`<`,e,t,n,`-0`)}function pt(e,t){if(e.major===null)return t===`>`||t===`<`?H(U(0,0,0)):[];let{major:n,suffix:r}=e,i=e.minor??0,a=e.patch??0,[o,s]=e.minor===null?[n+1,0]:[n,i+1];if(t===`^`||t===`~`){let c=dt(`>=`,n,i,a,r);return t===`^`&&n!==0?H(c,U(n+1,0,0)):t===`^`&&e.patch!==null&&i===0?H(c,U(0,0,a+1)):H(c,U(o,s,0))}return e.patch===null?!t||t===`=`?H(dt(`>=`,n,i,0),U(o,s,0)):H(t===`>`?dt(`>=`,o,s,0):t===`<=`?U(o,s,0):t===`<`?U(n,i,0):dt(`>=`,n,i,0)):H(dt(t||`=`,n,i,a,r))}function mt(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t){let e=ut(t[1]),n=ut(t[2]),r=e&&pt(e,`>=`),i=n&&pt(n,`<=`);return r&&i?[...r,...i]:null}let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&ut(t[2]),i=n?pt(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const ht=/* @__PURE__ */ new Map;function gt(e){return B(ht,e,()=>{let t=e.split(`||`).map(e=>mt(e.trim()));return t.every(e=>e!==null)?t:null})}function _t(e,t){return t.some(t=>!ft(e,t))?!1:!e.prerelease.length||t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch)}function vt(e,t){return!!gt(t)?.some(t=>_t(e,t))}function W(e,t){let n=V(e);return!!(n&&vt(n,t))}function G(e){return typeof e==`string`&>(e)?e:null}const yt=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,bt=RegExp(`^${yt}$`,`i`),xt=RegExp(yt,`i`),St={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},Ct=/* @__PURE__ */ new Map;function K(e){return typeof e==`string`?B(Ct,e,()=>{let t=bt.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[St[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function wt(e){return K(e)??K(xt.exec(e)?.[0]??``)}const Tt=e=>!!e.pre||e.dev!==null;function Et(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function Dt(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?Et(e.local,t.local):a<o?-1:1}function Ot(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function kt(e,t){let n=Dt(e,t);if(n===0)return null;let r=Ot(e,t);return Tt(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const At=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,q={parse:V,parseRange:e=>V(At.exec(e)?.[0]??``)??V(ot(e)?.version??``),compare:nt,diff:ct,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:vt},jt=/* @__PURE__ */ new Map;function Mt(e){return B(jt,e,()=>{let t=e.trim().replace(/^v/i,``);return V(t)??V(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`))??(/^\d/.test(t)?V(ot(t)?.version??``):null)})}const Nt={...q,parse:Mt,parseRange:Mt,isRangePrerelease:e=>!!Mt(e)?.prerelease.length},Pt={parse:K,parseRange:wt,compare:Dt,diff:kt,isPrerelease:Tt,isRangePrerelease:e=>{let t=wt(e);return!!(t&&Tt(t))},satisfiesRange:({release:e},t)=>W(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Ft=/[A-Za-z_$]/,It=/[A-Za-z0-9_$]/;function Lt(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
|
|
3
|
+
`&&e[t]!==`\r`;)t++;return t}let n=e.indexOf(`*/`,t+2);if(n===-1)throw SyntaxError(`Unterminated block comment`);return n+2}function a(t){for(;t<r;){if(/\s/.test(e[t])){t++;continue}if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`)){t=i(t);continue}break}return t}for(;n<r;){let o=e[n];if(o===`"`){let i=n++;for(;n<r;){let t=e[n++];if(t===`\\`)n++;else if(t===`"`)break}t+=e.slice(i,n);continue}if(o===`'`){for(t+=`"`,n++;n<r;){let r=e[n];if(r===`\\`){e[n+1]===`'`?t+=`'`:e[n+1]!==`
|
|
4
|
+
`&&(t+=e.slice(n,n+2)),n+=2;continue}if(n++,r===`'`){t+=`"`;break}t+=r===`"`?`\\"`:r}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];r!==`}`&&r!==`]`&&(t+=o),n++;continue}if(Ft.test(o)){let i=n;for(;n<r&&It.test(e[n]);)n++;let o=e.slice(i,n);t+=e[a(n)]===`:`?`"${o}"`:o;continue}t+=o,n++}return JSON.parse(t)}const Rt={y:365.25,w:7,d:1,h:1/24,m:1/1440,s:1/86400,ms:1/864e5};function zt(e){if(typeof e!=`string`)return;let t=e.split(/(.*?[a-z]+)/).map(e=>e.trim()).filter(Boolean);if(!t.length)return;let n=0;for(let e of t){let t=e.replace(/^(\d+)\s*(?:months?|M)$/,(e,t)=>`${Number(t)*30} days`);if(t.length>100)return;let r=/^(-?\d*\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(!r)return;let i=(r[2]??`ms`).toLowerCase();n+=Number(r[1])*Rt[/^m(?:s|il)/.test(i)?`ms`:i[0]]}return n}const Bt=/^(?:(?:match|exclude)(?:Package|Dep)(?:Names|Patterns|Prefixes)|package(?:Name|Pattern)s?|excludedPackageNames)$/;function Vt(e,t){let n=e.startsWith(`exclude`)?`!`:``;return e.endsWith(`Prefixes`)?`${n}${t}{/,}**`:/Patterns?$/.test(e)?t===`*`&&!n&&!e.includes(`Dep`)?`*`:`${n}/${t}/`:`${n}${t}`}const Ht=/* @__PURE__ */ new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function Ut(e){let t={};for(let[n,r]of Object.entries(e)){if(!Bt.test(n)){if(n.startsWith(`match`)||n.startsWith(`exclude`)||Ht.has(n))return;continue}let e=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(e))return;let i=t[n.includes(`Dep`)?`Dep`:`Package`]??=[];for(let t of e){if(typeof t!=`string`||!t)return;i.push(Vt(n,t))}}let n={},r=[];for(let e of[`Package`,`Dep`]){if(t[e]?.length===0)return;let i=[],a=[];for(let n of t[e]??[]){let e=n.startsWith(`!`),t=e?n.slice(1):n,o=Wt(t);(e?a:i).push(o??t),!e&&!o&&!/[*?[\]{}!()|+]/.test(t)&&r.push(t)}i.length&&(n[`match${e}Names`]=i),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function Wt(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Gt=/* @__PURE__ */ new Map,Kt=e=>B(Gt,e,()=>R(e)),qt=(e,t,n)=>(!t?.length||t.some(t=>Kt(t).test(e)))&&(!n?.length||n.every(t=>!Kt(t).test(e)));function Jt(e,t,n){return qt(t,e.matchPackageNames,e.excludePackageNames)&&qt(n,e.matchDepNames,e.excludeDepNames)}var Yt=class extends RegExp{#e;constructor(e,t){super(e),this.#e=t}testNames(e,t){return this.#e(e,t)}test(e){return this.testNames(e,e)}};function Xt(e,t,n,r){return e instanceof Yt?e.testNames(n,r):e.test(t)}function Zt(e,t){let n=[],r={},i=/* @__PURE__ */ new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=Ut(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o},l=t?zt(r.minimumReleaseAge):void 0;if(l!==void 0&&(c.cooldownDays=l),typeof r.allowedVersions==`string`){let e=G(r.allowedVersions);if(!e&&!Wt(r.allowedVersions))throw Error(`Invalid renovate allowedVersions: ${r.allowedVersions}`);if(c.allowedVersions=r.allowedVersions,e)for(let e of s)i.add(e)}(c.allowedVersions||c.cooldownDays!==void 0)&&a.push(c)}for(let e of i){let t=a.findLast(t=>t.allowedVersions!==void 0&&Jt(t,e,e))?.allowedVersions;t&&G(t)&&(r[e]=t)}return{disabled:n.some(e=>!e.enabled)?new Yt(`renovate-package-rules`,(e,t)=>n.findLast(n=>Jt(n.matchers,e,t))?.enabled===!1):void 0,pin:r,versionRules:a}}function Qt(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={},r=t.cooldown?zt(e.minimumReleaseAge):void 0;r&&r>0&&(n.cooldown=r);let i=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Yt(`^${F(e)}$`,(t,n)=>n===e)):[],{disabled:a,pin:o,versionRules:s}=Zt(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),c=a?[...i,a]:i;return c.length&&(n.exclude=c),Object.keys(o).length&&(n.pin=o,n.pinNoDowngrade=!0),s.length&&(n.renovateVersionRules=s),n}async function $t(e,t={}){let n=await Ke(e,async e=>{for(let t of[`renovate.json`,`renovate.jsonc`,`renovate.json5`]){let n=m(e,t),r=await P(oe(n,`utf8`));if(r===null)continue;let i;try{i=Lt(r)}catch(e){throw Error(`Unable to parse renovate config ${n}: ${e.message}`)}if(i&&typeof i==`object`)return i}return null});return n?Qt(n,t):{}}const en=Symbol(`cliBaseConfig`),tn={"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},"include-paths":{short:`N`,type:`string`,multiple:!0},"exclude-paths":{short:`X`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},login:{short:`L`,type:`string`},logout:{short:`O`,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-cache":{short:`x`,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`}},nn=/* @__PURE__ */ new Set([`greatest`,`prerelease`,`release`,`patch`,`minor`,`allow-downgrade`]);function rn(e){return Array.isArray(e)?!e.length||e.includes(!0)||new Set(sn(e)):e===!0}function an(e){for(let[t,{short:n}]of Object.entries(tn))if(t===e||n===e)return t;return``}function on(e){return new Set(e.map(R))}function sn(e,t=Ie){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(t):[]}function cn(e){for(let[t,n]of Object.entries(e??{}))if(!G(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function ln(e){let t={};for(let n of Array.isArray(e)?e:[e]){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<1)throw Error(`Invalid pin: ${n}, expected <dep>=<range>`);t[n.slice(0,e)]=n.slice(e+1)}return cn(t),t}function un(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:on(e)}const dn=Je(e=>Ke(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=m(e,n);try{await ie(r)}catch(e){if(e.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e.message}`)}try{return(await import(re(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null})),fn=Je(async e=>{let t=await dn(e)??{},n=await $t(e,t.inherit?.renovate),r={...n,...t};return n.pin&&(r.pin={...n.pin,...t.pin},r.pinNoDowngrade=Object.keys(n.pin).filter(e=>!t.pin?.[e])),n.overrides?.length&&(r.overrides=[...n.overrides,...t.overrides??[]]),cn(r.pin),r});function pn(e){return new Promise((t,n)=>{S(e,`utf8`,(e,r)=>e?n(e):t(r))})}const mn=m(i===`win32`?t.LOCALAPPDATA||m(k(),`AppData`,`Local`):t.XDG_CACHE_HOME||m(k(),`.cache`),`updates`),hn=/* @__PURE__ */ new Map,gn=(e,t)=>m(t,`${he(`sha256`).update(e).digest(`hex`)}.cache`),_n=6048e5;async function vn(e,t=mn){try{let n=gn(e,t);if(Date.now()-(await ue(n)).mtimeMs>_n)return await de(n),null;let r=await pn(n),i=r.indexOf(`
|
|
5
|
+
`),a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=/* @__PURE__ */ new Date;return await P(fe(n,s,s)),{etag:a,body:o}}catch{return null}}const yn=/* @__PURE__ */ new Set;let bn=0;function xn(e,t,n,i=mn){let a=(async()=>{let a;try{await B(hn,i,()=>ae(i,{recursive:!0}));let o=gn(e,i);a=`${o}.${r}-${bn++}.tmp`,await D(a,`${t}\n${n}`),await le(a,o)}catch{a?await P(de(a)):hn.delete(i)}})();yn.add(a),(async()=>{await a,yn.delete(a)})()}async function Sn(e=mn,t=4096){for(;yn.size;)await Promise.all(yn);try{let n=(await se(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=m(e,t);try{return{path:n,mtime:(await ue(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-_n;await Promise.all(r.filter((e,n)=>n>=t||e.mtime<i).map(e=>P(de(e.path))))}catch{}}const Cn=/* @__PURE__ */ new Map;function wn(){let e=t.XDG_CONFIG_HOME||(i===`win32`?t.APPDATA||m(k(),`AppData`,`Roaming`):m(k(),`.config`));return m(e,`updates`,`tokens.json`)}async function Tn(e){let t;try{t=await oe(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return{};throw e}try{return JSON.parse(t)}catch(t){throw Error(`Could not parse ${e}: ${t.message}`)}}function En(){let e=wn();return Cn.has(e)||Cn.set(e,Tn(e)),Cn.get(e)}async function Dn(e){let t=wn();await ae(f(t),{recursive:!0,mode:448}),await D(`${t}.tmp`,`${JSON.stringify(e,null,2)}\n`,{mode:384}),await le(`${t}.tmp`,t),Cn.set(t,Promise.resolve(e))}async function On(e,t){await Dn({...await En(),[e]:t})}async function kn(e){let t={...await En()};return Object.hasOwn(t,e)?(delete t[e],await Dn(t),!0):!1}var An=`19.0.2`;function jn(e,t,n){return!t||!n||(n-Date.parse(e||``))/864e5>=t}const Mn=An,Nn=`https://api.github.com`,J={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:Nn,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},Y=e=>e[0]===`v`?e.substring(1):e,Pn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function Fn(e,t){return{headers:{"user-agent":`updates/${Mn}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const In=/* @__PURE__ */ new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function Ln(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&In.has(t)}async function Rn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=Ln(t),n}}async function zn(e,t,n={}){let r=Jn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim()??``,s=/^\d+$/.test(o)?Number(o)*1e3:Math.max(Date.parse(o)-Date.now(),0),c=Number.isNaN(s)?null:s,l=e.fetchTimeout,u=a.status>=500&&a.status<600?c!==null&&c<=l?c:0:(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await O(u)}catch(e){if(i>=2||!e?.transient)throw e}}const Bn=e=>t=>JSON.stringify(e(JSON.parse(t))),Vn=/* @__PURE__ */ new WeakMap;function Hn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()),n.body??null,r?.toString()]),s=B(Vn,t,()=>/* @__PURE__ */ new Map);return B(s,o,async()=>{try{let o=t.noCache?null:await vn(i);if(a&&o)return{body:o.body};let s=o?{...n.headers,"if-none-match":o.etag}:n.headers,c=await zn(t,e,{...n,headers:s});if(c.status===304&&o)return{body:o.body,res:c};if(!c.ok)return{res:c};let l=await c.text();if(r&&l.length>=16384)try{l=r(l)}catch{}let u=a?`immutable`:c.headers.get(`etag`);return u&&!t.noCache&&xn(i,u,l),{body:l,res:c}}finally{s.delete(o)}})}function Un(e,t,n={},r,i=e){return Hn(e,t,n,r,i,!1)}function Wn(e,t,n={},r){return Hn(e,t,n,r,e,!0)}async function X(e,t,n,r,i=!0){let a=B(e,t,()=>/* @__PURE__ */ new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const Gn=new pe,Kn=e=>Math.max(e.concurrency||50,1),qn=/* @__PURE__ */ new WeakMap;function Jn(e){return B(qn,e,()=>{let t=Kn(e),n=0,r=0,i=[];return async e=>{if(Gn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await Gn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function Yn(e,t=q){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const Xn=/* @__PURE__ */ new WeakMap,Zn=/* @__PURE__ */ new WeakMap;function Qn(e,t,n,r,i=q){let a=t||i.isRangePrerelease(e);return{effectiveSemvers:a?B(t?Xn:Zn,r,()=>{let e=new Set(r).add(`prerelease`);if(t)for(let t of r)e.add(`pre${t}`);return e}):r,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function $n(e){return ot(e)?.version??``}function er(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=q}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=Qn(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),S=!!u&&(!!y||m.isPrerelease(h)),C=e?.time,w=!!(d&&f),T=null;for(let e of t){let t=m.parse(e);if(!t||_(t))continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||T&&m.compare(t,T)<=0||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||w&&!jn(p?p(e):C?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;i&&g.has(i)&&(T=t)}return T?.raw??T?.version??null}function tr(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function nr(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?Pt:q,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;let n=e=>!(!e||e.yanked);m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(n)),g=e=>t[e].reduce((e,t)=>{let r=t?.upload_time_iso_8601,i=n(t)&&typeof r==`string`?Date.parse(r):NaN;return i<e.time?{date:r,time:i}:e},{time:1/0}).date,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[$n(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=$n(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=Qn(p,i,a,o,f),m=e.old||p,h=f.parseRange(m),g=!!d||!!s&&!c&&!!h&&!f.satisfiesRange(h,s),_=(e,i)=>{let a=$n(e),o=f.parse(e),c=tr(e);if(!a||!c&&r(o))return!1;let d=st(m,e)??st(t,a),p=c?d===`prerelease`?`patch`:d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0?!1:jn(i,l,u)&&(!s||W(a,s))};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return er(e,m,{range:p,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:h,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:g,versioning:f})}function rr(e){try{return new URL(e).host}catch{return``}}let ir;function ar(){return ir??=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})()}const or=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`],sr=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function cr(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(/\r?\n/)){let e=sr.exec(n);if(!e)continue;let r=rr(e[1]),i=me.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let lr;function ur(){return lr??=(async()=>{try{let{stdout:e}=await(await ar())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return cr(e)}catch{return/* @__PURE__ */ new Map}})()}const dr=/* @__PURE__ */ new Map,fr=/* @__PURE__ */ new Set;function pr(e){return e===`api.github.com`?`github.com`:e}async function mr(e,n){if(!e)return[];let r=Ie(t.UPDATES_FORGE_TOKENS??``).find(t=>t.lastIndexOf(`:`)===e.length&&t.startsWith(e))?.slice(e.length+1);if(r)return[r];let i=pr(e),a=(await En())[i],o=i===`github.com`||e===rr(n)?or.map(e=>t[e]):[],s=(await ur()).get(i);return Array.from(new Set([a,...o,s].filter(Boolean)))}async function hr(e,t,n=Nn){let r=await Rn(e===`github.com`?`${n}/user`:`https://${e}/api/v1/user`,{...Fn(`Bearer`,t),signal:AbortSignal.timeout(5e3)});if(r.status===401)throw Error(`token for ${e} was rejected`);if(!r.ok)throw Error(`token verification for ${e} failed with status ${r.status}`);return(await r.json()).login}var gr=class extends Error{name=`ForgeError`;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),Object.assign(this,{kind:e,host:t,status:r,reset:i})}};async function _r(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function vr(e,t,n,r){if(e.status>=500)throw new gr(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await _r(e);if(i===null)return e;throw new gr(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS or run "updates --login ${pr(n)}"`}${i?`, resets at ${(/* @__PURE__ */ new Date(i*1e3)).toISOString()}`:``}`,{status:e.status,reset:i})}async function yr(e,t,n){let r=rr(e),i=(await mr(r,t.forgeApiUrl)).filter(e=>!fr.has(e)),a=async a=>{let o=Fn(`Bearer`,a);return o.headers={...o.headers,...n},vr(await zn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=dr.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return dr.set(r,t),n;if(n.status===401&&!fr.has(t)){fr.add(t);let e=pr(r);(await En())[e]===t&&console.error(`stored token for ${e} was rejected, run "updates --login ${e}" to replace it`)}t===e&&dr.delete(r)}return await a()}catch(e){throw e instanceof gr?e:new gr(`network`,r,e?.message??String(e),{cause:e})}}function br(e,t){let n=q.parse(Y(t));if(!n)return null;let r=``;for(let t of e){let e=q.parse(Y(t));e&&q.compare(e,n)>0&&(r=t,n=e)}return r||null}function xr(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,`https://$1.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Sr=/^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$/i,Cr=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function wr(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Tr(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function Er(e,t){let n=t?`cached Forge`:`Forge`;if(!Array.isArray(e))throw TypeError(`Invalid ${n} tags response`);return e.map(e=>{let r=t?typeof e?.commitSha==`string`&&(e.isStable===void 0||typeof e.isStable==`boolean`):e?.commit?.sha===void 0||typeof e.commit.sha==`string`;if(typeof e?.name!=`string`||!r)throw TypeError(`Invalid ${n} tag entry`);return t?e:{name:e.name,commitSha:e.commit?.sha||``}})}const Dr=/* @__PURE__ */ new WeakMap;function Or(e,t,n,r){let i=`${n}${e}`;return X(Dr,t,i,async()=>{let n=t.noCache?null:await vn(e),a=await yr(e,t,n?{"if-none-match":n.etag}:void 0);if(a.status===304&&n)return n.body;if(!a.ok)return Dr.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&xn(e,s,o),o})}function kr(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r}})}async function Ar(e,t,n,r){let i=await Or(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link}}function jr(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function Mr(e,t,n,r,i){let a=await Ar(e(1),t,n,r);if(!a)return;let o=jr(a.link),s=Kn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>Ar(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function Nr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await Mr(r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,r,`tags`,Er,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function Pr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return Nr(e,t,n,r,i);let o=/* @__PURE__ */ new Map,[s,c]=await Promise.allSettled([Nr(e,t,n,r,i),Mr(e=>`${Nn}/repos/${t}/${n}/releases?per_page=100&page=${e}`,r,`releases`,kr,e=>{for(let t of e)o.set(t.name,t.isStable);return!1})]);if(s.status===`rejected`)throw s.reason;if(c.status===`rejected`&&!(c.reason instanceof gr))throw c.reason;if(c.status===`fulfilled`)for(let e of s.value)o.has(e.name)&&(e.isStable=o.get(e.name));return s.value}function Fr(e,t,n,r){throw Error(e?.status&&e.statusText?`Received ${e.status} ${e.statusText} from ${t}`:`Unable to fetch ${n} from ${r}`)}function Ir(e,t,n=``){let r=Y(e),i=Y(t).split(`.`).length,a=i>=3?r:Array.from({length:i},(e,t)=>r.split(`.`)[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${a}${n}`}function Lr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const Rr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function zr({repository:e,homepage:t,info:n},r,i){if(r===`https://npm.pkg.github.com`)return`https://github.com/${i.replace(/^@/,``)}`;if(n){let t=Rr.find(e=>n.project_urls?.[e]);e=t?n.project_urls[t]:e??`https://pypi.org/project/${i}/`}if(!e)return t||``;let a=xr(typeof e==`string`?e:e.url);return a&&typeof e!=`string`&&e.directory?`${a}/${Lr(a)}/${e.directory}`:a||t||``}function Br(e){let t=[];for(let n of e.matchAll(/([^,|]*)([,|]?)/g)){let e=n[1].trim();if(!e)continue;let r=n[2]===`|`?`|`:`,`;if(e===`off`||e===`direct`){t.push({url:e,fallback:r});break}let i=e.includes(`:/`)||e.startsWith(`/`);t.push({url:Pn(!i&&/[.:/]/.test(e)?`https://${e}`:e),fallback:r})}return t}function Vr(e){if(typeof e==`string`)return[{url:Pn(e),fallback:`,`}];let n=Br(t.GOPROXY||`${J.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function Hr(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Ur=/* @__PURE__ */ new Map;function Wr(e,t){return t.some(t=>B(Ur,t,()=>{let e=``;for(let[n,r]of t.matchAll(/\[([^\]]*)\]|./gs))e+=r===void 0?n===`*`?`[^/]*`:n===`?`?`[^/]`:F(n):`[${r.replace(/\\/g,`\\\\`)}]`;return RegExp(`^${e}(?:/.*)?$`)}).test(e))}function Gr(e,t,n){return Wr(e,n)?[{url:`direct`,fallback:`,`}]:t.goProxyChain}function Kr(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const qr=/\/v(\d+)$/,Jr=/^gopkg\.in\/.*?\.v(\d+)$/;function Yr(e,t=1){let n=Jr.exec(e)??qr.exec(e);return n?Number.parseInt(n[1]):t}function Xr(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(qr,``);return t<=1?n:`${n}/v${t}`}function Zr(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(Y(t));return Number.isNaN(n)||n===Yr(e)?e:Xr(e,n)}const Qr=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,$r=/^(\S+)\s+(v\S+)/,ei=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Z=e=>e.replace(/^"(.*)"$/,`$1`),ti=/^v(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*))*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?$/i,ni=e=>ti.test(e)&&!e.endsWith(`-00010101000000-000000000000`),ri=e=>e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`);function ii(e){let t=ei.exec(e);return t&&{origModule:Z(t[1]),origVersion:t[2]??``,targetModule:Z(t[3]),targetVersion:t[4]??``}}function*ai(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){/^\)\s*(?:\/\/.*)?$/.test(e)?t=null:yield{kind:t,value:e,lineNumber:n};continue}let i=Qr.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function oi(e){for(let{kind:t,value:n}of ai(e.split(/\r?\n/)))if(t===`module`)return Z(n.split(/\s/,1)[0]);return``}function si(e){let t={},n={},r={},i={},a={},o=/* @__PURE__ */ new Set,s=[];for(let{kind:i,value:c}of ai(e.split(/\r?\n/)))if(i===`tool`)s.push(Z(c.split(/\s/,1)[0]));else if(i===`replace`){let e=ii(c);e&&ni(e.targetVersion)&&!ri(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e&&!e.origVersion&&o.add(e.origModule)}else if(i===`exclude`||i===`require`){let e=$r.exec(c);if(!e)continue;i===`exclude`?(a[Z(e[1])]??=[]).push(e[2]):ni(e[2])&&((c.includes(`// indirect`)?n:t)[Z(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=[...Object.keys(n),...Object.keys(t)];for(let e of s){let r=``;for(let t of c)(e===t||e.startsWith(`${t}/`))&&t.length>r.length&&(r=t);let a=n[r]?n:t;a[r]&&(i[r]=a[r],delete a[r])}return{deps:t,indirect:n,replace:r,tool:i,...Object.keys(a).length&&{exclude:a}}}const ci=/* @__PURE__ */ new WeakMap;function li(e,t,n){let r=/\|(?:[^:]*:)?(.*)/s.exec(t)?.[1]??``,i=B(ci,n,()=>/* @__PURE__ */ new Map);for(let t of r?[m(e,r,`go.mod`),m(e,`go.mod`)]:[m(e,`go.mod`)]){let e=g(t),n=B(i,e,()=>{try{return new Map(Object.entries(si(C(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return/* @__PURE__ */ new Map}async function ui(e,t,n){let r=Yr(e),i=t=>P(n(Xr(e,t),`probe`)),[a,o]=await Promise.all([n(e,`primary`),e.startsWith(`golang.org/x/`)?null:i(r+1)]);if(!a)return null;let s=[],c=o;for(let e=r+2;c;e++)s.push(c),c=await i(e);let l=s.findLast(e=>!Yn(e.Version))??s.at(-1)??a;return[{name:e,old:t,new:Y(l.Version),Time:l.Time,...l.path!==e&&{newPath:l.path},sameMajorNew:Y(a.Version),sameMajorTime:a.Time},null]}function di(e,n,r,i,a){let o=async(e,n,a)=>{let o=`${e}@${a??`latest`}`;try{let s=[`list`,`-m`,...a?[]:[`-versions`],`-json`,o],{stdout:c}=await i.execFile(`go`,s,{timeout:n,cwd:r,env:{...t,GOPROXY:`direct`}}),l=JSON.parse(c);return{Version:l.Version,Time:l.Time||``,path:e,Versions:l.Versions}}catch(e){let t=String(e?.stderr??``).trim().split(`
|
|
6
|
+
`)[0]||e?.message||String(e);throw Error(`go list -m ${o} failed: ${t}`)}};return ui(e,n,async(e,t)=>{let n=t===`probe`?i.goProbeTimeout:i.fetchTimeout,r=await o(e,n),s=a.get(e);if(!s?.has(r.Version))return r;let c=_i((r.Versions??[]).join(`
|
|
7
|
+
`),Yr(e,0),s);if(!c)throw Error(`No non-excluded versions found for ${e}`);return o(e,n,c.Version)})}const fi={"accept-encoding":`gzip, deflate, br`};async function pi(e,t,n,r,i){let a=await(t===`primary`?zn(e,n,{headers:fi}):e.doFetch(n,{signal:AbortSignal.timeout(e.goProbeTimeout),headers:fi}));if(a.ok)return a;if(a.status===404||a.status===410)return null;Fr(a,n,r,i)}async function mi(e,t,n){try{let t=await e.json();if(t?.Version)return{Version:t.Version,Time:t.Time||``,path:n}}catch{}throw Error(`Invalid response from ${t}`)}const hi=/* @__PURE__ */ new WeakMap;function gi(e,t,n,r){return X(hi,e,`latest${t}${n}/${r}`,async()=>{let i=`${n}/${Kr(r)}/@latest`,a=await pi(e,t,i,r,n);return a&&mi(a,i,r)})}function _i(e,t=0,n=/* @__PURE__ */ new Set){let r=null;for(let i of e.split(`
|
|
8
|
+
`)){let[e,a]=i.trim().split(/\s+/);if(e&&rt(e)&&!n.has(e)&&!(t&&Number.parseInt(Y(e))!==t)){if(r){let t=Yn(e);if(t===Yn(r.Version)?!lt(e,r.Version):t)continue}r={Version:e,Time:a??``}}}return r}function vi(e,t,n,r,i=/* @__PURE__ */ new Set){let a=`list${t}${n}/${r}${Array.from(i).sort().join(`\0`)}`;return X(hi,e,a,async()=>{let a=Kr(r),o=await pi(e,t,`${n}/${a}/@v/list`,r,n),s=o&&_i(await o.text(),Yr(r,0),i);if(!s)return null;if(s.Time)return{...s,path:r};let c=`${n}/${a}/@v/${Kr(s.Version)}.info`;try{let i=await pi(e,t,c,r,n);if(i)return await mi(i,c,r)}catch{}return{...s,path:r}})}function yi(e,t,n,r,i){let a=gi(r,`primary`,e,t);return ui(t,n,async(t,n)=>{let[o,s]=await Promise.all([gi(r,n,e,t),a]),c=i.get(t);return o&&!c?.has(o.Version)?o:!o&&s?null:vi(r,n,e,t,c)})}async function bi(e,t,n,r,i,a){let o=li(r,t,i);for(let{url:t,fallback:s}of Gr(e,i,a))try{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);let a=t===`direct`?await di(e,n,r,i,o):await yi(t,e,n,i,o);if(a)return a}catch(e){if(s===`,`)throw e}throw Error(`Unable to find ${e} on any GOPROXY entry`)}const xi=e=>`("?)${F(e)}\\2`,Si=(e,t,n)=>RegExp(`(${e})${xi(t)}(\\s+)v${n}(?=\\s*(?://.*)?$)`);function Ci(e,t){let n={},r=Object.entries(t);if(!r.length)return[e,n];let i=e.match(/\r?\n/g)??[],a=e.split(/\r?\n/),o=(e=[],t,n)=>{let r=!1;for(let i of e){let e=a[i];a[i]=e.replace(t,n),r||=a[i]!==e}return r},s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map,l=/* @__PURE__ */ new Map;for(let{kind:e,value:t,lineNumber:n}of ai(a))if(e===`require`){let e=$r.exec(t);e&&z(s,Z(e[1]),n)}else if(e===`replace`){let e=ii(t);e&&z(c,e.targetModule,{...e,lineNumber:n})}else if(e===`tool`){let e=Z(t.split(/\s/,1)[0]);for(;e;)z(l,e,n),e=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}for(let[e,{old:t,oldOrig:i,new:a}]of r){let[r,u]=e.split(`\0`),d=i||t,f=Zr(u,a),p=`$1$2${f}$2$3v${a}`,m=F(d);if(r===`replace`){m=null;for(let{targetVersion:e,origModule:t,origVersion:n,lineNumber:r}of c.get(u)??[])Y(e)===d&&(o([r],Si(`=>\\s+`,u,F(d)),p),!(f===u||t!==u||n)&&(o([r],RegExp(`(^\\s*(?:replace\\s+)?)${xi(u)}(?=\\s+=>)`),`$1$2${f}$2`),m=`\\S+`))}m!==null&&o(s.get(u),Si(`^\\s*(?:require\\s+)?`,u,m),p)&&f!==u&&(n[u]=f),r===`tool`&&f!==u&&o(l.get(u),RegExp(`(^\\s*(?:tool\\s+)?)("?)${F(u)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),`$1$2${f}$3$2`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const wi=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function Ti(e,t){let n=Object.entries(t).sort(([e],[t])=>t.length-e.length);if(!n.length)return e;let r=[],i=(e,t)=>{if(!`"'\``.includes(e[0]))return!1;if(e[0]===`'`)return!0;let i=e.slice(1,-1),a=n.find(([e])=>i===e||i.startsWith(`${e}/`));return a&&r.push({start:t+1,end:t+e.length-1,value:`${a[1]}${i.slice(a[0].length)}`}),!0},a=!1,o=0;for(let t of e.matchAll(wi)){let e=t[0];if(!(/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`))){if(a){e===`)`?a=!1:i(e,t.index);continue}e===`import`?o=2:o&&e===`(`?(a=!0,o=0):o&&(i(e,t.index)||--o===0)&&(o=0)}}let s=e;for(let e of r.reverse())s=`${s.slice(0,e.start)}${e.value}${s.slice(e.end)}`;return s}const Ei=e=>{let t=d(e);return t===`vendor`||t===`testdata`||t[0]===`_`};function Di(e,t,n){if(!Object.keys(t).length)return;let r=/* @__PURE__ */ new Map,i=t=>t.length>e.length&&B(r,t,()=>y(m(t,`go.mod`))||i(f(t)));for(let r of b(`**/*.go`,{cwd:e,exclude:Ei})){let a=m(e,r);if(i(f(a)))continue;let o=C(a,`utf8`),s=Ti(o,t);s!==o&&n(a,s)}}function Oi(e){let t=[],n={};for(let{kind:r,value:i}of ai(e.split(/\r?\n/)))if(r===`use`)t.push(i.split(/\s/,1)[0]);else if(r===`replace`){let e=ii(i);e&&ni(e.targetVersion)&&!ri(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function ki(e,t){try{return T(m(T(g(e)),t,`go.mod`))}catch{return null}}function Ai(e){let t=`https://${ji(e)}`,n=new URL(t),[r,i,a,...o]=n.pathname.split(`/`);return o.length?(n.pathname=`/${i}/${a}/${Lr(t)}/${o.join(`/`)}`,n.href):t}function ji(e){return qr.test(e)?f(e):e}function Mi(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function Ni(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function Pi(e){return e.replace(/-(.)/g,(e,t)=>t.toUpperCase())}function Fi(t){if(!t)return e();let n=g(t);try{if(ee(n).isDirectory())return n}catch{}return f(n)}function Ii(e){let{tokens:t}=s({args:e,strict:!1,allowPositionals:!0,tokens:!0,options:tn}),n=Object.create(null),r=/* @__PURE__ */ new Set,i=(e,t)=>{tn[e]?.multiple?(n[e]??=[]).push(t):n[e]=t};for(let[e,a]of t.entries()){if(a.kind!==`option`)continue;if(!an(a.name))throw Error(`Unknown option: ${a.rawName}`);if(tn[a.name]?.type===`string`&&a.value===void 0&&!nn.has(a.name))throw Error(`Missing value for --${a.name}`);if(a.inlineValue||!a.value?.startsWith(`-`)){i(a.name,a.value??!0);continue}let o=a.value.startsWith(`--`),s=t[e+1],c=s?.kind===`positional`?s.value:void 0,l=[],u=a.value.substring(o?2:1),d=!1;for(let[e,t]of(o?[u]:u.split(``)).entries()){let n=an(t);if(!n){l.length=0;break}if(tn[n].type===`boolean`){l.push({key:n,value:!0});continue}let r=o?``:u.substring(e+1);d=!r&&c!==void 0,l.push({key:n,value:r||!d||c});break}if(!l.length){i(a.name,a.value);continue}!tn[a.name]?.multiple||nn.has(a.name)?i(a.name,!0):n[a.name]??=[],d&&r.add(e+1);for(let{key:e,value:t}of l)i(e,t)}return{args:n,positionals:t.flatMap((e,t)=>e.kind===`positional`&&!r.has(t)?[e.value]:[])}}function Li(e,t){let n={},r=(e,t)=>{t.length&&(n[e]=t)};for(let t of[`json`,`verbose`,`no-cache`,`update`,`indirect`,`error-on-outdated`,`error-on-unchanged`])e[t]&&(n[Pi(t)]=!0);e.color&&(n.color=!0,n.noColor=!1),e[`no-color`]&&(n.color=!1,n.noColor=!0),typeof e.timeout==`string`&&(n.timeout=Be(e.timeout,`timeout`)),typeof e.sockets==`string`&&(n.sockets=Be(e.sockets,`sockets`));for(let t of[`registry`,`cooldown`,`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(n[t]=e[t]);for(let t of[`include`,`exclude`])r(t,sn(e[t]).map(Ni));r(`types`,sn(e.types));let i=ln(e.pin);Object.keys(i).length&&(n.pin=i),r(`modes`,sn(e.modes));for(let t of nn){let r=rn(e[t]);r!==!1&&(n[Pi(t)]=r===!0||Array.from(r,Ni))}r(`files`,t);for(let t of[`include-paths`,`exclude-paths`])r(Pi(t),sn(e[t],I));return n}async function Ri(e,t){let n=[...sn(e.file),...t],r=await fn(Fi(n[0])),i=Li(e,n);return Object.defineProperty({...r,pin:void 0,...i},en,{value:{cliKeys:Object.keys(i)}})}function zi(e,t,n){return e.some(e=>e===`--${t}`||/^-[^-]/.test(e)&&e.includes(n)&&Array.from(e.slice(1,e.indexOf(n))).every(e=>tn[an(e)]?.type!==`string`))}async function Bi(e,t){let n=sn(e.file),r=Fi(n[0]??t[0]),i=await dn(r)??{},{prewarmOrigins:a}=await import(`./prewarm.js`);for(let t of a(r,{...i,...Li(e,n)})){let e=t.endsWith(`/rate_limit`)?`GET`:`HEAD`;(async()=>{try{await(await fetch(t,{method:e})).arrayBuffer()}catch{}})()}}function Vi(e,t){if(typeof e!=`string`)throw Error(`Missing value for --${t}`);return pr(new URL(e.includes(`://`)?e:`https://${e}`).host)}function Hi(e,t){return e.setEncoding(`utf8`),e.setRawMode(!0),a.write(t),new Promise(t=>{let r=``,i=o=>{for(let s of o){if(!`\r
|
|
9
|
+
`.includes(s)){r=s===`\b`||s===``?r.slice(0,-1):r+s;continue}return e.off(`data`,i),e.setRawMode(!1),e.pause(),a.write(`
|
|
10
|
+
`),(s===``||s===``)&&n(130),t(r)}};e.on(`data`,i)})}async function Ui(e,t){let n=(`isTTY`in e&&e.isTTY?await Hi(e,`token for ${t}: `):await E(e)).trim();if(!n)throw Error(`token for ${t} is empty`);if(/[\s\p{C}]/u.test(n))throw Error(`token for ${t} contains invalid characters`);return n}async function Wi(e,t,n=!0){let r=String,i=String,a=zi(e,`json`,`j`),s=e=>t.stdout(`${e}\n`);try{if(zi(e,`help`,`h`))return t.stdout(`usage: updates [options] [files...]
|
|
12
11
|
|
|
13
12
|
Options:
|
|
14
13
|
-u, --update Update versions and write dependency file
|
|
@@ -57,23 +56,22 @@ import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o
|
|
|
57
56
|
$ updates -f Dockerfile
|
|
58
57
|
$ updates -f docker-compose.yml
|
|
59
58
|
$ updates -f Makefile
|
|
60
|
-
`),
|
|
61
|
-
`))}else if(
|
|
62
|
-
`:``)+r[n].slice(0,e);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
`)
|
|
66
|
-
`),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of Array.from(Za(e)).reverse()){let e=t[`${i}${a}`];if(!e||(e.oldOrig||e.old)!==o)continue;let l=n[s];n[s]=l.slice(0,c)+e.new+l.slice(c+o.length),r=!0}return r?n.join(`
|
|
67
|
-
`):e}function $a(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=Ra(r);if(e?.indent===0&&e.key===`packages`){if(e.value.startsWith(`[`)&&e.value.endsWith(`]`))for(let n of za(e.value)??[]){let e=Ba(n.text);e&&t.push(e.value)}n=!0;continue}if(n){let e=r.trim();if(!e||e.startsWith(`#`))continue;if(!e.startsWith(`-`))break;let n=Ba(e.slice(1));n&&t.push(n.value)}}return t}const eo=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,to=/* @__PURE__ */ new Set([`resolutions`,`overrides`]);function no(e){return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(e)?.[1]??e}const ro=Ln.registry,io=/* @__PURE__ */ new Map,ao=/* @__PURE__ */ new Map,oo=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function so(){let e=t.pnpm_config__auth||t.PNPM_CONFIG__AUTH||void 0;return H(ao,e??``,()=>Ga(e,`pnpm_config__auth`))}function co(e){let t=new URL(e.startsWith(`//`)?`http:${e}`:e),n=[],r;for(;r!==`/`&&t.pathname!==r;)r=t.pathname||`/`,n.push(`//${t.host}${r.replace(/\/$/,``)}`),t.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname;return n}function lo(e,t,n){let r=co(e),i=(e,n)=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=n&&r.map(e=>i(e,`${n}:_authToken`)).find(Boolean);if(a)return{token:oo(a),type:`Bearer`};for(let e of r){let t=i(e,`_authToken`);if(t)return{token:oo(t),type:`Bearer`};let n=i(e,`username`),r=i(e,`_password`);if(n&&r){let e=Buffer.from(oo(r),`base64`).toString(`utf8`);return{token:Buffer.from(`${n}:${e}`).toString(`base64`),type:`Basic`}}let a=i(e,`_auth`);if(a)return{token:oo(a),type:`Basic`}}if(e===ro&&t._auth)return{token:oo(t._auth),type:`Basic`}}function uo(e,t,n){let r=H(io,n??``,()=>ka(`npm`,{registry:ro},n)),i=so(),a=Xa(),o=n?qa(n):{registries:{}},s=e.startsWith(`@`)?e.split(`/`)[0]:``,c=Rn(s&&(i.registries[s]||o.registries[s]||a.registries[s]||a.auth.registries[s]||r[`${s}:registry`])||t.registry||i.registries.default||o.registries.default||o.registry||a.registries.default||a.registry||a.auth.registries.default||r.registry||ro);return{auth:lo(c,{...r,...a.auth.tokens,...i.tokens},s),registry:c}}const fo=(e,t,n)=>{let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r},po=/* @__PURE__ */ new WeakMap,mo=/* @__PURE__ */ new WeakMap,ho=/* @__PURE__ */ new WeakMap,go=/* @__PURE__ */ new WeakMap,_o=(e,t)=>`${e}v2${t?`-dates`:``}`;function vo(e){let t={};for(let n of Object.keys(e.versions??{}))t[n]=e.versions[n]?.deprecated?{deprecated:!0}:{};return{name:e.name,"dist-tags":e[`dist-tags`],versions:t,time:e.time,error:e.error}}async function yo(e,t,n,r,i,a,o=``){let s=to.has(t)?no(e):t===`packageManager`&&e===`yarn`&&(W(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=uo(s,n,a),u=fo(l,s),d=_o(u,!!r.needsDates);return[await Q(po,i,d,async()=>{let t=zn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await qn(u,i,t,Wn(vo),d);return`body`in n||Ur(n.res,u,e,l),JSON.parse(n.body)}),l]}async function bo(e,t,n,r,i,a){let{auth:o,registry:s}=uo(e,n,a),c=fo(s,e,t);return Q(mo,i,c,async()=>{try{let n=zn(o?.type,o?.token),a=await Jn(c,i,n,Wn(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in a))return{};let l=JSON.parse(a.body),u=``,d=/(\d{13})/.exec(l?._npmOperationalInternal?.tmp??``);d&&(u=new Date(Number(d[1])).toISOString());let f=fo(s,e);return!u&&r.needsDates&&(u=(await po.get(i)?.get(_o(f,!0)))?.time?.[t]||``),u||=(await ze(Q(ho,i,f,async()=>{let e=await Un(i,f,n);return e.ok?await e.json():null})))?.time?.[t]||``,{repository:l.repository,homepage:l.homepage,date:u}}catch{return{}}})}function xo(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function So(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Co(e){return e.startsWith(`catalog:`)}const wo=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function To(e){let t=wo.exec(e);return t&&bt(t[2])?{name:t[1],range:t[2]}:null}const Eo=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,Do=/^@([^/]+)\/(.+)$/;function Oo(e,t){let n=Eo.exec(e);if(n)return{scope:n[1]||n[3],name:n[2]||n[4],version:n[5]};if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=Do.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function ko(e,t){if(!Do.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Q(go,t,n,async()=>{let r=await qn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Wn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||Ur(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return{name:e,"dist-tags":{latest:i.latest},versions:a,time:o}}),t.jsrApiUrl]}function Ao(e,t){try{JSON.parse(e)}catch{return e}let n=/* @__PURE__ */ new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`){for(r++,i();e[r]!==`}`&&r<e.length;){let n=a().value;if(i(),e[r++]!==`:`)return;if(o([...t,n]),i(),e[r]===`,`)r++,i();else break}e[r]===`}`&&r++}else if(e[r]===`[`){r++;let n=0;for(i();e[r]!==`]`&&r<e.length&&(o([...t,n++]),i(),e[r]===`,`);)r++,i();e[r]===`]`&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=r.oldOrig||r.old,c=n.get(a||JSON.stringify([t,i])),l=r.new;c||(c=n.get(JSON.stringify([t])),o=`${i}@${o}`,l=`${i}@${l}`),c?.value===o&&s.push({...c,value:JSON.stringify(l)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const jo=String.raw`[<>]=?|~>|[\^~=]`,Mo=new RegExp(String.raw`^(${jo})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),No=RegExp(`^(?:${jo})$`),Po=/^[xX*]$/,Fo=/\+[0-9A-Za-z.-]+/g,Io=/\|\||[\dxX*]\s+\S/;function Lo(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&No.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function Ro(e,t){let n=Mo.exec(e);if(!n)return e;let[r,i=``,a,o,s,c=``]=n,l=s.split(`.`);if(i===`<`&&l.length<=3&&!/[xX*]/.test(s)){let{major:e,minor:n,patch:r}=W(t);return`${i}${a}${l.length===1?`${e+1}`:l.length===2?`${e}.${n+1}`:!c&&s.endsWith(`.0.0`)?`${e+1}.0.0`:!c&&s.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${r+1}`}`}if(i===`>`||i===`<`)return e;if(t.includes(`-`))return`${i}${a}${o}${t}`;let u=t.split(`.`);return`${i}${a}${o}${l.map((e,t)=>Po.test(e)?e:u[t]??`0`).join(`.`)}`}function zo(e,t){if(J(t,e))return e;let n=Lo(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=Ro(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=Ro(r,t),n.join(` `)}function Bo(e,t,n,r){let i=(n||e).replace(Fo,``),a=r===`peerDependencies`||Io.test(i)?zo(i,t):Ro(i,t);return J(t,a)?a:i}function Vo(e){if(/[xX*]/.test(e))return e;let t=e.match(eo);return t?.length===1?e.replace(eo,rr(t[0])):e}async function Ho(e,t,n){let r=await Fr(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,`commits`,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function Uo(e,t,n,r){return(await Vr(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function Wo(e){let t=e.lastIndexOf(`#`);if(t===e.length-1)return null;let n=e.slice(0,t===-1?e.length:t).replace(/^git\+/i,``),r=t===-1?``:e.slice(t+1);if(/^github:/i.test(n))n=n.slice(7);else if(/^git@github\.com:/i.test(n))n=n.replace(/^git@github\.com:/i,``);else if(/^(?:https?|git|ssh):/i.test(n)){let e=/^(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:](.+)$/i.exec(n);if(!e)return null;n=e[1]}else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let i=n.split(`/`);if(i.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(i[0])||!/^[a-z\d._-]{1,100}$/i.test(i[1]))return null;let a=r.startsWith(`semver:`)&&bt(r.slice(7))?r.slice(7):null;return!a&&!kr.test(r)&&!rt(r)?null:{user:i[0],repo:i[1],ref:a??r,selector:a}}async function Go(e,t,n){let r=Wo(t.old);if(!r)return null;let{user:i,repo:a,ref:o,selector:s}=r,c=e=>{let n=t.old.lastIndexOf(o);return`${t.old.slice(0,n)}${e}${t.old.slice(n+o.length)}`};if(kr.test(o)){let{hash:t,commit:r}=await Ho(i,a,n);if(!t)return null;let s=jr(r),l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:c(l),user:i,repo:a,oldRef:o,newRef:l,newDate:s}}else{let t=Er(await Uo(i,a,o,n),s?rr(s):o);if(t){let n=s?Bo(s,Z(t),s):t;if(n!==o)return{key:e,newRange:c(n),user:i,repo:a,oldRef:o,newRef:n}}}return null}const Ko=/[-_.]+/g,qo=/* @__PURE__ */ new WeakMap;function Jo(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=(r??[]).map(e=>({...e.upload_time_iso_8601&&{upload_time_iso_8601:e.upload_time_iso_8601},...e.yanked&&{yanked:!0}}));return t}async function Yo(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(Ko,`-`)}/json`;return[{...await Q(qo,t,n,async()=>{let r=await qn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Wn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:Jo(e.releases)}}));if(`body`in r){let e=JSON.parse(r.body);return{...e,releases:Jo(e.releases)}}Ur(r.res,n,e,t.pypiApiUrl)}),name:e},null]}function Xo(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=Y(n.slice(0,-2));if(!r||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=Y(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=kt(e.local?{...e,local:null}:e,r),a=r.local?kt(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==0;if(t===`>=`)return i>=0;if(t===`<=`)return i<=0;let o=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(o&&e.post!==null&&r.post===null):t===`<`?i<0&&!(o&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.epoch===e.epoch&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function Zo(e,t=e.release){if(!e.local&&t===e.release)return e.version;let n=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,r=e.pre?`${e.pre[0]}${e.pre[1]}`:``,i=e.post===null?``:`.post${e.post}`,a=e.dev===null?``:`.dev${e.dev}`;return`${n}${t.join(`.`)}${r}${i}${a}`}function Qo(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1);let i=e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r));return`${n.epoch?`${n.epoch}!`:``}${i.join(`.`)}`}function $o(e,t){let n=Y(e);if(!n)return!1;let r=t.trim();if(!r)return!0;if(Y(r))return Xo(n,{lead:``,op:`==`,sep:``,version:r,trail:``});let i=be(`x${r}`),a=i?.specifiers;return!i||i.extras||i.marker||!a?.length?!1:a.every(e=>Xo(n,e))}function es(e,t,n){let r=be(e),i=r?.specifiers,a=Y(t),o=Y(n);if(!r||!i||!a||!o)return null;let s=Se(i);if(s?.version!==t)return null;for(let e of i){if(e===s)e.version=e.op===`~=`?a.release.length===o.release.length?Zo(o):Zo(o,Array.from({length:a.release.length},(e,t)=>o.release[t]??0)):e.op===`==`||e.op===`===`?n:Zo(o);else if(Xo(o,e))continue;else{let t=Y(e.version);if(e.op===`<`&&t)e.version=Qo(t,a,o);else if(e.op===`<=`)e.version=Zo(o);else return null}if(!Xo(o,e))return null}return xe(r,i)}function ts(e){let t=[],n=/\s*(?:"((?:\\.|[^"\\])*)"|'([^']*)'|([\w-]+))\s*(?:\.|$)/gy;try{for(;n.lastIndex<e.length;){let r=n.exec(e);if(!r)return[];t.push(r[1]===void 0?r[2]??r[3]:JSON.parse(`"${r[1]}"`))}}catch{return[]}return t}function ns(e){let t=``,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(t)t===`"`&&i===`\\`&&!n?n=!0:(i===t&&!n&&(t=``),n=!1);else if(i===`"`||i===`'`)t=i;else if(i===`=`)return r;else if(i===`#`)return-1}return-1}function rs(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1,o=!1;for(let t=n;t<e.length;t++){let n=e[t];if(o)n===`
|
|
68
|
-
|
|
69
|
-
`).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=ds(e,r);if(!t)return e;let{indent:a,key:o}=t,s=o===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&r[0].key===`runs`&&r[1].key===`steps`||r.length===2&&r[0].key===`jobs`),c=t.value.replace(/(?:^|\s)#.*$/,``).trim();if(c||r.push({indent:a,key:o}),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(c))return i=a,e;if(!s)return e;let l=ps(e);if(!l)return e;let{prefix:u,quote:d,value:f,gap:p,comment:m,pinnedVersion:h,pinnedEnd:g}=l,_=ms.exec(f)?.[0]??``,v=h||/^#\s*(\S+)\s*$/.exec(m)?.[1]||``,y=n.get(`${f.slice(_.length)}${v?`#${v}`:``}`)??n.get(f.slice(_.length));if(!y)return e;let b=y.newComment&&h?`# ${y.newComment}${m.slice(g)}`:m;return`${u}${d}${_}${y.name}@${y.newRef}${d}${p}${b}`}).join(`
|
|
70
|
-
`)}const gs=RegExp(`(?:^|/)(?:(?:workflow-templates|(?:${R(Ee)})/(?:workflows|actions))/.+|action)\\.ya?ml$`);function _s(e){return gs.test(e.replace(/\\/g,`/`))}function vs(e){let t=/* @__PURE__ */ new Set;try{for(let n of w(h(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(_(h(e,`workflows`,n)))}catch{}try{for(let n of w(e,{recursive:!0,withFileTypes:!0}))n.isFile()&&/^action\.ya?ml$/.test(n.name)&&t.add(_(h(n.parentPath,n.name)))}catch{}return Array.from(t)}const ys=/^(v?\d+(?:\.\d+)*(?:_\d+)?)([a-zA-Z][a-zA-Z0-9]*)?(-.+)?$/,bs=/^[ \t]*FROM\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim,xs=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,Ss=String.raw`(?<=^[ \t]*(?:-[ \t]+)?|[{,][ \t]*)`,Cs=/^[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,ws=/^[ \t]*FROM\s+(?:--platform=\S+\s+)?(\S+)/i,Ts=e=>e.replace(/\\[ \t]*\r?\n[ \t]*/g,` `);function Es(e,t){return e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>{let i=t(n||r);return i===void 0?e:i})}function*Ds(e,t=!1){let n=/* @__PURE__ */ new Map,r=!1;for(let i of e.matchAll(/^[ \t]*(?:ARG|FROM)\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim)){let e=Ts(i[0]),a=Cs.exec(e);if(a){if(!r){let e=a[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``,t=i[0].lastIndexOf(e);n.set(a[1],{value:e,resolved:Es(e,e=>n.get(e)?.resolved),start:t<0?-1:i.index+t})}continue}r=!0;let o=ws.exec(e);o&&(yield{instruction:i,args:n,from:o,resolved:Es(o[1],e=>n.get(e)?.[t?`resolved`:`value`])})}}const Os=/^(?:(?:index|registry-1)\.)?docker\.io$/;function ks(e){let t=e.split(`/`);return t.length>1&&Os.test(t[0])&&t.shift(),{registry:t.length>2||t.length>1&&(t[0]===`localhost`||t[0].includes(`.`)||t[0].includes(`:`))?t.shift():null,namespace:t.length===1?`library`:t.slice(0,-1).join(`/`),repo:t.at(-1)}}function As(e){let{registry:t,namespace:n,repo:r}=ks(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[.../* @__PURE__ */ new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function js(e){e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&!ys.test(s))return null;let{registry:c,namespace:l,repo:u}=ks(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function Ms(e){let t=ys.exec(e);return!t||t[2]&&!t[3]&&kr.test(e)?null:{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}}function Ns(e,t,n=``){let r=Ms(t);return r?Wr(e,r.version,`${n}${r.suffix}`):t}function Ps(e,t){let n=[];if(t===bs){for(let{from:t,resolved:r}of Ds(e,!0)){let e=js(r);e&&n.push({ref:e,match:t[1]})}return n}let r=t===xs?Fs(e):null;for(let i of e.matchAll(t)){if(r?.has(i.index+i[0].indexOf(`image:`)))continue;let e=js(i[1]);e&&n.push({ref:e,match:i[1]})}return n}function Fs(e){let t=/* @__PURE__ */ new Set,n=/* @__PURE__ */ new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim())continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=n.get(e)??{built:!1,images:[]};if(n.set(e,i),/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const Is=/* @__PURE__ */ new WeakMap,Ls=/* @__PURE__ */ new Set([401,403,404]);function Rs(e,t,n){return Q(Is,n,`${e}/${t}`,async()=>{let r={dates:{},digests:/* @__PURE__ */ new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=async r=>{let i=await qn(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}},Wn(e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))})),`${r}#digest`);return`body`in i?JSON.parse(i.body):(Ls.has(i.res?.status)||Ur(i.res,r,`${e}/${t}`,n.dockerApiUrl),null)},s=e=>{for(let t of e?.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=/* @__PURE__ */ new Set,u=c,d=2;if(c.count){let e=[];for(;d<=20&&d<=Math.ceil(c.count/1e3);d++){let t=a(d);l.add(t),e.push(t)}let t=await I(e,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:Xn(n)});for(let e of t){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),u=e.value}}let f=new URL(i).origin;for(;d<=20&&u.next;d++){let e=new URL(u.next,i),t=e.href;if(e.origin!==f||l.has(t))break;l.add(t);let n=await o(t);if(!n)break;s(n),u=n}return r})}async function zs(e,t,n){return(await Rs(e,t,n)).dates}async function Bs(e,t,n,r){let i=(await Rs(e,t,r)).digests.get(n);if(i)return i;let a=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,o=await qn(a,r,{headers:{"accept-encoding":`gzip, deflate, br`}},Wn(e=>({digest:e.digest})));if(`body`in o){let e=JSON.parse(o.body)?.digest;return typeof e==`string`?e:null}return Ls.has(o.res?.status)||Ur(o.res,a,`${e}/${t}:${n}`,r.dockerApiUrl),null}const Vs=/^\d?[02468]\.04$/;function Hs(e,t){if(!Vs.test(e))return!1;let[n,r]=e.split(`.`);return t>=Date.UTC(2e3+Number(n),Number(r))}const Us={ubuntu:Hs};function Ws(e,t,n=Date.now()){let r=Us[e];return r?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=Ms(e)?.version;return!t||r(t,n)})):t}async function Gs(e,t){let{registry:n,namespace:r,repo:i}=ks(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:Ws(i,await zs(r,i,t)),name:e},null]}const Ks=(e,t)=>t?`${e}-${t}`:e;function qs(e){let t=Ms(e);return t?ec(t.version):``}const Js=/[._]/,Ys=e=>Z(e.version).split(Js).map(Number),Xs=e=>Z(e).replace(/\d+/g,``),Zs=2e7,Qs=e=>Number(Z(e).split(Js)[0]);function $s(e,t){return Qs(e)<Zs||Qs(t)>=Zs}function ec(e){let t=Z(e).split(Js).slice(0,3);return[...t.map(e=>String(Number(e))),...Array(3-t.length).fill(`0`)].join(`.`)}function tc(e,t){let n=Ys(e),r=Ys(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!e.prerelease&&t.prerelease?1:e.prerelease&&!t.prerelease?-1:e.prerelease.localeCompare(t.prerelease)}function nc(e,t){let n=Ys(e),r=Ys(t),i=n.findIndex((e,t)=>e!==r[t]);return i===-1?e.prerelease===t.prerelease?null:`patch`:i===0?`major`:i===1?`minor`:`patch`}function rc(e,t,n,r,i,a,o=!1,s=!1){let c=Ms(t);if(!c)return null;let l=Xs(c.version),u=Ks(ec(c.version),c.prerelease),{effectiveSemvers:d,skipsPrerelease:f}=nr(u,o,s,n),p=l.length>2||l.includes(`_`),m=W(u),h=c,g=``,_=``;for(let[t,u]of Object.entries(e)){let e=Ms(t);if(!e||e.suffix!==c.suffix||Xs(e.version)!==l||!$s(e.version,c.version)||!Pn(u,r,i))continue;let v=Ks(ec(e.version),e.prerelease);if(a&&!J(v,a))continue;if(p){if(e.prerelease&&(!o&&!c.prerelease||s)||tc(e,h)<=0)continue;let r=nc(c,e);if(!r||!n.has(r))continue;h=e,g=t,_=u;continue}let y=W(v);if(!y||e.prerelease&&f(y))continue;if(y.version===m.version){g&&Date.parse(u)>Date.parse(_)&&(g=t,_=u);continue}let b=X.diff(m,y);b&&d.has(b)&&X.compare(y,m)>0&&(m=y,g=t,_=u)}if(p)return g?{newTag:g,date:_}:null;if(!g||m.version===u)return null;let[v,y=``]=m.version.split(`-`),b=Ns(v,t,y),x=b in e?b:g;return x===t?null:{newTag:x,date:_}}const ic=`(?![\\w.@+-])`;function ac(e){let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function oc(e,t,n,r=()=>!0){if(!t.size)return e;let i=R(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`${Ss}(${e})(${i})${ic}`,`gm`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function sc(e,t){let n=`(?:[ \\t]+|\\\\[ \\t]*\\r?\\n[ \\t]*)`,r=ac(t);if(!r.size)return e;let i=R(r.keys()),a=e.replace(RegExp(`^([ \\t]*FROM${n}+(?:--platform=\\S+${n}+)?)(${i})${ic}`,`gim`),(e,t,n)=>`${t}${r.get(n)??n}`),o=/* @__PURE__ */ new Map;for(let{instruction:e,args:t,from:n,resolved:i}of Ds(a)){let a=r.get(i);if(!a)continue;let s=i.lastIndexOf(`@`),c=a.lastIndexOf(`@`),l=i.slice(s+1),u=a.slice(c+1),d=s!==-1&&c!==-1&&l!==u;if(d){let t=e[0].lastIndexOf(l);t!==-1&&o.set(e.index+t,{end:e.index+t+l.length,value:u})}for(let e of n[1].matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let r=t.get(e[1]||e[2]),i=Es(n[1].slice(0,e.index),e=>t.get(e)?.value),s=Es(n[1].slice(e.index+e[0].length),e=>t.get(e)?.value);d&&(s=s.replace(l,u)),!(!r||r.start<0||!a.startsWith(i)||!a.endsWith(s))&&o.set(r.start,{end:r.start+r.value.length,value:a.slice(i.length,s?-s.length:void 0)})}}let s=a;for(let[e,t]of[...o].sort(([e],[t])=>t-e))s=`${s.slice(0,e)}${t.value}${s.slice(t.end)}`;return s}function cc(e,t){let n=Fs(e);return oc(e,ac(t),[String.raw`image:\s*['"]?`],e=>!n.has(e))}function lc(e,t){return oc(e,ac(t),[String.raw`(?:container|image):\s*['"]?`,String.raw`uses:\s*['"]?docker://`])}const uc=[`Dockerfile`,`Containerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function dc(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function fc(e){return/^(?:[Dd]ocker|[Cc]ontainer)file|\.(?:[Dd]ocker|[Cc]ontainer)file$/.test(e)}function pc(e){return fc(e)||dc(e)}function mc(e){return fc(e)?bs:xs}function hc(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const gc=[`Makefile`,`makefile`,`GNUmakefile`];function _c(e){return gc.includes(e)||e.endsWith(`.mk`)}const vc=/^\s*(?:(?:export|override|private|unexport)\s+)*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,yc=/^([^@\s]+)@(v\d\S*)$/,bc=/^[^/\s]+\.[^/\s]+\//;function*xc(e){let t=``;for(let n of[...e.split(/\r?\n/),``]){let e=n.indexOf(`#`),r=e===-1?n:n.slice(0,e),i=0;for(;r[r.length-i-1]===`\\`;)i++;if(i%2){t+=`${r.slice(0,-1)} `;continue}let a=vc.exec(t+r);if(t=``,!a)continue;let o=``,s=``;for(let e of a[1])o?e===o?o=``:s+=e:e===`"`||e===`'`?o=e:/\s/.test(e)?(s&&(yield s),s=``):s+=e;s&&!o&&(yield s)}}function Sc(e){let t=[];for(let n of xc(e)){let e=yc.exec(n);if(!e||!bc.test(e[1]))continue;let[r,i,a]=e;t.push({installPath:i,version:a})}return t}const Cc=/@(sha256:[0-9a-f]{64})$/;function wc(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function Tc(e){let t=Cc.exec(e),n=t?.[1]??null,r=t?e.slice(0,t.index):e,i=js(r.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:r.slice(0,r.lastIndexOf(`:`)),ref:i,digest:n}}function Ec(e){return Array.from(xc(e)).flatMap(e=>Tc(e)??[])}const Dc=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,Oc=/* @__PURE__ */ new WeakMap;function kc(e,n,r){return Q(Oc,r,`${_(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){let n=String(t?.stderr??``).trim().split(`
|
|
71
|
-
`)[0]||t?.message||String(t);throw Error(`go list -m ${e}@latest failed: ${n}`)}let a;try{a=JSON.parse(i)}catch{throw Error(`go list -m ${e}@latest returned malformed JSON`)}if(a.Error){let t=a.Error.Err;if(a.Origin&&t?.endsWith(`no matching versions for query "latest"`))return null;throw Error(`go list -m ${e}@latest failed: ${t||`unknown error`}`)}if(typeof a.Version!=`string`)throw Error(`go list -m ${e}@latest returned malformed JSON`);return!0},!1)}async function Ac(e,t,n,r){return await Yr(r,async r=>r===`off`?!1:r===`direct`?kc(e,t,n):await Oi(n,`primary`,e=>Un(n,e,{headers:Ci}),r,e)?!0:null)??!1}async function jc(e,t,n,r){let i=Dc.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=ti(e,r)?[{url:`direct`,fallback:`,`}]:n.goProxyChain;if(a[0].url===`off`)return null;let o=e.split(`/`),s=Array.from({length:o.length-1},(e,t)=>o.slice(0,o.length-t).join(`/`));for(let e of a){let r=await Promise.allSettled(s.map(r=>Ac(r,t,n,[e]))),i=r.findIndex(e=>e.status===`fulfilled`&&e.value),a=r.slice(0,i===-1?void 0:i).find(e=>e.status===`rejected`);if(a)throw a.reason;if(i!==-1)return s[i]}return null}function Mc(e,t){let n=new Map(t.map(({oldSpec:e,newSpec:t})=>[e,t]));if(!n.size)return e;let r=Array.from(n.keys()).sort((e,t)=>t.length-e.length).map(e=>Array.from(e,L).join(`["']*`)).join(`|`),i=RegExp(`(?<![\\w./@:-])(${r})(?=[\\s#"']|$)`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=e.replace(/["']/g,``),r=n.get(t),i=0;return e.replace(/[^"']/g,()=>r[i++]??``)+r.slice(i)}))}const Nc=/* @__PURE__ */ new WeakMap;function Pc(e){let t=e.toLowerCase();return t.length<=2?`${t.length}/${t}`:t.length===3?`3/${t[0]}/${t}`:`${t.slice(0,2)}/${t.slice(2,4)}/${t}`}function Fc(e,t){let n=Rn(e);return`${n===`https://crates.io`?`https://index.crates.io`:n}/${Pc(t)}`}function Ic(e){return e.split(`
|
|
59
|
+
`),0;if(zi(e,`version`,`v`)){let e;try{e=C(new URL(`package.json`,t.moduleUrl),`utf8`)}catch{e=C(new URL(`../package.json`,t.moduleUrl),`utf8`)}return s(JSON.parse(e).version),0}let{args:c,positionals:l}=Ii(e);if(c.login!==void 0){let e=Vi(c.login,`login`),n=await Ui(t.stdin??o,e),r=await hr(e,n,typeof c.forgeapi==`string`?Pn(c.forgeapi):void 0);return await On(e,n),s(`stored token for ${e} (${r})`),0}if(c.logout!==void 0){let e=Vi(c.logout,`logout`);if(!await kn(e))throw Error(`no stored token for ${e}`);return s(`removed token for ${e}`),0}try{n&&await Bi(c,l)}catch{}let d=await Ri(c,l),{updates:f}=await import(`./api.js`);!d.noColor&&(d.color||t.stdoutIsTTY)&&(r=e=>u(`red`,e,{validateStream:!1}),i=e=>u(`green`,e,{validateStream:!1})),a=!!d.json;let p=await f(d),m=Object.keys(p.results),h=m.length>0,g=p.errors??[];if(d.json)s(JSON.stringify({...p.message&&{message:p.message},...h&&{results:p.results},...g.length&&{errors:g}}));else{if(p.message?s(p.message):h&&s(Gi(p,r,i)),d.update)for(let e of m)s(i(`✨ ${e} updated`));for(let{mode:e,name:t,error:n}of g)s(r(`${e} ${t}: ${n}`))}return g.length?1:d.errorOnOutdated?h?2:0:d.errorOnUnchanged?h?0:2:0}catch(e){let t=e.message??String(e);return s(a?JSON.stringify({error:t}):r(t)),1}}function Gi(e,t,n){let r=Object.keys(e.results),i=r.length>1,a=[[`NAME`,...i?[`MODE`]:[],`OLD`,`NEW`,`AGE`,`INFO`]],o=/* @__PURE__ */ new Set;for(let s of r){let r=Object.values(e.results[s]).flatMap(e=>Object.entries(e));for(let[e,c]of r.sort(([e],[t])=>e<t?-1:+(e>t))){let r=`${s}|${e}|${c.old}|${c.new}`;o.has(r)||(o.add(r),a.push([s===`go`?ji(e):e,...i?[s]:[],_e(c.old,c.new,t),_e(c.new,c.old,n),c.age||``,c.info||``]))}}return Re(a,e=>l(e).length)}const Ki=/^\[\[([^\]]+)\]\]$/,qi=/^\[([^[\]]+)\]$/,Ji=[`"""`,`'''`],Yi=()=>Object.create(null);function Xi(e){let t=Yi(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=na(r[e]).trim();if(!i)continue;let a=Ki.exec(i);if(a){let e=t,r=ta(a[1]),i=r.pop();for(let t of r){let n=e[t],r=Array.isArray(n)?n.at(-1):void 0;e=typeof r==`object`&&!Array.isArray(r)?r:ia(e,[t])}Array.isArray(e[i])||(e[i]=[]),n=Yi(),e[i].push(n);continue}let o=qi.exec(i);if(o){n=ia(t,ta(o[1]));continue}let s=ra(i,`=`);if(s<0)continue;let c=i.slice(s+1).trim(),l=ta(i.slice(0,s)),u=l.pop(),d=ia(n,l),f=Ji.find(e=>c.startsWith(e)&&!c.includes(e,3))??``,p={depth:0,inStr:null};if((c.startsWith(`[`)||c.startsWith(`{`))&&!$i(c,p)){let t=[c];for(e++;e<r.length;e++){let n=na(r[e]);if(t.push(n),$i(n,p))break}d[u]=Zi(t.join(`
|
|
60
|
+
`))}else if(f){let t=c.slice(3);for(e++;e<r.length;e++){let n=r[e].indexOf(f);if(t+=(t?`
|
|
61
|
+
`:``)+(n<0?r[e]:r[e].slice(0,n)),n>=0)break}d[u]=Zi(f+t+f)}else d[u]=Zi(c)}return t}function Zi(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of ea(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(Zi(e))}return t}return e.startsWith(`{`)?Qi(e):e.startsWith(`"""`)?oa(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?oa(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function Qi(e){let t=Yi();for(let n of ea(e.slice(1,e.lastIndexOf(`}`)))){let e=n.indexOf(`=`);e>=0&&(t[n.slice(0,e).trim().replace(/^["']|["']$/g,``)]=Zi(n.slice(e+1).trim()))}return t}function $i(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.inStr){if(r===`\\`&&t.inStr===`"`){n++;continue}r===t.inStr&&(t.inStr=null)}else if(r===`"`||r===`'`)t.inStr=r;else if(r===`{`||r===`[`)t.depth++;else if((r===`}`||r===`]`)&&(t.depth--,!t.depth))return!0}return!1}function ea(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 ta(e){let t=[],n=``,r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`&&i+1<e.length){n+=a+e[++i];continue}if(a===r){r===`"`&&(n=oa(n)),r=null;continue}n+=a}else a===`"`||a===`'`?r=a:a===`.`?(t.push(n.trim()),n=``):n+=a}return n.trim()&&t.push(n.trim()),t}function na(e){let t=ra(e,`#`);return t<0?e:e.slice(0,t)}function ra(e,t,n){let 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 if(a===`"`||a===`'`)r=a;else if(a===t)return i;else if(a===n)return-1}return-1}function ia(e,t){for(let n of t)(typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=Yi()),e=e[n];return e}const aa={b:`\b`,f:`\f`,n:`
|
|
62
|
+
`,r:`\r`,t:` `};function oa(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>t.length>1?String.fromCodePoint(Number.parseInt(t.slice(1),16)):aa[t]??t)}const sa=[[1e3,6e4,`sec`,`s`,`second`],[6e4,36e5,`min`,`m`,`minute`],[36e5,864e5,`hour`,`h`],[864e5,6048e5,`day`,`d`],[6048e5,2628e6,`week`,`w`],[2628e6,31536e6,`month`,`mo`],[31536e6,1/0,`year`,`y`]],ca={"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`};function la(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function ua(e,{now:t,noAffix:n=!1,times:r=sa,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=ca,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():la(t))-la(e);if(Number.isNaN(d))return o||String(e);let f=d<0;if(f&&(d=-d),d<i)return a;let p=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(d>=t[1])continue;let n=Math.trunc(d/t[0]);p=u?`${n}${t[3]||t[2]}`:`${n} ${l&&t[4]||t[2]}${n>1?`s`:``}`;break}let m=n?p:f?`in ${p}`:`${p} ago`;return s?c[m]??m:m}function da(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/[\r\n]+/)){let e=n.trim(),r=e.indexOf(`=`);if(r===-1||e.startsWith(`#`)||e.startsWith(`;`))continue;let i=e.slice(r+1).trim();if(/^'.*'$/s.test(i))i=i.slice(1,-1);else if(/^".*"$/s.test(i))try{i=JSON.parse(i)}catch{}else i=i.replace(/\\([\\;#])|[;#].*$/g,`$1`).trim();t[e.slice(0,r).trim()]=i}return t}function fa(e){try{return da(C(e,`utf-8`))}catch{return}}function pa(e,t){return qe(t,t=>{let n=m(t,e);try{if(ee(n).isFile())return n}catch{}return null})}function ma(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean),o=t.pop();if(!o)continue;let s=n;for(let e of t)s[e]??={},s=typeof s[e]==`object`?s[e]:{};s[o]=a}return n}function ha(n,r={},a=e()){let o=i===`win32`?t.USERPROFILE:t.HOME,s=ma(`${n}_`),c=/* @__PURE__ */ new Set([...i===`win32`?[]:[m(`/etc`,n,`config`),m(`/etc`,`${n}rc`)],...o?[m(o,`.config`,n,`config`),m(o,`.config`,n),m(o,`.${n}`,`config`),m(o,`.${n}rc`)]:[],pa(`.${n}rc`,a),s.config]);return Object.assign({},r,...Array.from(c).filter(Boolean).map(fa),s)}function ga(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const _a=/* @__PURE__ */ new WeakMap;function va(e,t){let n=B(_a,e,()=>{let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e)){let[e,...i]=n.split(`\0`),a=e.indexOf(`|`);z(t,a===-1?`.`:e.slice(a+1),[[ga(e),...i].join(`\0`),r])}return t});return Object.fromEntries(n.get(t)??[])}const ya=/[*?{[]/,ba=/* @__PURE__ */ new Set([`node_modules`,`bower_components`]);function xa(e,t){return b(e,{cwd:t,exclude:e=>ba.has(e.name),withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>g(e.parentPath,e.name))}async function Sa(e,t,n,r=32){let i=await ce(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>xa(e.slice(1),t)).map(e=>h(t,e).replace(/\\/g,`/`))),o=/* @__PURE__ */ new Map;for(let n of e)if(!n.startsWith(`!`))for(let e of ya.test(n)?xa(n,t):[g(m(t,n))]){let n=h(t,e).replace(/\\/g,`/`);!a.has(n)&&!o.has(e)&&o.set(e,`./${n}`)}return(await N(o,async([e,t])=>{try{let r=await ce(m(e,n)),a=h(i,r);return a===`..`||a.startsWith(`..${_}`)||p(a)?null:{absPath:r,content:await oe(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const Ca=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#](?:[^:#]|:(?=\S))*?))\s*:(?:\s+(.*))?$/,wa=/\s#/;function Ta(e){let t=Ca.exec(e);if(!t)return null;let[n,r,i,a,o,s=``]=t,c=e.length-s.length,l=s.startsWith(`#`)?0:s.search(wa),u=(l===-1?s:s.slice(0,l)).trimEnd(),d=u[0];return(d===`"`||d===`'`)&&u.length>1&&u.endsWith(d)&&(u=u.slice(1,-1),c+=1),{indent:r.length,key:i??a??o,value:u,valueIndex:c}}function Ea(e){let t=[],n=1,r=-1,i=0,a=``;for(let o=1;o<e.length-1;o++){let s=e[o];if(a)s===`\\`&&a===`"`||s===a&&a===`'`&&e[o+1]===`'`?o++:s===a&&(a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return[];i--}else s===`:`&&i===0&&r===-1?r=o-n:s===`,`&&i===0&&(t.push({colon:r,start:n,text:e.slice(n,o)}),n=o+1,r=-1)}return a||i!==0?[]:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function Da(e){let t=e.length-e.trimStart().length,n=e.trim();if(!n)return null;let r=n[0];if(r===`"`||r===`'`){let e=n.indexOf(r,1);return e===-1?null:{value:n.slice(1,e),valueIndex:t+1}}let i=n.search(wa);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function Oa(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return[];let n=[];for(let r of Ea(e)){if(r.colon===-1)return[];let e=Da(r.text.slice(0,r.colon)),i=Da(r.text.slice(r.colon+1));if(!e||!i)return[];n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function ka(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=Ta(i);if(e?.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of Oa(e.value,e.valueIndex))n[t.key]=t.value}else r&&e?.value&&(n[e.key]=e.value)}return{registry:t,registries:Object.fromEntries(Object.entries(n).filter(([e,t])=>!t.includes("${")))}}function Aa(e){try{return{content:C(e,`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e;return null}}function ja(e){let t={},n=[{indent:-1,map:t}];for(let t of e.split(/\r?\n/)){let e=Ta(t);if(!e)continue;for(;e.indent<=n.at(-1).indent;)n.pop();let r=n.at(-1).map;r[e.key]=e.value||{},e.value||n.push({indent:e.indent,map:r[e.key]})}return t}function Ma(e,t){let n={tokens:{},registries:{}};try{let t=typeof e==`string`?JSON.parse(e):e??{};for(let[e,r]of Object.entries(t)){let{host:t,pathname:i,href:a}=new URL(e);for(let[e,{authToken:o}]of Object.entries(r))typeof o==`string`&&(n.tokens[`//${t}${i.replace(/\/$/,``)}/:${e===`@`?``:`${e}:`}_authToken`]=o,n.registries[e===`@`?`default`:e]=a)}}catch(e){throw Error(`Invalid _auth in ${t}: ${e.message}`)}return n}const Na=/* @__PURE__ */ new Map;function Pa(e){return B(Na,e,()=>ka(qe(g(e),e=>Aa(m(e,`pnpm-workspace.yaml`)))?.content??``))}const Fa=/* @__PURE__ */ new Map;function Ia(){return t.XDG_CONFIG_HOME?m(t.XDG_CONFIG_HOME,`pnpm`):i===`darwin`?m(k(),`Library/Preferences/pnpm`):i===`win32`&&t.LOCALAPPDATA?m(t.LOCALAPPDATA,`pnpm/config`):m(k(),`.config/pnpm`)}function La(){let e=Ia();return B(Fa,e,()=>{let t=Aa(m(e,`config.yaml`))?.content??``;return{...ka(t),auth:Ma(ja(t)._auth,`config.yaml`)}})}const Ra=(e,{value:t,valueIndex:n},r)=>Oa(t,n).map(t=>({type:e,name:t.key,value:t.value,lineIndex:r,valueIndex:t.valueIndex}));function*za(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
|
|
63
|
+
`).entries()){let e=Ta(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s,n=s,r=-1,s===`catalog`)yield*Ra(s,e,i);else if(s===`catalogs`)for(let e of Oa(c,l))yield*Ra(`catalogs.${e.key}`,e,i)}else t===`catalogs`&&(r===-1||o<=r)?(n=`catalogs.${s}`,r=o,yield*Ra(n,e,i)):c&&(t===`catalog`||t===`catalogs`)&&(yield{type:n,name:s,value:c,lineIndex:i,valueIndex:l})}}function Ba(e,t){let n=e.split(`
|
|
64
|
+
`),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of Array.from(za(e)).reverse()){let e=t[`${i}${a}`];if(!e||(e.oldOrig||e.old)!==o)continue;let l=n[s];n[s]=l.slice(0,c)+e.new+l.slice(c+o.length),r=!0}return r?n.join(`
|
|
65
|
+
`):e}function Va(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=Ta(r);if(e?.indent===0&&e.key===`packages`)n=!0,e.value.startsWith(`[`)&&e.value.endsWith(`]`)&&t.push(...Ea(e.value).map(e=>e.text));else if(n){let e=r.trim();if(e.startsWith(`-`))t.push(e.slice(1));else if(e&&!e.startsWith(`#`))break}}return t.map(e=>Da(e)?.value).filter(e=>e!==void 0)}const Ha=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,Ua=/* @__PURE__ */ new Set([`resolutions`,`overrides`]);function Wa(e){let t=e.replace(/^.*?[^ |@]>/,``).trim();return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(t)?.[1]??(t||e)}const Ga=J.registry,Ka=/* @__PURE__ */ new Map,qa=/* @__PURE__ */ new Map,Ja=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function Ya(e){let t=new URL(e.startsWith(`//`)?`http:${e}`:e),n=[],r;for(;r!==`/`&&t.pathname!==r;)r=t.pathname||`/`,n.push(`//${t.host}${r.replace(/\/$/,``)}`),t.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname;return n}function Xa(e,t,n){let r=Ya(e),i=(e,n)=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=n&&r.map(e=>i(e,`${n}:_authToken`)).find(Boolean);if(a)return{token:Ja(a),type:`Bearer`};for(let e of r){let t=i(e,`_authToken`);if(t)return{token:Ja(t),type:`Bearer`};let n=i(e,`username`),r=i(e,`_password`);if(n&&r){let e=Buffer.from(Ja(r),`base64`).toString(`utf8`);return{token:Buffer.from(`${n}:${e}`).toString(`base64`),type:`Basic`}}let a=i(e,`_auth`);if(a)return{token:Ja(a),type:`Basic`}}if(e===Ga&&t._auth)return{token:Ja(t._auth),type:`Basic`}}function Za(e,n,r){let i=B(Ka,r??``,()=>ha(`npm`,{registry:Ga},r)),a=t.pnpm_config__auth||t.PNPM_CONFIG__AUTH||void 0,o=B(qa,a??``,()=>Ma(a,`pnpm_config__auth`)),s=La(),c=r?Pa(r):{registries:{}},l=e.startsWith(`@`)?e.split(`/`)[0]:``,u=Pn(l&&(o.registries[l]||c.registries[l]||s.registries[l]||s.auth.registries[l]||i[`${l}:registry`])||n.registry||o.registries.default||c.registries.default||c.registry||s.registries.default||s.registry||s.auth.registries.default||i.registry||Ga);return{auth:Xa(u,{...i,...s.auth.tokens,...o.tokens},l),registry:u}}const Qa=(e,t)=>`${e}/${t.replace(/\//g,`%2f`)}`,$a=/* @__PURE__ */ new WeakMap,eo=/* @__PURE__ */ new WeakMap,to=/* @__PURE__ */ new WeakMap,no=/* @__PURE__ */ new WeakMap,ro=(e,t)=>`${e}v2${t?`-dates`:``}`;function io(e){let t={};for(let n of Object.keys(e.versions??{}))t[n]=e.versions[n]?.deprecated?{deprecated:!0}:{};return{name:e.name,"dist-tags":e[`dist-tags`],versions:t,time:e.time,error:e.error}}async function ao(e,t,n,r,i,a,o=``){let s=Ua.has(t)?Wa(e):t===`packageManager`&&e===`yarn`&&(V(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Za(s,n,a),u=Qa(l,s),d=ro(u,!!r.needsDates);return[await X($a,i,d,async()=>{let t=Fn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await Un(u,i,t,Bn(io),d);return`body`in n||Fr(n.res,u,e,l),JSON.parse(n.body)}),l]}async function oo(e,t,n,r,i,a){let{auth:o,registry:s}=Za(e,n,a),c=Qa(s,e),l=`${c}/${t}`;return X(eo,i,l,async()=>{try{let e=Fn(o?.type,o?.token),n=await Wn(l,i,e,Bn(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in n))return{};let a=JSON.parse(n.body),s=/(\d{13})/.exec(a?._npmOperationalInternal?.tmp??``),u=s?new Date(Number(s[1])).toISOString():``;return!u&&r.needsDates&&(u=(await $a.get(i)?.get(ro(c,!0)))?.time?.[t]||``),u||=(await P(X(to,i,c,async()=>{let t=await zn(i,c,e);return t.ok?await t.json():null})))?.time?.[t]||``,{repository:a.repository,homepage:a.homepage,date:u}}catch{return{}}})}const so=e=>e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`),co=e=>e.startsWith(`link:`)||e.startsWith(`file:`),lo=e=>e.startsWith(`catalog:`),uo=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function fo(e){let t=uo.exec(e.trim());return t&&G(t[2])?{name:t[1],range:t[2]}:null}const po=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,mo=/^@([^/]+)\/(.+)$/;function ho(e,t){let n=po.exec(e);if(n)return{scope:n[1]||n[3],name:n[2]||n[4],version:n[5]};if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=mo.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function go(e,t){if(!mo.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await X(no,t,n,async()=>{let r=await Un(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Bn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||Fr(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return{name:e,"dist-tags":{latest:i.latest},versions:a,time:o}}),t.jsrApiUrl]}function _o(e,t){try{JSON.parse(e)}catch{return e}let n=/* @__PURE__ */ new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`||e[r]===`[`){let n=e[r++]===`{`?`}`:`]`;i();for(let s=0;e[r]!==n&&r<e.length;s++){let c=s;if(n===`}`&&(c=a().value,i(),e[r++]!==`:`))return;if(o([...t,c]),i(),e[r]===`,`)r++,i();else break}e[r]===n&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=n.get(a||JSON.stringify([t,i])),c=o??n.get(JSON.stringify([t])),l=o?``:`${i}@`;c?.value===`${l}${r.oldOrig||r.old}`&&s.push({...c,value:JSON.stringify(`${l}${r.new}`)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const vo=String.raw`[<>]=?|~>|[\^~=]`,yo=new RegExp(String.raw`^(${vo})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),bo=RegExp(`^(?:${vo})$`),xo=/^[xX*]$/,So=/\+[0-9A-Za-z.-]+/g,Co=/\|\||[\dxX*]\s+\S/;function wo(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&bo.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function To(e,t){let n=yo.exec(e);if(!n)return e;let[r,i=``,a,o,s,c=``]=n,l=s.split(`.`);if(i===`<`&&l.length<=3&&!/[xX*]/.test(s)){let{major:e,minor:n,patch:r}=V(t);return`${i}${a}${l.length===1?`${e+1}`:l.length===2?`${e}.${n+1}`:!c&&s.endsWith(`.0.0`)?`${e+1}.0.0`:!c&&s.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${r+1}`}`}if(i===`>`||i===`<`)return e;if(t.includes(`-`))return`${i}${a}${o}${t}`;let u=t.split(`.`);return`${i}${a}${o}${l.map((e,t)=>xo.test(e)?e:u[t]??`0`).join(`.`)}`}function Eo(e,t){if(W(t,e))return e;let n=wo(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=To(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=To(r,t),n.join(` `)}function Do(e,t,n,r){let i=(n||e).replace(So,``),a=r===`peerDependencies`||Co.test(i)?Eo(i,t):To(i,t);return W(t,a)?a:i}function Oo(e){if(/[xX*]/.test(e))return e;let t=e.match(Ha);return t?.length===1?e.replace(Ha,$n(t[0])):e}async function ko(e,t,n){let r=await Or(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,`commits`,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function Ao(e,t,n,r){return(await Nr(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function jo(e){let t=e.lastIndexOf(`#`);if(t===e.length-1)return null;let n=e.slice(0,t===-1?e.length:t).replace(/^git\+/i,``),r=t===-1?``:e.slice(t+1),i=/^(?:github:|git@github\.com:|(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:])(.+)$/i.exec(n);if(i)n=i[1];else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let a=n.split(`/`);if(a.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(a[0])||!/^[a-z\d._-]{1,100}$/i.test(a[1]))return null;let o=r.startsWith(`semver:`)&&G(r.slice(7))?r.slice(7):null;return!o&&!Cr.test(r)&&!rt(r)?null:{user:a[0],repo:a[1],ref:o??r,selector:o}}async function Mo(e,t,n){let r=jo(t.old);if(!r)return null;let{user:i,repo:a,ref:o,selector:s}=r,c=e=>{let n=t.old.lastIndexOf(o);return`${t.old.slice(0,n)}${e}${t.old.slice(n+o.length)}`};if(Cr.test(o)){let{hash:t,commit:r}=await ko(i,a,n),s=t.substring(0,o.length);return!t||o.toLowerCase()===s.toLowerCase()?null:{key:e,newRange:c(s),user:i,repo:a,oldRef:o,newRef:s,newDate:Tr(r)}}let l=br(await Ao(i,a,o,n),s?$n(s):o);if(!l)return null;let u=s?Do(s,Y(l),s):l;return u===o?null:{key:e,newRange:c(u),user:i,repo:a,oldRef:o,newRef:u}}const No=/[-_.]+/g,Po=/* @__PURE__ */ new WeakMap;function Fo(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=(r??[]).map(e=>({...e.upload_time_iso_8601&&{upload_time_iso_8601:e.upload_time_iso_8601},...e.yanked&&{yanked:!0}}));return t}async function Io(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(No,`-`)}/json`;return[{...await X(Po,t,n,async()=>{let r=await Un(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Bn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:Fo(e.releases)}}));`body`in r||Fr(r.res,n,e,t.pypiApiUrl);let i=JSON.parse(r.body);return{...i,releases:Fo(i.releases)}}),name:e},null]}function Lo(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=K(n.slice(0,-2));if(!r||r.dev!==null||r.local||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=K(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Dt(e.local?{...e,local:null}:e,r),a=r.local?Dt(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==0;if(t===`>=`)return i>=0;if(t===`<=`)return i<=0;let o=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(o&&e.post!==null&&r.post===null):t===`<`?i<0&&!(o&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.epoch===e.epoch&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function Ro(e,t=e.release.length){if(!e.local&&t===e.release.length)return e.version;let n=Array.from({length:t},(t,n)=>e.release[n]??0),r=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,i=e.pre?`${e.pre[0]}${e.pre[1]}`:``,a=e.post===null?``:`.post${e.post}`,o=e.dev===null?``:`.dev${e.dev}`;return`${r}${n.join(`.`)}${i}${a}${o}`}function zo(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1);let i=e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r));return`${n.epoch?`${n.epoch}!`:``}${i.join(`.`)}`}function Bo(e,t){let n=K(e);if(!n)return!1;let r=t.trim();if(!r)return!0;let i=K(r);if(i)return Dt(n,i)===0;let a=Ce(`x${r}`);return!a?.specifiers?.length||a.extras||a.marker?!1:a.specifiers.every(e=>Lo(n,e))}function Vo(e,t,n){let r=Ce(e),i=K(t),a=K(n);if(!r?.specifiers||!i||!a)return null;let o=r.specifiers,s=Te(o);if(s?.version!==t)return null;for(let e of o){if(e===s){let t=e.op===`~=`?i.release.length:a.release.length;e.version=e.op===`==`||e.op===`===`?n:Ro(a,t)}else if(Lo(a,e))continue;else{let t=K(e.version);if(e.op===`<`&&t)e.version=zo(t,i,a);else if(e.op===`<=`)e.version=Ro(a);else return null}if(!Lo(a,e))return null}return we(r,o)}function Ho(e){let t=[],n=/\s*(?:"((?:\\.|[^"\\])*)"|'([^']*)'|([\w-]+))\s*(?:\.|$)/gy;try{for(;n.lastIndex<e.length;){let r=n.exec(e);if(!r)return[];t.push(r[1]===void 0?r[2]??r[3]:JSON.parse(`"${r[1]}"`))}}catch{return[]}return t}function Uo(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1;for(let t=n;t<e.length;t++){let n=e[t];if(a)n===`
|
|
66
|
+
`&&(a=!1);else if(i)i===`"`&&n===`\\`?t++:n===i&&(i=``);else if(n===`"`||n===`'`)i=n;else if(n===`#`)a=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function Wo(e,t){let n=/* @__PURE__ */ new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=Ho(o[1]);else{let o=ra(a,`=`,`#`),s=o===-1?``:[...r,...Ho(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=Uo(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function Go(e,t){let n=/* @__PURE__ */ new Map;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`);B(n,t,()=>/* @__PURE__ */ new Map).set(i,r)}let r=Wo(e,n),i=e;for(let[e,t]of Array.from(r).reverse()){let r=n.get(e),a=Ve(r.keys()),o=i.slice(...t).replace(RegExp(`(['"])( *(${a})(?![\\w.-]).*?)(?=\\1)`,`g`),(e,t,n,i)=>{let{old:a,oldOrig:o,new:s}=r.get(i);return`${t}${Vo(n,o||a,s)??n}`});i=`${i.slice(0,t[0])}${o}${i.slice(t[1])}`}return i}function Ko(e){let t=/^(?!\.\.?\/)(?:https?:\/\/([^/]+)\/)?(([^/@]+)\/([^/@]+)[^@]*)@(.+)$/.exec(e);if(!t)return null;let[n,r=null,i,a,o,s]=t;return{host:r,owner:a,repo:o,ref:s,name:r?`${r}/${i}`:i,isHash:Sr.test(s)}}function qo(e,t){return e?e===`github.com`?Nn:`https://${e}/api/v1`:t}async function Jo(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`,o=i.noCache?null:await vn(a);if(o)return o.body;try{let e=await yr(a,i);if(e.status===404)return``;if(!e.ok)return;let t=Tr(await e.json());return t&&!i.noCache&&xn(a,`immutable`,t),t}catch(e){if(e instanceof gr)throw e;return}}function Yo(e,t){let n=e.replace(/^v/i,``);return Ir(V(n)?.version??n,t)}const Xo=/^(\s*(?:-\s*)?)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/;function Zo(e,t){let n=Xo.exec(e);if(!n)return null;let r=n[1].length,i=n[1].indexOf(`-`)+1;for(;t.length&&t.at(-1).indent>=(i||r);)t.pop();return{indent:r,key:(n[2]??n[3]??n[4]).trim(),value:n[5]}}const Qo=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function $o(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'#])\S+))([^\n]*)$/.exec(e);if(!t)return null;let[n,r,i=``,a,o,s]=t,c=a??o;if(!c)return null;let l=s.search(/(?<=\s)#/),u=l===-1?``:s.slice(l),d=u?Qo.exec(u.slice(1)):null;return{prefix:r,quote:i,value:c,gap:l===-1?s:s.slice(0,l),comment:u,pinnedVersion:d?.[1]??``,pinnedEnd:d?d[0].length+1:0}}function es(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
|
|
67
|
+
`).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=Zo(e,r);if(!t)return e;let a=t.key===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&(r[0].key===`jobs`||r[0].key===`runs`&&r[1].key===`steps`)),o=t.value.replace(/(?:^|\s)#.*$/,``).trim();if(o||r.push(t),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(o))return i=t.indent,e;let s=a&&$o(e);if(!s)return e;let{prefix:c,quote:l,value:u,gap:d,comment:f,pinnedVersion:p,pinnedEnd:m}=s,h=/^https?:\/\//.exec(u)?.[0]??``,g=p||/^#\s*(\S+)\s*$/.exec(f)?.[1]||``,_=u.slice(h.length),v=n.get(`${_}${g?`#${g}`:``}`)??n.get(_);if(!v)return e;let y=v.newComment&&p?`# ${v.newComment}${f.slice(m)}`:f;return`${c}${l}${h}${v.name}@${v.newRef}${l}${d}${y}`}).join(`
|
|
68
|
+
`)}const ts=RegExp(`(?:^|/)(?:(?:workflow-templates|(?:${Ve(j)})/(?:workflows|actions))/.+|action)\\.ya?ml$`);function ns(e){return ts.test(e.replace(/\\/g,`/`))}function rs(e){let t=/* @__PURE__ */ new Set;try{let n=m(e,`workflows`);for(let e of w(n))/\.ya?ml$/.test(e)&&t.add(g(n,e))}catch{}try{for(let n of w(e,{recursive:!0,withFileTypes:!0}))n.isFile()&&/^action\.ya?ml$/.test(n.name)&&t.add(g(n.parentPath,n.name))}catch{}return Array.from(t)}const is=/^(v?\d+(?:\.\d+)*(?:_\d+)?)([a-zA-Z][a-zA-Z0-9]*)?(-.+)?$/,as=/^[ \t]*FROM\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim,os=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,ss=String.raw`(?<=^[ \t]*(?:-[ \t]+)?|[{,][ \t]*)`,cs=/^\uFEFF?[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,ls=/^\uFEFF?[ \t]*FROM\s+(?:--platform=\S+\s+)?(\S+)/i;function us(e,t){return e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>t(n||r)??e)}function*ds(e,t=!1){let n=/* @__PURE__ */ new Map,r=!1;for(let i of e.matchAll(/^\uFEFF?[ \t]*(?:ARG|FROM)\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim)){let e=i[0].replace(/\\[ \t]*\r?\n[ \t]*/g,` `),a=cs.exec(e);if(a){if(!r){let e=a[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``,t=i[0].lastIndexOf(e);n.set(a[1],{value:e,resolved:us(e,e=>n.get(e)?.resolved),start:t<0?-1:i.index+t})}continue}r=!0;let o=ls.exec(e);o&&(yield{instruction:i,args:n,from:o,resolved:us(o[1],e=>n.get(e)?.[t?`resolved`:`value`])})}}const fs=/^(?:(?:index|registry-1)\.)?docker\.io$/;function ps(e){let t=e.split(`/`);return t.length>1&&fs.test(t[0])&&t.shift(),{registry:t.length>2||t.length>1&&(t[0]===`localhost`||t[0].includes(`.`)||t[0].includes(`:`))?t.shift():null,namespace:t.length===1?`library`:t.slice(0,-1).join(`/`),repo:t.at(-1)}}function ms(e){let{registry:t,namespace:n,repo:r}=ps(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[.../* @__PURE__ */ new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function hs(e){e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&!is.test(s))return null;let{registry:c,namespace:l,repo:u}=ps(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function gs(e){let t=is.exec(e);return!t||t[2]&&!t[3]&&Cr.test(e)?null:{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}}function _s(e,t){let n=[];if(t===as){for(let{from:t,resolved:r}of ds(e,!0)){let e=hs(r);e&&n.push({ref:e,match:t[1]})}return n}let r=t===os?vs(e):null;for(let i of e.matchAll(t)){if(r?.has(i.index+i[0].indexOf(`image:`)))continue;let e=hs(i[1]);e&&n.push({ref:e,match:i[1]})}return n}function vs(e){let t=/* @__PURE__ */ new Set,n=/* @__PURE__ */ new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim())continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=B(n,e,()=>({built:!1,images:[]}));if(/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const ys=/* @__PURE__ */ new WeakMap,bs=/* @__PURE__ */ new Set([401,403,404]);async function xs(e,t,n,r,i=e){let a=await Un(e,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Bn(r),i);return`body`in a?JSON.parse(a.body):(bs.has(a.res?.status)||Fr(a.res,e,n,t.dockerApiUrl),null)}function Ss(e,t,n){return X(ys,n,`${e}/${t}`,async()=>{let r={dates:{},digests:/* @__PURE__ */ new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=r=>xs(r,n,`${e}/${t}`,e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))}),`${r}#digest`),s=e=>{for(let t of e.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=Array.from({length:Math.min(20,Math.ceil(c.count/1e3))-1},(e,t)=>a(t+2)),u=new Set(l),d=await N(l,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:Kn(n)});for(let e of d){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),c=e.value}let f=new URL(i).origin;for(let e=l.length+2;e<=20&&c.next;e++){let e=new URL(c.next,i);if(e.origin!==f||u.has(e.href)||(u.add(e.href),c=await o(e.href),!c))break;s(c)}return r})}async function Cs(e,t,n){return(await Ss(e,t,n)).dates}async function ws(e,t,n,r){let i=(await Ss(e,t,r)).digests.get(n);if(i)return i;let a=(await xs(`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,r,`${e}/${t}:${n}`,e=>({digest:e.digest})))?.digest;return typeof a==`string`?a:null}const Ts=/^\d?[02468]\.04$/;function Es(e,t,n=Date.now()){return e===`ubuntu`?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=gs(e)?.version;return!t||Ts.test(t)&&n>=Date.UTC(2e3+Number(t.split(`.`)[0]),4)})):t}async function Ds(e,t){let{registry:n,namespace:r,repo:i}=ps(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:Es(i,await Cs(r,i,t)),name:e},null]}const Os=({version:e,prerelease:t})=>`${Fs(e)}${t?`-${t}`:``}`;function ks(e){let t=gs(e);return t?Fs(t.version):``}const As=/[._]/,js=e=>Y(e.version).split(As).map(Number),Ms=e=>Y(e).replace(/\d+/g,``),Ns=2e7,Ps=e=>Number(Y(e).split(As)[0]);function Fs(e){let t=Y(e).split(As).slice(0,3);return[...t.map(e=>String(Number(e))),...Array(3-t.length).fill(`0`)].join(`.`)}function Is(e,t){let n=js(e),r=js(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!!e.prerelease==!!t.prerelease?e.prerelease.localeCompare(t.prerelease):e.prerelease?-1:1}function Ls(e,t){let n=js(t),r=js(e).findIndex((e,t)=>e!==n[t]);return r===0?`major`:r===1?`minor`:`patch`}function Rs(e,t,n,r,i,a,o=!1,s=!1){let c=gs(t);if(!c)return null;let l=Ms(c.version),u=Ps(c.version)>=Ns,d=Os(c),{effectiveSemvers:f,skipsPrerelease:p}=Qn(d,o,s,n),m=l.length>2||l.includes(`_`),h=V(d),g=c,_={newTag:``,date:``};for(let[t,d]of Object.entries(e)){let e=gs(t);if(!e||e.suffix!==c.suffix||Ms(e.version)!==l||!u&&Ps(e.version)>=Ns||!jn(d,r,i))continue;let v=Os(e);if(a&&!W(v,a))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||Is(e,g)<=0||!n.has(Ls(c,e)))continue;g=e,_={newTag:t,date:d};continue}let y=V(v);if(!y||e.prerelease&&p(y))continue;if(y.version===h.version){_.newTag&&Date.parse(d)>Date.parse(_.date)&&(_={newTag:t,date:d});continue}let b=q.diff(h,y);!b||!f.has(b)||q.compare(y,h)<=0||(h=y,_={newTag:t,date:d})}if(!_.newTag)return null;if(m)return _;let[v,y=``]=h.version.split(`-`),b=Ir(v,c.version,`${y}${c.suffix}`),x=b in e?b:_.newTag;return x===t?null:{newTag:x,date:_.date}}function zs(e){let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function Bs(e,t,n,r=`gm`,i=e=>!0){if(!t.size)return e;let a=Ve(t.keys()),o=e;for(let e of n)o=o.replace(RegExp(`(${e})(${a})(?![\\w.@+-])`,r),(e,n,r,a)=>i(a)?`${n}${t.get(r)??r}`:e);return o}function Vs(e,t){let n=`(?:[ \\t]+|\\\\[ \\t]*\\r?\\n[ \\t]*)`,r=zs(t);if(!r.size)return e;let i=Bs(e,r,[`^\\uFEFF?[ \\t]*FROM${n}+(?:--platform=\\S+${n}+)?`],`gim`),a=/* @__PURE__ */ new Map;for(let{instruction:e,args:t,from:n,resolved:o}of ds(i)){let i=r.get(o);if(!i)continue;let s=o.lastIndexOf(`@`),c=i.lastIndexOf(`@`),l=o.slice(s+1),u=i.slice(c+1),d=s!==-1&&c!==-1&&l!==u,f=d?e[0].lastIndexOf(l):-1;f!==-1&&a.set(e.index+f,[l.length,u]);let p=e=>t.get(e)?.value;for(let e of n[1].matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let r=t.get(e[1]||e[2]),o=us(n[1].slice(0,e.index),p),s=us(n[1].slice(e.index+e[0].length),p);d&&(s=s.replace(l,u)),!(!r||r.start<0||!i.startsWith(o)||!i.endsWith(s))&&a.set(r.start,[r.value.length,i.slice(o.length,s?-s.length:void 0)])}}for(let[e,[t,n]]of[...a].sort(([e],[t])=>t-e))i=`${i.slice(0,e)}${n}${i.slice(e+t)}`;return i}function Hs(e,t){let n=vs(e);return Bs(e,zs(t),[String.raw`${ss}image:\s*['"]?`],`gm`,e=>!n.has(e))}function Us(e,t){return Bs(e,zs(t),[String.raw`${ss}(?:container|image):\s*['"]?`,String.raw`${ss}uses:\s*['"]?docker://`])}const Ws=[`Dockerfile`,`Containerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function Gs(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function Ks(e){return/^(?:[Dd]ocker|[Cc]ontainer)file|\.(?:[Dd]ocker|[Cc]ontainer)file$/.test(e)}function qs(e){return Ks(e)||Gs(e)}function Js(e){return Ks(e)?as:os}function Ys(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const Xs=[`Makefile`,`makefile`,`GNUmakefile`];function Zs(e){return Xs.includes(e)||e.endsWith(`.mk`)}const Qs=/^\s*(?:(?:export|override|private|unexport)\s+)*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,$s=/^([^@\s]+)@(v\d\S*)$/,ec=/^[^/\s]+\.[^/\s]+\//;function*tc(e){let t=``;for(let n of[...e.split(/\r?\n/),``]){let e=n.indexOf(`#`),r=e===-1?n:n.slice(0,e),i=0;for(;r[r.length-i-1]===`\\`;)i++;if(i%2){t+=`${r.slice(0,-1)} `;continue}let a=Qs.exec(t+r);if(t=``,!a)continue;let o=``,s=``;for(let e of a[1])o?e===o?o=``:s+=e:e===`"`||e===`'`?o=e:/\s/.test(e)?(s&&(yield s),s=``):s+=e;s&&!o&&(yield s)}}function nc(e){let t=[];for(let n of tc(e)){let e=$s.exec(n);e&&ec.test(e[1])&&t.push({installPath:e[1],version:e[2]})}return t}const rc=/@(sha256:[0-9a-f]{64})$/;function ic(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function ac(e){let t=rc.exec(e),n=t?e.slice(0,t.index):e,r=hs(n.replace(/^docker\.io\//,``));return!r||r.registry||r.namespace===`library`?null:{writtenImage:n.slice(0,n.lastIndexOf(`:`)),ref:r,digest:t?.[1]??null}}function oc(e){return Array.from(tc(e),ac).filter(e=>e!==null)}const sc=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,cc=/* @__PURE__ */ new WeakMap;function lc(e,n,r){return X(cc,r,`${g(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){let n=String(t?.stderr??``).trim().split(`
|
|
69
|
+
`)[0]||t?.message||String(t);throw Error(`go list -m ${e}@latest failed: ${n}`)}let a;try{a=JSON.parse(i)}catch{throw Error(`go list -m ${e}@latest returned malformed JSON`)}if(a.Error){let t=a.Error.Err;if(a.Origin&&t?.endsWith(`no matching versions for query "latest"`))return null;throw Error(`go list -m ${e}@latest failed: ${t||`unknown error`}`)}if(typeof a.Version!=`string`)throw Error(`go list -m ${e}@latest returned malformed JSON`);return!0},!1)}async function uc(e,t,n,r){let i=sc.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=e.split(`/`),o=Array.from({length:a.length-1},(e,t)=>a.slice(0,a.length-t).join(`/`));for(let{url:i,fallback:a}of Gr(e,n,r)){if(i===`off`)break;let e=await Promise.allSettled(o.map(async e=>i===`direct`?lc(e,t,n):!!await gi(n,`primary`,i,e)));for(let[t,n]of e.entries()){if(n.status===`rejected`&&a===`,`)throw n.reason;if(n.status===`fulfilled`&&n.value)return o[t]}}return null}function dc(e,t){let n=new Map(t.map(({oldSpec:e,newSpec:t})=>[e,t]));if(!n.size)return e;let r=Array.from(n.keys()).sort((e,t)=>t.length-e.length).map(e=>Array.from(e,F).join(`["']*`)).join(`|`),i=RegExp(`(?<![\\w./@:-])(${r})(?=[\\s#"']|$)`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=n.get(e.replace(/["']/g,``)),r=0;return e.replace(/[^"']/g,()=>t[r++]??``)+t.slice(r)}))}const fc=/* @__PURE__ */ new WeakMap;function pc(e){let t=e.toLowerCase();return t.length<=2?`${t.length}/${t}`:t.length===3?`3/${t[0]}/${t}`:`${t.slice(0,2)}/${t.slice(2,4)}/${t}`}function mc(e){return e.split(`
|
|
72
70
|
`).map(e=>{if(!e)return e;try{let{vers:t,yanked:n,pubtime:r}=JSON.parse(e);return JSON.stringify({vers:t,yanked:n,pubtime:r})}catch{return e}}).join(`
|
|
73
|
-
`)}async function
|
|
74
|
-
`)){if(!e)continue;let t;try{t=JSON.parse(e)}catch{continue}if(c++,!t?.vers||t.yanked)continue;let n=t.vers.split(`+`)[0];i[n]={},t.pubtime&&(a[n]=t.pubtime);let r=
|
|
75
|
-
`)){let a=n?null:Jc.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:a[2],start:r,end:e.length,rewrites:[]})):n=Yc(i,n),r+=i.length+1}return t}function Zc(e,t){let n=Xc(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=Kc(i),c=L(a),l=t.startsWith(`[`)?JSON.parse(qc.exec(t)[0]):t.split(`|`,1)[0].split(`.`),u=`[ \\t]*\\.[ \\t]*`,d=l.map(Kc).join(u),f=RegExp(`^${d}${u}${s}$`),p=RegExp(`^${d}$`),m=n.find(e=>f.test(e.path)),h=m??n.find(e=>p.test(e.path));if(!h)throw Error(`Unable to locate Cargo table for ${t}.${i}`);h.rewrites.push({simpleRe:RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`),inlineRe:RegExp(`^(\\s*${s}\\s*=\\s*\\{(?:"[^"\\n]*"|'[^'\\n]*'|[^"'}\\n])*?\\bversion\\s*=\\s*["'])${c}(["'])`),...m&&{versionRe:RegExp(`^(\\s*version\\s*=\\s*["'])${c}(["'].*)$`)},newValue:o})}let r=e;for(let t of n.reverse()){if(!t.rewrites.length)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=e;if(!n)for(let e of t.rewrites)r=r.replace(e.simpleRe,`$1${e.newValue}$2`).replace(e.inlineRe,`$1${e.newValue}$2`),e.versionRe&&(r=r.replace(e.versionRe,`$1${e.newValue}$2`));return n=Yc(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const Qc=l(pe),$c=new Set(Ee),el=[`**/node_modules/**`,`**/bower_components/**`,`**/vendor/**`,`**/examples/**`,`**/__tests__/**`,`**/test/**`,`**/tests/**`,`**/__fixtures__/**`];function tl(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n],i=r===`{`?Ue(e,n,`{`,`}`):r===`[`?e.indexOf(`]`,n):-1;if(r===`*`&&e[n+1]===`*`){let r=e[n+2]===`/`;n+=r?2:1,t+=r?`(?:.*/)?`:`.*`}else r===`*`?t+=`[^/]*`:r===`?`?t+=`[^/]`:r===`{`&&i!==-1?(t+=`(?:${We(e.slice(n+1,i)).map(tl).join(`|`)})`,n=i):r===`[`&&i!==-1?(t+=`[${e.slice(n+1,i).replace(/^!/,`^`).replaceAll(`\\`,`\\\\`)}]`,n=i):t+=L(r)}return t}const nl=/* @__PURE__ */ new Map,rl=e=>H(nl,e,()=>RegExp(`^${tl(e)}$`));function il(e,{includePaths:t,excludePaths:n}){return t.length&&t.every(t=>e!==t&&!rl(t).test(e))?!1:n.every(t=>!e.includes(t)&&!rl(t).test(e))}function al(e){let t=f(e);return Object.hasOwn(De,t)||pc(t)||_c(t)||_s(e)}async function ol(e){try{return(await Qc(`git`,[`ls-files`,`--cached`,`--others`,`--exclude-standard`,`-z`],{cwd:e,maxBuffer:2**30})).stdout.split(`\0`)}catch{return null}}function sl(e){try{return e.split(/[\\/]/).some(e=>$c.has(e))?w(e,{recursive:!0,encoding:`utf8`}):w(e,{withFileTypes:!0}).flatMap(t=>t.isDirectory()&&$c.has(t.name)?w(h(e,t.name),{recursive:!0,encoding:`utf8`}).map(e=>h(t.name,e)):[t.name])}catch{return[]}}async function cl(e,t,n){let r=await ol(e),i=[];for(let a of[...r??[],...n||!r?sl(e):[]]){let n=_(e,a);al(n)&&il(a.replaceAll(`\\`,`/`),t)&&ee(n,{throwIfNoEntry:!1})?.isFile()&&i.push(n)}return i.sort((e,t)=>e.split(/[\\/]/).length-t.split(/[\\/]/).length)}const ll=/^(!?)\/(.*)\/(i?)$/,ul=e=>e.isHash&&!!e.comment&&!Ar(e.comment),dl=[...new Set(Object.values(De)),`actions`,`docker`,`make`],fl=new Set(dl),pl={patch:/* @__PURE__ */ new Set([`patch`]),minor:/* @__PURE__ */ new Set([`patch`,`minor`]),major:/* @__PURE__ */ new Set([`patch`,`minor`,`major`])},ml={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},hl=(e,t)=>Rn(typeof e==`string`?e:t),gl=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function _l(e){try{return te.native(e)}catch{return _(e)}}function vl(e,t){let n=/* @__PURE__ */ new Map,r=new Set(e);return B(t,e=>{for(let t of r){let i=h(e,t);try{y(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function yl(e,t){t&&(e.date=t,e.age=wa(t,{noAffix:!0,shortUnits:!0}))}const bl=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,xl=(e,t,n,r)=>bl(`${e}${t}`,n,r),Sl=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?Aa(n):`${Aa(n)}|${t}`)},Cl=e=>Object.values(e).some(e=>Object.keys(e).length>0),wl=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),Tl=(e,t)=>to.has(e)?no(t):t;function El(e,t){return t===`go`?[e,Wi(e)]:t===`docker`?As(e):t===`pypi`?[e,wl(e)]:[e]}function $(e,t,n,r,i,a=t,o=e){if(i===`engines`&&Te.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(/* @__PURE__ */ new Set([...El(e,a),...El(o,a)])),c=(t,n)=>Qt(t,n,o,e);for(let e of r)if(s.some(t=>c(e,t)))return!1;for(let e of n)if(s.some(t=>c(e,t)))return!0;return!n.size}async function Dl(e,t,n){let r=/* @__PURE__ */ new Set,i=/* @__PURE__ */ new Set,a=e=>{if(r.has(e))return;let t=_l(e);i.has(t)||(i.add(t),r.add(e))},o=[];for(let t of e??[]){let e;try{e=T(t)}catch(e){throw Error(`Unable to open ${t}: ${e.message}`)}if(e.isFile())a(_l(t));else if(e.isDirectory())o.push(_l(t));else throw Error(`${t} is neither a file nor directory`)}e?.length||o.push(t);let s=Promise.all(o.map(t=>cl(t,n,!!e?.length)));if(!e?.length){let e=new Set(Ee),r=[...Object.keys(De),...uc,...gc,...Ee];for(let[i,o]of vl(r,t))if(p(o)!==t)for(let r of e.has(i)?vs(o):[_(o)])il(g(t,r).replaceAll(`\\`,`/`),n)&&a(r)}for(let e of(await s).flat())a(e);let c=[];for(let e of Array.from(r)){let t=f(e);Object.hasOwn(ml,t)&&(c.push(e),r.delete(h(p(e),ml[t])))}return c.length?/* @__PURE__ */ new Set([...c,...r]):r}function Ol(e,t){i===`win32`&&E(e,0),ne(e,t,i===`win32`?{flag:`r+`}:void 0)}const kl=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function Al(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function jl(e){let t={results:{}},n=/* @__PURE__ */ new Map,r=Object.entries(e).sort(([e],[t])=>dl.indexOf(e)-dl.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=kl(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,a]of Object.entries(i)){typeof a.oldPrint==`string`&&(a.old=a.oldPrint),typeof a.newPrint==`string`&&(a.new=a.newPrint),typeof a.oldOrig==`string`&&!xo(a.oldOrig)&&(a.old=e===`go`?Gi(a.oldOrig):a.oldOrig),e===`go`?a.new=Gi(a.new):e===`actions`&&!a.digestOnly&&(a.old=Z(a.old),a.new=Z(a.new)),delete a.oldPrint,delete a.newPrint,delete a.oldOrig,delete a.date;let[i,o,s]=r.split(`\0`),c=s&&n.get(kl(e,r))>1?`${o}${e===`actions`?`@`:`:`}${Al(s)}`:o,l=t.results[e]??={};(l[Al(i)]??={})[c]=a}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function Ml(e,t){if(!t)return()=>!0;let n=ll.exec(t);if(n){let e=new RegExp(n[2],n[3]);return n[1]?t=>!e.test(t):t=>e.test(t)}return e===`docker`?e=>J(qs(e),t):e===`pypi`?e=>$o(e,t):e=>J(e,t)}function Nl(e,t,n){if(!n)return e;let r=Ml(t,n),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>r(e)));if(t===`go`)return{...e,...e.versions&&{versions:i(e.versions)},new:typeof e.new==`string`&&r(e.new)?e.new:``,sameMajorNew:typeof e.sameMajorNew==`string`&&r(e.sameMajorNew)?e.sameMajorNew:``};let a=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[a]:i(e[a]??{})}}async function Pl(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Fl(e)}finally{n()}}async function Fl(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=Re(n.timeout,`timeout`));let r=n.sockets??50,i=n.timeout??0,o=hl(t.forgeapi,Ln.forgeapi),s=Zr(t.goproxy),c=Qr(),l=!n.noColor&&(n.color||a.isTTY),u=e=>l?t=>d(e,String(t),{validateStream:!1}):String,m=u(`magenta`),g=u(`green`),v=u(`red`),y,b={execFile:async(e,t,n)=>(await ur())(e,t,n),fetchTimeout:i||5e3,goProbeTimeout:i?Math.max(1,Math.floor(i/2)):2500,concurrency:r,forgeApiUrl:o,pypiApiUrl:hl(t.pypiapi,Ln.pypiapi),jsrApiUrl:hl(t.jsrapi,Ln.jsrapi),goProxyChain:s,cratesIoUrl:hl(t.cargoapi,Ln.cargoapi),dockerApiUrl:hl(t.dockerapi,Ln.dockerapi),doFetch:(e,t)=>(y??=Qn(b))(async()=>{n.verbose&&console.error(`${Pe()} ${m(t?.method||`GET`)} ${e}`);let r=await Hn(e,t);return n.verbose&&console.error(`${Pe()} ${r.ok?g(r.status):v(r.status)} ${e}`),r}),noCache:!!n.noCache},x=/* @__PURE__ */ new Map,ee=async(e,t,n)=>{let r=`${e}${t}${n}`,i=H(x,r,()=>Bs(e,t,n,b));try{return await i}catch(e){throw x.get(r)===i&&x.delete(r),e}};for(let e of n.modes??[])if(!fl.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${dl.join(`,`)}`);let S=n.modes?.length?new Set(n.modes):fl,C=e=>{let t=(e.overrides??[]).map(e=>({include:e.include?.length?ln(e.include):void 0,exclude:e.exclude?.length?ln(e.exclude):void 0,greatest:e.greatest,prerelease:e.prerelease,release:e.release,patch:e.patch,minor:e.minor,allowDowngrade:e.allowDowngrade,cooldownDays:e.cooldown===void 0?void 0:Le(String(e.cooldown))})),n=e.renovateVersionRules??[];return{greatest:pn(e.greatest),prerelease:pn(e.prerelease),release:pn(e.release),patch:pn(e.patch),minor:pn(e.minor),allowDowngrade:pn(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}},w=/* @__PURE__ */ new WeakMap;function te(e,t,n,r=n){let i=H(w,e,()=>/* @__PURE__ */ new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(/* @__PURE__ */ new Set([...El(n,t),...El(r,t)])),c=e=>s.some(t=>Ne(t,e)),l=c(e.greatest),u=c(e.prerelease),d=c(e.release),f=c(e.patch),p=c(e.minor),m=c(e.allowDowngrade),h,g;for(let t of e.renovateVersionRules)Yt(t,n,r)&&(t.allowedVersions!==void 0&&(g=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));for(let t of e.overrides)t.include&&s.every(e=>!Ne(e,t.include))||t.exclude&&s.some(e=>Ne(e,t.exclude))||(t.greatest!==void 0&&(l=t.greatest),t.prerelease!==void 0&&(u=t.prerelease),t.release!==void 0&&(d=t.release),t.patch!==void 0&&(f=t.patch),t.minor!==void 0&&(p=t.minor),t.allowDowngrade!==void 0&&(m=t.allowDowngrade),t.cooldownDays!==void 0&&(h=t.cooldownDays));let _=f?pl.patch:p?pl.minor:pl.major;o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:_,allowDowngrade:m,cooldownOverride:h,allowedVersions:g},i.set(a,o)}return o}dn(n.pin);let T=n.pin??{},E=(e,t,n)=>{let r=e.find(e=>T[e]);if(r)return{pinnedRange:T[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},ne=(e,t,n,r,i,a,o)=>{let s=te(e,t,n,r);return{...s,...E(s.names,i,a),cooldownDays:s.cooldownOverride??o}},D={},re={},ie=/* @__PURE__ */ new Map,ae=/* @__PURE__ */ new Map,O=/* @__PURE__ */ new Map,k=/* @__PURE__ */ new Map,se=/* @__PURE__ */ new Map,A=[],j=(e,t,n)=>{let[r,i]=t.split(`\0`);A.push({mode:e,type:r,name:i,error:n?.message||String(n)})},M=(e,t,n)=>{delete D[e][t],j(e,t,n)},ce={},le=Date.now(),ue=_l(e()),de=e=>e.replace(`${ue}/`,``).replace(`${ue}\\`,``),fe=(e,t,n,r,i,a)=>{D[e][xl(t,n,r)]={old:i,oldOrig:a}},N=(e,t,n)=>{if(Co(n))return;let r=To(n);if(xo(n))D.npm[e]={old:Oo(n,t).version,new:``,oldOrig:n};else if(bt(n))D.npm[e]={old:Vo(n),new:``,oldOrig:n};else if(r)ae.set(e,r),D.npm[e]={old:Vo(r.range),new:``,oldOrig:n};else if(So(n))return;else re[e]={old:n}},pe=(e,t,n,r,i,a,o)=>{let s=new Set(Object.keys(t.tool?.uv?.sources??{}).map(wl)),c=(t,r)=>{for(let{name:o,version:c,spec:l}of Ce(t))s.has(wl(o))||$(o,e,i,a,r)&&(fe(e,r,n,o,Vo(c),c),se.set(xl(r,n,o),l))};for(let[s,l]of Me(r,t)){let t=l||{};if(Array.isArray(t)){if(e!==`pypi`)continue;c(t,s)}else if(typeof t==`string`){let[r,o]=t.split(`@`);$(r,e,i,a,s)&&fe(e,s,n,r,Vo(o),o)}else{if(e===`npm`&&(s===`overrides`||s===`pnpm.overrides`)){let r=s===`overrides`?[`overrides`]:[`pnpm`,`overrides`],c=(t,l)=>{for(let[u,d]of Object.entries(t))if(typeof d==`string`){let t=no(u===`.`?l.at(-1)??u:u);if(o?.has(t))continue;let c=To(d);if(!$(t,e,i,a,s,e,c?.name??t))continue;let f=[...r,...l,u],p=JSON.stringify(f),m=xl(s,n,t,p);N(m,t,d)}else d&&typeof d==`object`&&!Array.isArray(d)&&c(d,[...l,u])};c(t,[]);continue}for(let[r,l]of Object.entries(t)){if(e===`pypi`&&Array.isArray(l)){c(l,`${s}.${r}`);continue}typeof l==`string`&&(o?.has(Tl(s,r))||$(r,e,i,a,s,e,(e===`npm`?To(l):null)?.name??r)&&(e===`npm`?N(xl(s,n,r),r,l):e===`go`?fe(e,s,n,r,Gi(l),Z(l)):bt(l)&&fe(e,s,n,r,Vo(l),l)))}}}},me=await Dl(n.files,ue,{includePaths:n.includePaths??[],excludePaths:n.excludePaths??el}),P=new Map(await I(Array.from(me).filter(e=>{if(_s(e))return S.has(`actions`)||S.has(`docker`);let t=f(e);return pc(t)?S.has(`docker`):_c(t)?S.has(`make`):S.has(De[t])}),async e=>{try{return[e,await oe(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),he={},ge=[],_e=[],ve=[],ye=[],be=[],xe=[],Se=[],Te=[],Ee={},F=(e,t,n)=>{(Ee[e]??=/* @__PURE__ */ new Map).set(t===`.`?``:`|${t}`,n)},Fe=t[rn],Ie=Fe&&new Set(Fe.cliKeys),L=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!Ie||Ie.has(e)))),R=Je(async e=>{let t={...await hn(e),...L};return{modeConfig:t,include:ln(t.include??[]),exclude:ln(t.exclude??[]),versionConfig:C(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?Le(String(t.cooldown)):0}});function Be(e,t){return t.types?.length?t.types:e===`npm`?we:e===`pypi`?Oe:e===`go`?t.indirect?ke:ke.filter(e=>e!==`indirect`):e===`cargo`?[...Ae,...je]:[]}let Ve=(e,t)=>({modeConfig:e.modeConfig,versionConfig:e.versionConfig,projectDir:t,pin:e.pin,cooldownDays:e.cooldownDays}),He=e=>{let t=[],n=-1;for(let[r,i]of e.split(/\r?\n/).entries()){let e=/^(\s*)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(i);if(!e)continue;let a=e[1].length,o=(e[2]??e[3]??e[4]).trim();if(a===0){n=o===`overrides`?a:-1;continue}if(n===-1||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trimEnd(),c=e[5].length-e[5].trimStart().length,l=/^(['"])(.*)\1$/.exec(s.trimStart()),u=l?.[2]??s.trimStart();t.push({selector:o,value:u,lineNumber:r,valueIndex:i.length-e[5].length+c+Number(!!l)})}return t};function Ue(e,t,n){if(D.docker??={},!$(e.fullImage,`docker`,n.include,n.exclude,`docker`))return;let r=`${e.tag}${e.digest?`@${e.digest}`:``}`,i=bl(t,e.fullImage,r);if(D.docker[i])return;let a=Ms(e.tag);(a||e.digest)&&(D.docker[i]={old:a?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Se.push({key:i,fullImage:e.fullImage,ref:e,versionConfig:n.versionConfig,filePin:n.pin,fileCooldownDays:n.cooldownDays}))}let We=/* @__PURE__ */ new Map,z=/* @__PURE__ */ new Map;for(let e of me){let t=f(e);if(t===`package.json`){let t=P.get(e);if(!t)continue;try{let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages;Array.isArray(r)&&r.some(e=>typeof e==`string`)&&z.set(e,n)}catch{}}else if(t===`Cargo.toml`){let t=P.get(e);if(!t)continue;try{let n=da(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&We.set(e,n)}catch{}}}let Ge={cargo:We.size,go:Array.from(me).filter(e=>f(e)===`go.work`).length,npm:(/* @__PURE__ */ new Set([...z.keys(),...Array.from(me).filter(e=>f(e)===`pnpm-workspace.yaml`)])).size},Ke=(e,t,n,r,i)=>{let a=ce[e]??=[],o=!a.length&&!Ge[e],s=o?`.`:de(t);return a.push({absPath:_(t),content:n,memberPath:s,projectDir:r}),F(e,s,Ve(i,r)),o?``:`|${s}`},qe=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},B=(e,t,n)=>Ge[e]>1?`${de(t)}:${n}`:n,V=(e,t,n,r,i,a,o)=>{let s=B(`npm`,e,n.memberPath);F(`npm`,s,Ve(a,t)),ye.push({...n,memberPath:s}),pe(`npm`,r,s===`.`?``:`|${s}`,i,a.include,a.exclude,o)};for(let e of We.size||z.size?/* @__PURE__ */ new Set([...We.keys(),...z.keys(),...P.keys()]):P.keys()){if(_s(e)){let t=S.has(`actions`),n=S.has(`docker`),r=P.get(e),i=de(e),a=await R(p(e)),s=/* @__PURE__ */ new Set;he[i]={absPath:e,content:r,fileType:`workflow`,workflowLines:s};let c=[];for(let[e,l]of r.split(/\r?\n/).entries()){if(t){let e=ps(l),t=e&&os(e.value);if(t&&$(t.name,`actions`,a.include,a.exclude,`actions`)){D.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=t.isHash&&n?`${n}@${t.ref}`:t.ref,s=bl(i,t.name,r);D.actions[s]||(D.actions[s]={old:t.ref},xe.push({...t,key:s,comment:n,apiUrl:ss(t.host,o),versionConfig:a.versionConfig,filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}if(!n)continue;let r=ds(l,c);if(!r)continue;let{indent:u,key:d}=r,f=d===`container`&&c.length===2&&c[0].key===`jobs`,p=d===`image`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`container`||c.length===4&&c[0].key===`jobs`&&c[2].key===`services`),m=d===`uses`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`steps`||c.length===2&&c[0].key===`runs`&&c[1].key===`steps`);if((f||p||m)&&r.value){let t=js(r.value.replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(Ue(t,i,a),s.add(e))}c.push({indent:u,key:d})}continue}let t=f(e),n=_(e);if(pc(t)){let n=P.get(e),r=de(e),i=fc(t)?`dockerfile`:`compose`,a=await R(p(e));he[r]={absPath:e,content:n,fileType:i};for(let{ref:e}of Ps(n,mc(t)))Ue(e,r,a);continue}if(_c(t)){let t=P.get(e),n=de(e),r=await R(p(e));he[n]={absPath:e,content:t,fileType:`make`},D.make??={};let i={projectDir:p(e),versionConfig:r.versionConfig,filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of Sc(t)){if(!$(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=bl(n,e,a);D.make[t]||(D.make[t]={old:Z(a),oldOrig:a},Te.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of Ec(t)){if(!$(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=bl(n,e.writtenImage,e.ref.tag);if(D.make[t])continue;let a=Ms(e.ref.tag);if(!a)continue;let o=wc(e.writtenImage,e.ref.tag,e.digest);D.make[t]={old:a.version,oldOrig:e.ref.tag},Te.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let i=De[t];if(t===`go.work`){D[i]??={};let t=p(n),a=P.get(e),o=Vi(a),[{modeConfig:s,include:c,exclude:l,versionConfig:u,pin:d,cooldownDays:f},m]=await Promise.all([R(t),I(o.use,async e=>{let n=Hi(t,e);if(!n)return null;try{return{usePath:e,modPath:n,content:await oe(n,`utf8`)}}catch{return null}},{concurrency:r})]),h=Be(i,s),g=B(i,e,`.`),_=Ve({modeConfig:s,versionConfig:u,pin:d,cooldownDays:f},t);F(i,g,_),_e.push({file:e,content:a,memberPath:g});let v=/* @__PURE__ */ new Set,y=[];for(let e of m){if(!e)continue;let t=vi(e.content);t&&v.add(t),y.push({...e,parsed:yi(e.content)})}for(let{usePath:t,modPath:n,content:r,parsed:a}of y){let o=B(i,e,t);F(i,o,_),ge.push({absPath:n,content:r,projectDir:p(n),memberPath:o}),pe(i,a,o===`.`?``:`|${o}`,h,c,l,v)}for(let[e,t]of Object.entries(o.replace))!v.has(e)&&$(e,i,c,l,`replace`)&&fe(i,`replace`,g===`.`?``:`|${g}`,e,Gi(t),Z(t));continue}if(t===`go.mod`&&ge.some(e=>e.absPath===n)||t===`package.json`&&ye.some(e=>e.absPath===n)||t===`Cargo.toml`&&ve.some(e=>e.absPath===n))continue;if(t===`Cargo.toml`){D[i]??={};let t=P.get(e),a=We.get(e)??da(t),o=p(n),s=vl([`Cargo.lock`],o).get(`Cargo.lock`),c=a.workspace?.members,l=Array.isArray(c)&&c.length>0,[u,d,f]=await Promise.all([R(o),s?oe(s,`utf8`):null,l?Fa(c,o,`Cargo.toml`,r):[]]),{modeConfig:m,include:h,exclude:g}=u,_=Be(i,m),v=d?Rc(d):/* @__PURE__ */ new Map,y=(e,t)=>{for(let[n,r]of Me(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[r,a]of Object.entries(e))if($(r,i,h,g,n)){if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)&&!(`registry`in a)){let e=a.version,o=a.package||r;bt(Hc(e))&&(o!==r&&ie.set(xl(n,t,r),o),fe(i,n,t,r,Gc(v,o,e)??Vo(Hc(e)),e))}else typeof a==`string`&&bt(Hc(a))&&fe(i,n,t,r,Gc(v,r,a)??Vo(Hc(a)),a)}}}};if(l){let r=B(i,e,`.`),s=Ve(u,o);F(i,r,s),y(a,r===`.`?``:`|${r}`),ve.push({absPath:n,content:t,memberPath:r});for(let t of f){let n=B(i,e,t.memberPath);F(i,n,s),ve.push({...t,memberPath:n}),y(qe(t.absPath,()=>da(t.content)),`|${n}`)}}else y(a,Ke(i,e,t,o,u));continue}if(t===`package.json`&&z.has(e)){D[i]??={};let t=p(n),a=P.get(e),o=z.get(e),s=Array.isArray(o.workspaces)?o.workspaces:o.workspaces?.packages,c=Array.isArray(s)?s.filter(e=>typeof e==`string`):[],[l,u]=await Promise.all([R(t),Fa(c,t,`package.json`,r)]),d=Be(i,l.modeConfig),f=/* @__PURE__ */ new Set,m=[];for(let e of u){let t=qe(e.absPath,()=>JSON.parse(e.content));typeof t.name==`string`&&t.name&&f.add(t.name),m.push({member:e,pkg:t})}V(e,t,{absPath:n,content:a,memberPath:`.`},o,d,l,f);for(let{member:n,pkg:r}of m)V(e,t,n,r,d,l,f);continue}if(t===`pnpm-workspace.yaml`){D[i]??={};let a=p(n),o=P.get(e),s=$a(o),c=h(a,`package.json`),[l,u,d]=await Promise.all([R(a),ze(oe(c,`utf8`)),Fa(s,a,`package.json`,r)]),f=Be(i,l.modeConfig),m=B(i,e,t);F(i,m,Ve(l,a)),be.push({absPath:n,content:o,memberPath:m});for(let{type:e,name:t,value:n}of Za(o))$(t,i,l.include,l.exclude,e,i,To(n)?.name??t)&&N(xl(e,`|${m}`,t),t,n);for(let{selector:e,value:t}of He(o)){let n=e.match(/(?:^|>)(?:@[^/>\s]+\/[^@>\s]+|[^@>\s]+)(?=@|>|$)/g)?.at(-1)?.replace(/^>/,``)??e,r=`pnpm-workspace.overrides`;if(!$(e,i,l.include,l.exclude,r,i,n))continue;let a=JSON.stringify(e),o=xl(r,`|${m}`,e,a);O.set(o,n),k.set(o,e),N(o,e,t)}if(u!==null){let t=qe(c,()=>JSON.parse(u));V(e,a,{absPath:_(c),content:u,memberPath:`.`},t,f,l)}for(let t of d)V(e,a,t,qe(t.absPath,()=>JSON.parse(t.content)),f,l);continue}D[i]??={};let a=p(n),s=await R(a),{modeConfig:c,include:l,exclude:u}=s,d=Be(i,c),m=P.get(e);pe(i,qe(e,()=>i===`npm`?JSON.parse(m):i===`pypi`?da(m):yi(m)),Ke(i,e,m,a,s),d,l,u)}let Ye=Object.keys(re).length>0;if(!Cl(D)&&!Ye)return{results:{},message:`No dependencies found, nothing to do.`};let Xe=[],Ze=(e,t)=>O.get(e)??ae.get(e)?.name??Tl(e.split(`\0`)[0].split(`|`)[0],t),Qe={needsDates:Ee.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1};for(let[e,t]of Object.entries(Ee))(Object.keys(D[e]).length||e===`npm`&&Ye)&&Xe.push((async()=>{let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},o=/* @__PURE__ */ new Map,s=D[e],l=async(t,r,i)=>{let l=Aa(r),{modeConfig:u,versionConfig:d,projectDir:f,pin:p,cooldownDays:h}=a(r),g=s[t],_=ae.get(t),[v,y]=await(e===`npm`?g.oldOrig&&xo(g.oldOrig)?ko(i,b):yo(Ze(t,i),l,u,Qe,b,f,g.old):e===`go`?Pi(i,r,g.oldOrig||g.old,f,b,c):e===`cargo`?Lc(ie.get(t)??i,b):Yo(i,b)),x=v;if(x.error)throw Error(x.error);let ee=l===`packageManager`?i:x.name,{useGreatest:S,usePre:C,useRel:w,semvers:te,allowDowngrade:T,allowedVersions:E,pinnedRange:D,pinNoDowngrade:re,cooldownDays:oe}=ne(d,e,ee,i,p,u.pinNoDowngrade,h);x=Nl(x,e,E);let{old:O,oldOrig:k}=g,A=or(x,{usePre:C,useRel:w,useGreatest:S,semvers:te,range:O,mode:e,pinnedRange:D,pinNoDowngrade:re,allowDowngrade:T,cooldownDays:oe||void 0,now:oe?le:void 0}),j=``;if((e===`go`||e===`pypi`)&&A)j=A;else if(e===`cargo`&&A&&k)j=Wc(k,A);else if(A){if(k&&xo(k)){let e=gl.exec(k);e?j=`${e[1]}${A}`:k.startsWith(`jsr:`)&&(j=`jsr:${A}`)}else j=_?`npm:${_.name}@${Bo(O,A,_.range,l)}`:Bo(O,A,k,l)}let M=se.get(t);if(!A||A===O||k&&k===j||M&&!es(M,k||O,j)){n.verbose&&A&&A!==O&&console.error(`${Pe()} ${m(`SKIP`)} ${i}: ${k||O} can not be rewritten to ${A}`),delete s[t];return}let ce=(e===`pypi`?x.releases?.[A]?.[0]?.upload_time_iso_8601:e===`go`?x.Time:e===`cargo`?x.time?.[A]:``)||``;g.new=j,k&&xo(k)&&(g.newPrint=A),e===`npm`?o.set(t,{name:Ze(t,i),promise:bo(x.name,A,u,Qe,b,f)}):g.info=e===`pypi`?qr(x,y,x.info.name):e===`go`?Ui(x.newPath||i):`https://crates.io/crates/${x.name}`,yl(g,ce)};if(await I(Object.keys(s),async t=>{let[n,r]=t.split(`\0`);try{await l(t,n,r)}catch(n){M(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(o,async([e,{name:t,promise:n}])=>{let r=await n,i=s[e];i&&(i.info=qr({repository:r.repository,homepage:r.homepage},null,t),yl(i,r.date))})),e===`npm`&&Ye){let e=(await I(Object.entries(re),async([e,t])=>{try{return await Go(e,t,b)}catch(t){return j(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:c}of e)yl(s[t]={old:re[t].old,new:n,oldPrint:kr.test(a)?a.substring(0,7):a,newPrint:kr.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`},c)}for(let[t,{date:n}]of Object.entries(s)){if(!n)continue;let[r,i]=t.split(`\0`),{cooldownDays:o,versionConfig:c}=a(r);if(!o&&!c.hasCooldownOverride)continue;let l=e===`npm`?Ze(t,i):i,u=te(c,e,l,i).cooldownOverride??o;u&&!Pn(n,u,le)&&delete s[t]}})());let $e=e=>ne(e.versionConfig,`actions`,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays);xe.length&&Xe.push((async()=>{await I(Map.groupBy(xe,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a=e.filter(e=>e.isHash?!ul(e):Ar(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=$e(e);return t||!(!n||r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===Ln.forgeapi?[]:e.filter(ul).map(e=>e.comment)],c=[];try{s.length&&(c=await Hr(t,n,i,b,o?[]:s,!!a.length))}catch(t){for(let n of e)M(`actions`,n.key,t);return}let l=[],u=/* @__PURE__ */ new Map,d=/* @__PURE__ */ new Map,f=/* @__PURE__ */ new Map;for(let e of c){d.set(e.name,e);let t=Ft.parse(e.name)?.version;if(t&&e.isStable!==!1){let n=u.get(t);n||l.push(t),(!n||e.name.length>n.length)&&u.set(t,e.name)}e.commitSha&&f.set(e.commitSha,e.name)}let p=Je(e=>cs(t,n,i,e,b)),m=Je(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===Ln.forgeapi?`commits`:`branches`,o=await Tr(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,b);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return typeof s?.sha==`string`?s.sha:typeof s?.id==`string`?s.id:typeof s?.commit?.sha==`string`?s.commit.sha:typeof s?.commit?.id==`string`?s.commit.id:``});async function h(e,t){let r={...e,cooldownDays:void 0,now:void 0},a=/* @__PURE__ */ new Set;for(let o=0;o<100;o++){let o=ir({},a.size?t.filter(e=>!a.has(e)):t,r);if(!o)return null;let s=u.get(o),c=d.get(s).commitSha;if(!e.cooldownDays)return{version:o,tag:s,commitSha:c,date:``};let l=c?await p(c):``;if(l===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${s}`);if(Pn(l,e.cooldownDays,e.now))return{version:o,tag:s,commitSha:c,date:l};a.add(o)}return null}let g=async e=>{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=D.actions[t],u=`https://${r||`github.com`}/${n}/${i}`,g=a;if(s?g=o||f.get(a)||f.entries().find(([e])=>e.startsWith(a))?.[1]||``:Ar(a)||(g=``),!g){delete D.actions[t];return}let{useGreatest:_,usePre:v,useRel:y,semvers:b,allowDowngrade:x,allowedVersions:ee,pinnedRange:S,pinNoDowngrade:C,cooldownDays:w}=$e(e),te=Ar(g)?await h({range:g,semvers:b,useGreatest:_,usePre:v,useRel:y,allowDowngrade:x,versioning:Ft,pinnedRange:S,pinNoDowngrade:C,cooldownDays:w||void 0,now:w?le:void 0},ee?l.filter(Ml(`actions`,ee)):l):null;if(!te){if(!s||!o){delete D.actions[t];return}let e=await m(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete D.actions[t];return}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=u,yl(c,await ze(p(e)));return}let{tag:T,commitSha:E,date:ne}=te;if(s){if(!E||E.startsWith(a)||a.startsWith(E)){delete D.actions[t];return}c.old=a,c.new=E.substring(0,a.length),c.oldPrint=g,c.newPrint=T}else{let e=ls(T,a);if(e===a){delete D.actions[t];return}c.new=d.has(e)?e:T}c.info=u,yl(c,ne||(E?await ze(p(E)):``))};await I(e,async e=>{try{await g(e)}catch(t){M(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(D.actions).length||delete D.actions})()),Se.length&&Xe.push((async()=>{await I(Map.groupBy(Se,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete D.docker[e.key];return}let n;try{let[t]=await Gs(e,b);n=t}catch(e){for(let n of t)M(`docker`,n.key,e);return}await I(t,async t=>{try{let r=D.docker[t.key],i=r.oldOrig||r.old,{semvers:a,usePre:o,useRel:s,allowedVersions:c,pinnedRange:l,cooldownDays:u}=ne(t.versionConfig,`docker`,e,e,t.filePin,void 0,t.fileCooldownDays),d=Nl(n,`docker`,c).tags,f=!t.ref.digestOnly&&Ms(i)?rc(d,i,a,u||void 0,u?le:void 0,l,o,s):null,p=f?.newTag??i;if(t.ref.digest){let e=await ee(t.ref.namespace,t.ref.repo,p);if(!e||e===t.ref.digest&&!f){delete D.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!f){delete D.docker[t.key];return}r.new=p,r.info=hc(t.ref),yl(r,f?.date)}catch(e){M(`docker`,t.key,e)}},{concurrency:r})},{concurrency:r}),Object.keys(D.docker).length||delete D.docker})()),Te.length&&Xe.push((async()=>{await I(Te,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,allowedVersions:o,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u}=ne(e.versionConfig,e.kind,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays),d={semvers:i,useGreatest:t,usePre:n,useRel:r,allowDowngrade:a,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u||void 0,now:u?le:void 0},f=D.make[e.key];try{if(e.kind===`go`){let t=await jc(e.installPath,e.projectDir,b,c);if(!t){delete D.make[e.key];return}let[n]=await Pi(t,`tool`,Z(e.version),e.projectDir,b,c),r=Nl(n,`go`,o),i=or(r,{...d,mode:`go`,range:Z(e.version)});if(!i){delete D.make[e.key];return}let a=r.newPath??si(t,i),s=`${a}${e.installPath.slice(t.length)}`,l=Wr(i,e.version);if(s===e.installPath&&l===e.version){delete D.make[e.key];return}e.newSpec=`${s}@${l}`,f.new=l,f.info=Ui(a),yl(f,r.Time)}else{let[t]=await Gs(e.image.ref.fullImage,b),n=Nl(t,`docker`,o).tags,r=rc(n,e.image.ref.tag,d.semvers,d.cooldownDays,d.now,d.pinnedRange,d.usePre,d.useRel);if(!r){delete D.make[e.key];return}let i=e.image.digest?await ee(e.image.ref.namespace,e.image.ref.repo,r.newTag):null;if(e.image.digest&&!i){delete D.make[e.key];return}e.newSpec=wc(e.image.writtenImage,r.newTag,i),f.new=r.newTag,f.info=hc(e.image.ref),yl(f,r.date)}}catch(t){M(`make`,e.key,t)}},{concurrency:r}),Object.keys(D.make).length||delete D.make})());try{await Promise.all(Xe)}finally{n.noCache||await Tn()}if(!Cl(D))return A.length?{results:{},errors:A}:{results:{},message:`All dependencies are up to date.`};let U=(e,t)=>{let n=e.split(`
|
|
76
|
-
`),r=new Map(
|
|
77
|
-
`)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=
|
|
78
|
-
`).map((e,n)=>
|
|
79
|
-
`))(
|
|
71
|
+
`)}async function hc(e,t){let n=Pn(t.cratesIoUrl),r=`${n===`https://crates.io`?`https://index.crates.io`:n}/${pc(e)}`;return[await X(fc,t,r,async()=>{let n=await Un(r,t,Fn(),mc);`body`in n||Fr(n.res,r,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of n.body.split(`
|
|
72
|
+
`)){if(!e)continue;let t;try{t=JSON.parse(e)}catch{continue}if(c++,!t?.vers||t.yanked)continue;let n=t.vers.split(`+`)[0];i[n]={},t.pubtime&&(a[n]=t.pubtime);let r=V(n);r&&(r.prerelease.length?(!s||lt(n,s))&&(s=n):(!o||lt(n,o))&&(o=n))}if(!c&&n.body.trim())throw Error(`Invalid JSON from ${r}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function gc(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);e&&r&&rt(r[1])&&z(t,e[1],r[1])}return t}const _c=/^\d/,vc=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,yc=/^(\s*)(.*?)(\s*)$/s,bc=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return _c.test(t)&&!vc.test(t)?`^${t}`:t}).join(` `);function xc(e,t){let[n,r,i,a]=yc.exec(e);if(i.startsWith(`<`)&&W(t,i))return e;let o=vc.exec(i),s;if(o&&V(t)?.prerelease.length)s=t;else if(o){let[e,n,r]=o;s=`${t.split(/[-+]/)[0].split(`.`).slice(0,n.split(`.`).length).join(`.`)}${r}`}else s=_c.test(i)?Do(`^${i}`,t,`^${i}`).replace(/^\^/,``):Do(i,t,i);return`${r}${s}${a}`}function Sc(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:xc(e,t)).join(``)}function Cc(e,t,n){let r=e.get(t);if(!r)return;let i=bc(n),a;for(let e of r)W(e,i)&&(!a||lt(e,a))&&(a=e);return a}const wc=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,Tc=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/,Ec=/^(\s*("(?:\\.|[^"\\])*"|'[^']*'|[\w-]+)\s*=\s*(?:\{(?:"[^"\n]*"|'[^'\n]*'|[^"'}\n])*?\bversion\s*=\s*)?["'])([^"'\n]*)(["'])/;function Dc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){if(!e.startsWith(t,n))continue;let r=0;for(;e[n-r-1]===`\\`;)r++;t===`"""`&&r%2||(n+=2,t=``)}else if(t)t===`"`&&r===`\\`?n++:r===t&&(t=``);else if(r===`#`)break;else(r===`"`||r===`'`)&&e.startsWith(r.repeat(3),n)?(t=r.repeat(3),n+=2):(r===`"`||r===`'`)&&(t=r)}return t.length===3?t:``}function Oc(e){let t=[],n=``,r=0;for(let i of e.split(`
|
|
73
|
+
`)){let a=n?null:Tc.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:JSON.stringify(ta(a[2])),start:r,end:e.length,rewrites:/* @__PURE__ */ new Map})):n=Dc(i,n),r+=i.length+1}return t}function kc(e,t){let n=Oc(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=t.startsWith(`[`)?JSON.parse(wc.exec(t)[0]):t.split(`|`,1)[0].split(`.`),o=JSON.stringify([...a,i]),s=JSON.stringify(a),c=n.find(e=>e.path===o),l=c??n.find(e=>e.path===s);if(!l)throw Error(`Unable to locate Cargo table for ${t}.${i}`);l.rewrites.set(c?`version`:i,r)}let r=e;for(let t of n.reverse()){if(!t.rewrites.size)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=n?e:e.replace(Ec,(e,n,r,i,a)=>{let o=t.rewrites.get(ta(r)[0]);return o&&i===(o.oldOrig||o.old)?`${n}${o.new}${a}`:e});return n=Dc(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const Ac=c(ge),jc=new Set(j),Mc=[`**/node_modules/**`,`**/bower_components/**`,`**/vendor/**`,`**/examples/**`,`**/__tests__/**`,`**/test/**`,`**/tests/**`,`**/__fixtures__/**`];function Nc(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n],i=r===`{`?L(e,n,`{`,`}`):r===`[`?e.indexOf(`]`,n):-1;if(r===`*`&&e[n+1]===`*`){let r=e[n+2]===`/`;n+=r?2:1,t+=r?`(?:.*/)?`:`.*`}else r===`*`?t+=`[^/]*`:r===`?`?t+=`[^/]`:r===`{`&&i!==-1?(t+=`(?:${Ue(e.slice(n+1,i)).map(Nc).join(`|`)})`,n=i):r===`[`&&i!==-1?(t+=`[${e.slice(n+1,i).replace(/^!/,`^`).replaceAll(`\\`,`\\\\`)}]`,n=i):t+=F(r)}return t}const Pc=/* @__PURE__ */ new Map,Fc=e=>B(Pc,e,()=>RegExp(`^${Nc(e)}$`));function Ic(e,{includePaths:t,excludePaths:n}){return t.length&&t.every(t=>e!==t&&!Fc(t).test(e))?!1:n.every(t=>!e.includes(t)&&!Fc(t).test(e))}function Lc(e){let t=d(e);return Object.hasOwn(ke,t)||qs(t)||Zs(t)||ns(e)}async function Rc(e){try{return(await Ac(`git`,[`ls-files`,`--cached`,`--others`,`--exclude-standard`,`-z`],{cwd:e,maxBuffer:2**30})).stdout.split(`\0`)}catch{return null}}function zc(e){try{return e.split(/[\\/]/).some(e=>jc.has(e))?w(e,{recursive:!0,encoding:`utf8`}):w(e,{withFileTypes:!0}).flatMap(t=>t.isDirectory()&&jc.has(t.name)?w(m(e,t.name),{recursive:!0,encoding:`utf8`}).map(e=>m(t.name,e)):[t.name])}catch{return[]}}async function Bc(e,t,n){let r=await Rc(e),i=[];for(let a of[...r??[],...n||!r?zc(e):[]]){let n=g(e,a);Lc(n)&&Ic(a.replaceAll(`\\`,`/`),t)&&x(n,{throwIfNoEntry:!1})?.isFile()&&i.push(n)}return i.sort((e,t)=>e.split(/[\\/]/).length-t.split(/[\\/]/).length)}const Vc=/^(!?)\/(.*)\/(i?)$/,Hc=e=>e.isHash&&!!e.comment&&!wr(e.comment),Uc=[...new Set(Object.values(ke)),`actions`,`docker`,`make`],Wc=new Set(Uc),Gc={patch:/* @__PURE__ */ new Set([`patch`]),minor:/* @__PURE__ */ new Set([`patch`,`minor`]),major:/* @__PURE__ */ new Set([`patch`,`minor`,`major`])},Kc={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},qc=(e,t)=>Pn(typeof e==`string`?e:t),Jc=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function Yc(e){try{return T.native(e)}catch{return g(e)}}function Xc(e,t){let n=/* @__PURE__ */ new Map,r=new Set(e);return qe(t,e=>{for(let t of r){let i=m(e,t);try{v(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function Q(e,t){t&&(e.date=t,e.age=ua(t,{noAffix:!0,shortUnits:!0}))}const Zc=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,Qc=(e,t,n,r)=>Zc(`${e}${t}`,n,r),$c=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?ga(n):`${ga(n)}|${t}`)},el=e=>Object.values(e).some(e=>Object.keys(e).length>0),tl=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),nl=(e,t)=>Ua.has(e)?Wa(t):t,rl=e=>typeof e==`number`&&e>=0?e:M(String(e));function il(e,t){return t===`go`?[e,ji(e)]:t===`docker`?ms(e):t===`pypi`?[e,tl(e)]:[e]}function $(e,t,{include:n,exclude:r},i,a=t,o=e){if(i===`engines`&&Oe.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(/* @__PURE__ */ new Set([...il(e,a),...il(o,a)])),c=(t,n)=>Xt(t,n,o,e);for(let e of r)if(s.some(t=>c(e,t)))return!1;for(let e of n)if(s.some(t=>c(e,t)))return!0;return!n.size}async function al(e,t,n){let r=/* @__PURE__ */ new Set,i=/* @__PURE__ */ new Set,a=e=>{if(r.has(e))return;let t=Yc(e);i.has(t)||(i.add(t),r.add(e))},o=[];for(let t of e??[]){let e;try{e=ee(t)}catch(e){throw Error(`Unable to open ${t}: ${e.message}`)}if(e.isFile())a(Yc(t));else if(e.isDirectory())o.push(Yc(t));else throw Error(`${t} is neither a file nor directory`)}e?.length||o.push(t);let s=Promise.all(o.map(t=>Bc(t,n,!!e?.length)));if(!e?.length){let e=new Set(j),r=[...Object.keys(ke),...Ws,...Xs,...j];for(let[i,o]of Xc(r,t))if(f(o)!==t)for(let r of e.has(i)?rs(o):[g(o)])Ic(h(t,r).replaceAll(`\\`,`/`),n)&&a(r)}for(let e of(await s).flat())a(e);let c=Array.from(r).filter(e=>Object.hasOwn(Kc,d(e)));for(let e of c)r.delete(m(f(e),Kc[d(e)]));return c.length?/* @__PURE__ */ new Set([...c,...r]):r}function ol(e,t){i===`win32`&&te(e,0),ne(e,t,i===`win32`?{flag:`r+`}:void 0)}const sl=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function cl(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function ll(e){let t={results:{}},n=/* @__PURE__ */ new Map,r=Object.entries(e).sort(([e],[t])=>Uc.indexOf(e)-Uc.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=sl(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,{oldPrint:a,newPrint:o,oldOrig:s,date:c,...l}]of Object.entries(i)){typeof a==`string`&&(l.old=a),typeof o==`string`&&(l.new=o),typeof s==`string`&&!so(s)&&(l.old=e===`go`?Mi(s):s),e===`go`?l.new=Mi(l.new):e===`actions`&&!l.digestOnly&&(l.old=Y(l.old),l.new=Y(l.new));let[i,c,u]=r.split(`\0`),d=u&&n.get(sl(e,r))>1?`${c}${e===`actions`?`@`:`:`}${cl(u)}`:c,f=t.results[e]??={};(f[cl(i)]??={})[d]=l}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function ul(e,t){let n=Vc.exec(t);if(n){let e=new RegExp(n[2],n[3]);return n[1]?t=>!e.test(t):t=>e.test(t)}return e===`docker`?e=>W(ks(e),t):e===`pypi`?e=>Bo(e,t):e=>W(e,t)}function dl(e,t,n){if(!n)return e;let r=ul(t,n),i=e=>typeof e==`string`&&r(e)?e:``;if(t===`go`)return{...e,new:i(e.new),sameMajorNew:i(e.sameMajorNew)};let a=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[a]:Object.fromEntries(Object.entries(e[a]??{}).filter(([e])=>r(e)))}}async function fl(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await pl(e)}finally{n()}}async function pl(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=Be(n.timeout,`timeout`));let r=n.sockets??50,i=n.timeout??0,o=Hr(),s=!n.noColor&&(n.color||a.isTTY),c=e=>s?t=>u(e,String(t),{validateStream:!1}):String,l=c(`magenta`),p=c(`green`),h=c(`red`),_,v={execFile:async(e,t,n)=>(await ar())(e,t,n),fetchTimeout:i||5e3,goProbeTimeout:i?Math.max(1,Math.floor(i/2)):2500,concurrency:r,forgeApiUrl:qc(t.forgeapi,J.forgeapi),pypiApiUrl:qc(t.pypiapi,J.pypiapi),jsrApiUrl:qc(t.jsrapi,J.jsrapi),goProxyChain:Vr(t.goproxy),cratesIoUrl:qc(t.cargoapi,J.cargoapi),dockerApiUrl:qc(t.dockerapi,J.dockerapi),doFetch:(e,t)=>(_??=Jn(v))(async()=>{n.verbose&&console.error(`${Le()} ${l(t?.method||`GET`)} ${e}`);let r=await Rn(e,t);return n.verbose&&console.error(`${Le()} ${r.ok?p(r.status):h(r.status)} ${e}`),r}),noCache:!!n.noCache},y=/* @__PURE__ */ new Map,b=async(e,t,n)=>{let r=`${e}${t}${n}`,i=B(y,r,()=>ws(e,t,n,v));try{return await i}catch(e){throw y.get(r)===i&&y.delete(r),e}};for(let e of n.modes??[])if(!Wc.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${Uc.join(`,`)}`);let x=n.modes?.length?new Set(n.modes):Wc,S=e=>{let t=(e.overrides??[]).map(e=>({...e,include:e.include?.length?on(e.include):void 0,exclude:e.exclude?.length?on(e.exclude):void 0,cooldownDays:e.cooldown===void 0?void 0:rl(e.cooldown)})),n=e.renovateVersionRules??[];return{greatest:un(e.greatest),prerelease:un(e.prerelease),release:un(e.release),patch:un(e.patch),minor:un(e.minor),allowDowngrade:un(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}},C=/* @__PURE__ */ new WeakMap;function w(e,t,n,r){let i=B(C,e,()=>/* @__PURE__ */ new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(/* @__PURE__ */ new Set([...il(n,t),...il(r,t)])),c=e=>s.some(t=>Fe(t,e)),l=c(e.greatest),u=c(e.prerelease),d=c(e.release),f=c(e.patch),p=c(e.minor),m=c(e.allowDowngrade),h,g;for(let t of e.renovateVersionRules)Jt(t,n,r)&&(t.allowedVersions!==void 0&&(g=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));for(let t of e.overrides)t.include&&s.every(e=>!Fe(e,t.include))||t.exclude&&s.some(e=>Fe(e,t.exclude))||(t.greatest!==void 0&&(l=t.greatest),t.prerelease!==void 0&&(u=t.prerelease),t.release!==void 0&&(d=t.release),t.patch!==void 0&&(f=t.patch),t.minor!==void 0&&(p=t.minor),t.allowDowngrade!==void 0&&(m=t.allowDowngrade),t.cooldownDays!==void 0&&(h=t.cooldownDays));let _=f?Gc.patch:p?Gc.minor:Gc.major;o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:_,allowDowngrade:m,cooldownOverride:h,allowedVersions:g},i.set(a,o)}return o}cn(n.pin);let T=n.pin??{},ee=(e,t,n)=>{let r=e.find(e=>T[e]);if(r)return{pinnedRange:T[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},te=Date.now(),ne=({versionConfig:e,pin:t,cooldownDays:n,pinNoDowngrade:r},i,a,o,s=r)=>{let{names:c,useGreatest:l,usePre:u,useRel:d,semvers:f,allowDowngrade:p,cooldownOverride:m,allowedVersions:h}=w(e,i,a,o),{pinnedRange:g,pinNoDowngrade:_}=ee(c,t,s),v=m??n;return{useGreatest:l,usePre:u,useRel:d,semvers:f,allowDowngrade:p,allowedVersions:h,pinnedRange:g,pinNoDowngrade:_,cooldownDays:v||void 0,now:v?te:void 0}},E={},re={},ie=/* @__PURE__ */ new Map,ae=/* @__PURE__ */ new Map,se=/* @__PURE__ */ new Map,ce=/* @__PURE__ */ new Map,le=/* @__PURE__ */ new Map,ue=[],de=(e,t,n)=>{let[r,i]=t.split(`\0`);ue.push({mode:e,type:r,name:i,error:n?.message||String(n)})},fe=(e,t,n)=>{delete E[e][t],de(e,t,n)},D={},pe=Yc(e()),me=e=>e.replace(`${pe}/`,``).replace(`${pe}\\`,``),O=(e,t,n,r,i,a)=>{E[e][Qc(t,n,r)]={old:i,oldOrig:a}},he=(e,t,n)=>{if(lo(n))return;let r=fo(n);so(n)?E.npm[e]={old:ho(n,t).version,new:``,oldOrig:n}:G(n)?E.npm[e]={old:Oo(n),new:``,oldOrig:n}:r?(ae.set(e,r),E.npm[e]={old:Oo(r.range),new:``,oldOrig:n}):co(n)||(re[e]={old:n})},k=(e,t,n,r,i)=>{let a=new Set(Object.keys(t.tool?.uv?.sources??{}).map(tl)),o=(t,i)=>{for(let{name:o,version:s,spec:c}of Ee(t))a.has(tl(o))||$(o,e,r,i)&&(O(e,i,n,o,Oo(s),s),le.set(Qc(i,n,o),c))};for(let[a,s]of Pe(F(e,r.modeConfig),t)){let t=s||{};if(Array.isArray(t))e===`pypi`&&o(t,a);else if(typeof t==`string`){let[i,o]=t.split(`@`);$(i,e,r,a)&&O(e,a,n,i,Oo(o),o)}else if(e===`npm`&&(a===`overrides`||a===`pnpm.overrides`)){let o=a===`overrides`?[`overrides`]:[`pnpm`,`overrides`],s=(t,c)=>{for(let[l,u]of Object.entries(t))if(typeof u==`string`){let t=Wa(l===`.`?c.at(-1)??l:l);if(i?.has(t)||!$(t,e,r,a,e,fo(u)?.name??t))continue;let s=Qc(a,n,t,JSON.stringify([...o,...c,l]));he(s,t,u)}else u&&typeof u==`object`&&!Array.isArray(u)&&s(u,[...c,l])};s(t,[])}else for(let[s,c]of Object.entries(t)){if(e===`pypi`&&Array.isArray(c)){o(c,`${a}.${s}`);continue}typeof c==`string`&&(i?.has(nl(a,s))||$(s,e,r,a,e,(e===`npm`?fo(c):null)?.name??s)&&(e===`npm`?he(Qc(a,n,s),s,c):e===`go`?O(e,a,n,s,Mi(c),Y(c)):G(c)&&O(e,a,n,s,Oo(c),c)))}}},ge=await al(n.files,pe,{includePaths:n.includePaths??[],excludePaths:n.excludePaths??Mc}),_e=new Map(await N(Array.from(ge).filter(e=>{if(ns(e))return x.has(`actions`)||x.has(`docker`);let t=d(e);return qs(t)?x.has(`docker`):Zs(t)?x.has(`make`):x.has(ke[t])}),async e=>{try{return[e,await oe(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),A={},ve=[],ye=[],be=[],xe=[],Se=[],Ce=[],we=[],Te=[],Oe={},j=(e,t,n)=>{let r=t===`.`?``:`|${t}`;return(Oe[e]??=/* @__PURE__ */ new Map).set(r,n),r},Ie=t[en],Re=Ie&&new Set(Ie.cliKeys),ze=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!Re||Re.has(e)))),M=Je(async e=>{let t={...await fn(e),...ze};return{modeConfig:t,projectDir:e,include:on(t.include??[]),exclude:on(t.exclude??[]),versionConfig:S(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?rl(t.cooldown):0}});function F(e,t){return t.types?.length?t.types:e===`npm`?De:e===`pypi`?Ae:e===`go`?t.indirect?je:je.filter(e=>e!==`indirect`):e===`cargo`?[...Me,...Ne]:[]}let Ve=e=>{let t=[],n=!1;for(let[r,i]of e.split(/\r?\n/).entries()){let e=/^(\s*)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(i);if(!e)continue;let a=e[1].length,o=(e[2]??e[3]??e[4]).trim();if(a===0){n=o===`overrides`;continue}if(!n||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trim(),c=/^(['"])(.*)\1$/.exec(s),l=c?.[2]??s;t.push({selector:o,value:l,lineNumber:r,valueIndex:i.length-e[5].length+Number(!!c)})}return t};function He(e,t,n){if(E.docker??={},!$(e.fullImage,`docker`,n,`docker`))return;let r=Zc(t,e.fullImage,`${e.tag}${e.digest?`@${e.digest}`:``}`);if(E.docker[r])return;let i=gs(e.tag);(i||e.digest)&&(E.docker[r]={old:i?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},we.push({key:r,ref:e,filters:n}))}let I=/* @__PURE__ */ new Map,L=/* @__PURE__ */ new Map;for(let[e,t]of _e){let n=d(e);try{if(n===`package.json`){let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages,i=Array.isArray(r)?r.filter(e=>typeof e==`string`):[];i.length&&L.set(e,{pkg:n,packagePatterns:i})}else if(n===`Cargo.toml`){let n=Xi(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&I.set(e,n)}}catch{}}let Ue={cargo:I.size,go:Array.from(ge).filter(e=>d(e)===`go.work`).length,npm:L.size+Array.from(ge).filter(e=>d(e)===`pnpm-workspace.yaml`).length},We=(e,t,n,r)=>{let i=D[e]??=[],a=!i.length&&!Ue[e]?`.`:me(t);return i.push({absPath:g(t),content:n,memberPath:a}),j(e,a,r)},Ge=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},R=(e,t,n)=>Ue[e]>1?`${me(t)}:${n}`:n,Ke=(e,t,n,r,i)=>{let a=R(`npm`,e,t.memberPath);xe.push({...t,memberPath:a}),k(`npm`,n,j(`npm`,a,r),r,i)};for(let e of/* @__PURE__ */ new Set([...I.keys(),...L.keys(),..._e.keys()])){let t=d(e),n=_e.get(e);if(ns(e)){let t=x.has(`actions`),r=x.has(`docker`),i=me(e),a=await M(f(e)),o=/* @__PURE__ */ new Set;A[i]={absPath:e,content:n,fileType:`workflow`,workflowLines:o};let s=[];for(let[e,c]of n.split(/\r?\n/).entries()){if(t){let e=$o(c),t=e&&Ko(e.value);if(t&&$(t.name,`actions`,a,`actions`)){E.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=Zc(i,t.name,t.isHash&&n?`${n}@${t.ref}`:t.ref);E.actions[r]||(E.actions[r]={old:t.ref},Ce.push({...t,key:r,comment:n,apiUrl:qo(t.host,v.forgeApiUrl),filters:a}))}}if(!r)continue;let n=Zo(c,s);if(!n)continue;let{indent:l,key:u}=n,d=u===`container`&&s.length===2&&s[0].key===`jobs`,f=u===`image`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`container`||s.length===4&&s[0].key===`jobs`&&s[2].key===`services`),p=u===`uses`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`steps`||s.length===2&&s[0].key===`runs`&&s[1].key===`steps`);if((d||f||p)&&n.value){let t=hs(n.value.replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(He(t,i,a),o.add(e))}s.push({indent:l,key:u})}continue}if(qs(t)){let r=me(e),i=await M(f(e));A[r]={absPath:e,content:n,fileType:Ks(t)?`dockerfile`:`compose`};for(let{ref:e}of _s(n,Js(t)))He(e,r,i);continue}if(Zs(t)){let t=me(e),r=await M(f(e));A[t]={absPath:e,content:n,fileType:`make`},E.make??={};for(let{installPath:e,version:i}of nc(n)){if(!$(e,`make`,r,`make`,`go`))continue;let n=Zc(t,e,i);E.make[n]||(E.make[n]={old:Y(i),oldOrig:i},Te.push({kind:`go`,key:n,name:e,oldSpec:`${e}@${i}`,installPath:e,version:i,filters:r}))}for(let e of oc(n)){if(!$(e.writtenImage,`make`,r,`make`,`docker`))continue;let n=Zc(t,e.writtenImage,e.ref.tag);if(E.make[n])continue;let i=gs(e.ref.tag);if(!i)continue;let a=ic(e.writtenImage,e.ref.tag,e.digest);E.make[n]={old:i.version,oldOrig:e.ref.tag},Te.push({kind:`docker`,key:n,name:e.writtenImage,oldSpec:a,image:e,filters:r})}continue}let i=g(e);if(t===`go.mod`&&ve.some(e=>e.absPath===i)||t===`package.json`&&xe.some(e=>e.absPath===i)||t===`Cargo.toml`&&be.some(e=>e.absPath===i))continue;let a=ke[t],o=f(i);if(E[a]??={},t===`go.work`){let t=Oi(n),[i,s]=await Promise.all([M(o),N(t.use,async e=>{let t=ki(o,e);if(!t)return null;let n=await P(oe(t,`utf8`));return n===null?null:{usePath:e,modPath:t,modContent:n}},{concurrency:r})]),c=R(a,e,`.`),l=j(a,c,i);ye.push({absPath:e,content:n,memberPath:c});let u=s.filter(e=>e!==null),d=new Set(u.map(({modContent:e})=>oi(e)).filter(Boolean));for(let{usePath:t,modPath:n,modContent:r}of u){let o=R(a,e,t);ve.push({absPath:n,content:r,memberPath:o}),k(a,si(r),j(a,o,i),i,d)}for(let[e,n]of Object.entries(t.replace))!d.has(e)&&$(e,a,i,`replace`)&&O(a,`replace`,l,e,Mi(n),Y(n));continue}if(t===`Cargo.toml`){let t=I.get(e)??Xi(n),s=Xc([`Cargo.lock`],o).get(`Cargo.lock`),c=t.workspace?.members,l=Array.isArray(c)&&c.length>0,[u,d,f]=await Promise.all([M(o),s?oe(s,`utf8`):null,l?Sa(c,o,`Cargo.toml`,r):[]]),p=F(a,u.modeConfig),m=d?gc(d):/* @__PURE__ */ new Map,h=(e,t)=>{for(let[n,r]of Pe(p,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e)))for(let[r,i]of Object.entries(e)){if(!$(r,a,u,n))continue;let e=typeof i==`object`&&!!i&&`version`in i&&!(`git`in i)&&!(`path`in i)&&!(`registry`in i);if(!e&&typeof i!=`string`)continue;let o=e?i.version:i,s=e&&i.package||r,c=bc(o);G(c)&&(s!==r&&ie.set(Qc(n,t,r),s),O(a,n,t,r,Cc(m,s,o)??Oo(c),o))}}};if(l){let r=R(a,e,`.`);h(t,j(a,r,u)),be.push({absPath:i,content:n,memberPath:r});for(let t of f){let n=R(a,e,t.memberPath);be.push({...t,memberPath:n}),h(Ge(t.absPath,()=>Xi(t.content)),j(a,n,u))}}else h(t,We(a,e,n,u));continue}if(t===`package.json`&&L.has(e)){let{pkg:t,packagePatterns:a}=L.get(e),[s,c]=await Promise.all([M(o),Sa(a,o,`package.json`,r)]),l=c.map(e=>({member:e,pkg:Ge(e.absPath,()=>JSON.parse(e.content))})),u=new Set(l.map(({pkg:e})=>e.name).filter(e=>typeof e==`string`&&e));Ke(e,{absPath:i,content:n,memberPath:`.`},t,s,u);for(let{member:t,pkg:n}of l)Ke(e,t,n,s,u);continue}if(t===`pnpm-workspace.yaml`){let s=Va(n),c=m(o,`package.json`),[l,u,d]=await Promise.all([M(o),P(oe(c,`utf8`)),Sa(s,o,`package.json`,r)]),f=R(a,e,t),p=j(a,f,l);Se.push({absPath:i,content:n,memberPath:f});for(let{type:e,name:t,value:r}of za(n))$(t,a,l,e,a,fo(r)?.name??t)&&he(Qc(e,p,t),t,r);for(let{selector:e,value:t}of Ve(n)){let n=Wa(e),r=`pnpm-workspace.overrides`;if(!$(e,a,l,r,a,n))continue;let i=Qc(r,p,e,JSON.stringify(e));se.set(i,n),ce.set(i,e),he(i,e,t)}u!==null&&Ke(e,{absPath:g(c),content:u,memberPath:`.`},Ge(c,()=>JSON.parse(u)),l);for(let t of d)Ke(e,t,Ge(t.absPath,()=>JSON.parse(t.content)),l);continue}let s=await M(o);k(a,Ge(e,()=>a===`npm`?JSON.parse(n):a===`pypi`?Xi(n):si(n)),We(a,e,n,s),s)}let qe=Object.keys(re).length>0;if(!el(E)&&!qe)return{results:{},message:`No dependencies found, nothing to do.`};let z=(e,t)=>se.get(e)??ae.get(e)?.name??nl(e.split(`\0`)[0].split(`|`)[0],t),Ye={needsDates:Oe.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1},Xe=Object.entries(Oe).map(async([e,t])=>{if(!Object.keys(E[e]).length&&(e!==`npm`||!qe))return;let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},s=/* @__PURE__ */ new Map,c=E[e],u=async t=>{let[r,i]=t.split(`\0`),u=ga(r),d=a(r),{modeConfig:f,projectDir:p}=d,m=c[t],h=ae.get(t),[g,_]=await(e===`npm`?m.oldOrig&&so(m.oldOrig)?go(i,v):ao(z(t,i),u,f,Ye,v,p,m.old):e===`go`?bi(i,r,m.oldOrig||m.old,p,v,o):e===`cargo`?hc(ie.get(t)??i,v):Io(i,v));if(g.error)throw Error(g.error);let y=ne(d,e,u===`packageManager`?i:g.name,i),b=dl(g,e,y.allowedVersions),{old:x,oldOrig:S}=m,C=nr(b,{...y,range:x,mode:e}),w=``;if((e===`go`||e===`pypi`)&&C)w=C;else if(e===`cargo`&&C&&S)w=Sc(S,C);else if(C){if(S&&so(S)){let e=Jc.exec(S);e?w=`${e[1]}${C}`:S.startsWith(`jsr:`)&&(w=`jsr:${C}`)}else w=h?`npm:${h.name}@${Do(x,C,h.range,u)}`:Do(x,C,S,u)}let T=le.get(t);if(!C||C===x||S&&S===w||T&&!Vo(T,S||x,w)){n.verbose&&C&&C!==x&&console.error(`${Le()} ${l(`SKIP`)} ${i}: ${S||x} can not be rewritten to ${C}`),delete c[t];return}m.new=w,S&&so(S)&&(m.newPrint=C),e===`npm`?s.set(t,{name:z(t,i),promise:oo(b.name,C,f,Ye,v,p)}):m.info=e===`pypi`?zr(b,_,b.info.name):e===`go`?Ai(b.newPath||i):`https://crates.io/crates/${b.name}`,Q(m,e===`pypi`?b.releases?.[C]?.[0]?.upload_time_iso_8601:e===`go`?b.Time:e===`cargo`?b.time?.[C]:``)};if(await N(Object.keys(c),async t=>{try{await u(t)}catch(n){fe(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(s,async([e,{name:t,promise:n}])=>{let r=await n;c[e].info=zr(r,null,t),Q(c[e],r.date)})),e===`npm`&&qe){let e=(await N(Object.entries(re),async([e,t])=>{try{return await Mo(e,t,v)}catch(t){return de(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:s}of e)Q(c[t]={old:re[t].old,new:n,oldPrint:Cr.test(a)?a.substring(0,7):a,newPrint:Cr.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`},s)}for(let[t,{date:n}]of Object.entries(c)){if(!n)continue;let[r,i]=t.split(`\0`),{cooldownDays:o,versionConfig:s}=a(r);if(!o&&!s.hasCooldownOverride)continue;let l=w(s,e,e===`npm`?z(t,i):i,i).cooldownOverride??o;l&&!jn(n,l,te)&&delete c[t]}}),Ze=N(Map.groupBy(Ce,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a=e.filter(e=>e.isHash?!Hc(e):wr(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=ne(e.filters,`actions`,e.name,e.name);return t||!(!n||r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===J.forgeapi?[]:e.filter(Hc).map(e=>e.comment)],c=[];try{s.length&&(c=await Pr(t,n,i,v,o?[]:s,!!a.length))}catch(t){for(let n of e)fe(`actions`,n.key,t);return}let l=[],u=/* @__PURE__ */ new Map,d=/* @__PURE__ */ new Map,f=/* @__PURE__ */ new Map;for(let e of c){d.set(e.name,e);let t=Nt.parse(e.name)?.version;if(t&&e.isStable!==!1){let n=u.get(t);n||l.push(t),(!n||e.name.length>n.length)&&u.set(t,e.name)}e.commitSha&&f.set(e.commitSha,e.name)}let p=Je(e=>Jo(t,n,i,e,v)),m=Je(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===J.forgeapi?`commits`:`branches`,o=await yr(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,v);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return[s?.sha,s?.id,s?.commit?.sha,s?.commit?.id].find(e=>typeof e==`string`)??``});async function h(e,t){let r={...e,cooldownDays:void 0,now:void 0},a=/* @__PURE__ */ new Set;for(let o=0;o<100;o++){let o=er({},a.size?t.filter(e=>!a.has(e)):t,r);if(!o)return null;let s=u.get(o),c=d.get(s).commitSha;if(!e.cooldownDays)return{version:o,tag:s,commitSha:c,date:``};let l=c?await p(c):``;if(l===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${s}`);if(jn(l,e.cooldownDays,e.now))return{version:o,tag:s,commitSha:c,date:l};a.add(o)}return null}await N(e,async e=>{try{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=E.actions[t],u=`https://${r||`github.com`}/${n}/${i}`,g=a;if(s?g=o||f.get(a)||f.entries().find(([e])=>e.startsWith(a))?.[1]||``:wr(a)||(g=``),!g){delete E.actions[t];return}let _=ne(e.filters,`actions`,e.name,e.name),{allowedVersions:v}=_,y=wr(g)?await h({..._,range:g,versioning:Nt},v?l.filter(ul(`actions`,v)):l):null;if(!y){if(!s||!o){delete E.actions[t];return}let e=await m(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete E.actions[t];return}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=u,Q(c,await P(p(e)));return}let{tag:b,commitSha:x,date:S}=y;if(s){if(!x||x.startsWith(a)||a.startsWith(x)){delete E.actions[t];return}c.old=a,c.new=x.substring(0,a.length),c.oldPrint=g,c.newPrint=b}else{let e=Yo(b,a);if(e===a){delete E.actions[t];return}c.new=d.has(e)?e:b}c.info=u,Q(c,S||(x?await P(p(x)):``))}catch(t){fe(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Qe=N(Map.groupBy(we,e=>e.ref.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete E.docker[e.key];return}let n;try{[n]=await Ds(e,v)}catch(e){for(let n of t)fe(`docker`,n.key,e);return}await N(t,async t=>{try{let r=E.docker[t.key],i=r.oldOrig||r.old,a=ne(t.filters,`docker`,e,e,!1),o=!t.ref.digestOnly&&gs(i)?Rs(dl(n,`docker`,a.allowedVersions).tags,i,a.semvers,a.cooldownDays,a.now,a.pinnedRange,a.usePre,a.useRel):null,s=o?.newTag??i;if(t.ref.digest){let e=await b(t.ref.namespace,t.ref.repo,s);if(!e||e===t.ref.digest&&!o){delete E.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!o){delete E.docker[t.key];return}r.new=s,r.info=Ys(t.ref),Q(r,o?.date)}catch(e){fe(`docker`,t.key,e)}},{concurrency:r})},{concurrency:r}),$e=N(Te,async e=>{let t=ne(e.filters,e.kind,e.name,e.name),n=E.make[e.key];try{if(e.kind===`go`){let{projectDir:r}=e.filters,i=await uc(e.installPath,r,v,o);if(!i){delete E.make[e.key];return}let[a]=await bi(i,`tool`,Y(e.version),r,v,o),s=dl(a,`go`,t.allowedVersions),c=nr(s,{...t,mode:`go`,range:Y(e.version)});if(!c){delete E.make[e.key];return}let l=s.newPath??Zr(i,c),u=`${l}${e.installPath.slice(i.length)}`,d=Ir(c,e.version);if(u===e.installPath&&d===e.version){delete E.make[e.key];return}e.newSpec=`${u}@${d}`,n.new=d,n.info=Ai(l),Q(n,s.Time)}else{let[r]=await Ds(e.image.ref.fullImage,v),i=Rs(dl(r,`docker`,t.allowedVersions).tags,e.image.ref.tag,t.semvers,t.cooldownDays,t.now,t.pinnedRange,t.usePre,t.useRel);if(!i){delete E.make[e.key];return}let a=e.image.digest?await b(e.image.ref.namespace,e.image.ref.repo,i.newTag):null;if(e.image.digest&&!a){delete E.make[e.key];return}e.newSpec=ic(e.image.writtenImage,i.newTag,a),n.new=i.newTag,n.info=Ys(e.image.ref),Q(n,i.date)}}catch(t){fe(`make`,e.key,t)}},{concurrency:r});try{await Promise.all([...Xe,Ze,Qe,$e])}finally{n.noCache||await Sn()}if(!el(E))return ue.length?{results:{},errors:ue}:{results:{},message:`All dependencies are up to date.`};let V=(e,t)=>{let n=e.split(`
|
|
74
|
+
`),r=new Map(Ve(e).map(e=>[e.selector,e]));for(let[e,i]of ce){let a=E.npm[e],o=r.get(i);if(!a||!$c(e,t)||!o||o.value!==(a.oldOrig||a.old))continue;let s=n[o.lineNumber];n[o.lineNumber]=`${s.slice(0,o.valueIndex)}${a.new}${s.slice(o.valueIndex+o.value.length)}`}return n.join(`
|
|
75
|
+
`)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=va(E[e],r.memberPath);Object.keys(t).length&&ol(r.absPath,n(r.content,t,r))}},t=new Map(Ce.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]);for(let r of Object.keys(E).sort((e,t)=>Number(e===`docker`)-Number(t===`docker`)))if(Object.keys(E[r]).length){if(r===`actions`)for(let[e,r]of n(Object.entries(E.actions))){let n=A[e];n.content=es(n.content,r.map(([e,n])=>{let r=n.oldDigest??n.old;return{name:e.split(`\0`)[1],oldRef:r,newRef:n.newDigest?n.newDigest.substring(0,r.length):n.new,oldComment:t.get(e)||void 0,newComment:n.digestOnly?void 0:Cr.test(n.old)?n.newPrint:void 0}})),ol(n.absPath,n.content)}else if(r===`docker`)for(let[e,t]of n(Object.entries(E.docker))){let{absPath:n,content:r,fileType:i,workflowLines:a}=A[e];ol(n,(i===`dockerfile`?Vs:i===`compose`?Hs:(e,t)=>e.split(`
|
|
76
|
+
`).map((e,n)=>a.has(n)?Us(e,t):e).join(`
|
|
77
|
+
`))(r,Object.fromEntries(t)))}else if(r===`make`){let e=Te.filter(e=>e.newSpec&&E.make[e.key]);for(let[t,n]of Map.groupBy(e,e=>e.key.split(`\0`)[0])){let{absPath:e,content:r}=A[t];ol(e,dc(r,n.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}}else if(r===`go`){for(let e of[...ve,...D.go??[]]){let t=va(E[r],e.memberPath);if(!Object.keys(t).length)continue;let[n,i]=Ci(e.content,t);n!==e.content&&ol(e.absPath,n),Di(f(e.absPath),i,ol)}for(let e of ye){let t=Object.fromEntries(Object.entries(va(E[r],e.memberPath)).filter(([e])=>ga(e.split(`\0`)[0])===`replace`));if(!Object.keys(t).length)continue;let[n]=Ci(e.content,t);n!==e.content&&ol(e.absPath,n)}}else r===`cargo`?e(r,[...be,...D.cargo??[]],kc):r===`npm`?(e(r,Se,(e,t,n)=>V(Ba(e,t),n.memberPath)),e(r,[...xe,...D.npm??[]],_o)):e(r,D[r]??[],Go)}}let et=ll(E);return ue.length&&(et.errors=ue),et}export{en as i,Mc as n,Wi as r,fl as t};
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "updates",
|
|
3
|
-
"version": "19.0.
|
|
3
|
+
"version": "19.0.2",
|
|
4
4
|
"description": "CLI to update npm, uv, cargo, go, docker and actions dependencies",
|
|
5
5
|
"author": "silverwind",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "silverwind/updates"
|
|
8
|
+
"url": "git+https://github.com/silverwind/updates.git"
|
|
9
9
|
},
|
|
10
10
|
"license": "BSD-2-Clause",
|
|
11
11
|
"keywords": [
|
|
@@ -47,17 +47,17 @@
|
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/node": "26.6.2",
|
|
49
49
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
50
|
-
"@vitest/coverage-v8": "5.0.
|
|
50
|
+
"@vitest/coverage-v8": "5.0.2",
|
|
51
51
|
"eslint": "10.11.0",
|
|
52
|
-
"eslint-config-silverwind": "
|
|
53
|
-
"timerel": "5.9.
|
|
52
|
+
"eslint-config-silverwind": "151.0.1",
|
|
53
|
+
"timerel": "5.9.1",
|
|
54
54
|
"tsdown": "0.23.0",
|
|
55
|
-
"tsdown-config-silverwind": "4.1.
|
|
55
|
+
"tsdown-config-silverwind": "4.1.2",
|
|
56
56
|
"typescript": "6.0.3",
|
|
57
|
-
"typescript-config-silverwind": "
|
|
58
|
-
"updates-config-silverwind": "4.0.
|
|
59
|
-
"versions": "15.
|
|
60
|
-
"vitest": "5.0.
|
|
61
|
-
"vitest-config-silverwind": "12.0.
|
|
57
|
+
"typescript-config-silverwind": "21.0.1",
|
|
58
|
+
"updates-config-silverwind": "4.0.7",
|
|
59
|
+
"versions": "15.5.1",
|
|
60
|
+
"vitest": "5.0.2",
|
|
61
|
+
"vitest-config-silverwind": "12.0.4"
|
|
62
62
|
}
|
|
63
63
|
}
|