updates 18.0.3 → 18.0.5
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 +3 -3
- package/dist/api.d.ts +5 -2
- package/dist/api.js +1 -1
- package/dist/cli.js +1 -0
- package/dist/dns.js +1 -1
- package/dist/go.js +1 -0
- package/dist/index.js +4 -4
- package/dist/prewarm.js +1 -0
- package/dist/shared.js +22 -18
- package/dist/utils.js +1 -0
- package/package.json +4 -4
- package/dist/renovate.js +0 -1
- package/dist/shared2.js +0 -1
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ npx updates -u && npm i
|
|
|
43
43
|
|`-P, --patch [<dep,...>]`|Consider only up to semver-patch|
|
|
44
44
|
|`-m, --minor [<dep,...>]`|Consider only up to semver-minor|
|
|
45
45
|
|`-d, --allow-downgrade [<dep,...>]`|Allow downgrading onto a lower `latest` tag|
|
|
46
|
-
|`-s, --sockets <num>`|Maximum number of parallel HTTP sockets opened. Default:
|
|
46
|
+
|`-s, --sockets <num>`|Maximum number of parallel HTTP sockets opened. Default: 50|
|
|
47
47
|
|`-T, --timeout <ms>`|Network request timeout in ms. Default: 5000|
|
|
48
48
|
|`-r, --registry <url>`|Override npm registry URL|
|
|
49
49
|
|`-I, --indirect`|Include indirect Go dependencies|
|
|
@@ -63,7 +63,7 @@ A failed lookup is reported on its own, does not hold back the other results and
|
|
|
63
63
|
|
|
64
64
|
## Config File
|
|
65
65
|
|
|
66
|
-
Configure via `updates.config.{ts,js,mjs,mts}
|
|
66
|
+
Configure via `updates.config.{ts,js,mjs,mts}`. Each manifest uses the nearest config above it, and workspace members use the workspace root config. CLI arguments win over configured values, including `include`, `exclude` and `pin`.
|
|
67
67
|
|
|
68
68
|
```ts
|
|
69
69
|
import type {Config} from "updates";
|
|
@@ -103,7 +103,7 @@ export default {
|
|
|
103
103
|
|
|
104
104
|
### Renovate config
|
|
105
105
|
|
|
106
|
-
A [Renovate](https://docs.renovatebot.com/)
|
|
106
|
+
A [Renovate](https://docs.renovatebot.com/) `renovate.json` is picked up automatically, inheriting `ignoreDeps`, `enabled` and `allowedVersions` from matching `packageRules` as `include`/`exclude`/`pin`. Exact-name `allowedVersions` ranges become pin ceilings that never downgrade. Configs using `extends` are rejected. `minimumReleaseAge` is not inherited unless opted in:
|
|
107
107
|
|
|
108
108
|
```ts
|
|
109
109
|
export default {
|
package/dist/api.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
//#region utils/renovate.d.ts
|
|
2
2
|
type RenovateImportOptions = {
|
|
3
|
-
/** Import minimumReleaseAge as cooldown. Off by default. */
|
|
4
3
|
cooldown?: boolean;
|
|
5
4
|
};
|
|
6
5
|
//#endregion
|
|
@@ -84,6 +83,7 @@ type Override = {
|
|
|
84
83
|
/** Allow downgrading onto a lower `latest` tag */
|
|
85
84
|
allowDowngrade?: boolean;
|
|
86
85
|
};
|
|
86
|
+
declare const cliBaseConfig: unique symbol;
|
|
87
87
|
//#endregion
|
|
88
88
|
//#region modes/shared.d.ts
|
|
89
89
|
type Dep = {
|
|
@@ -95,6 +95,9 @@ type Dep = {
|
|
|
95
95
|
info?: string;
|
|
96
96
|
age?: string;
|
|
97
97
|
date?: string;
|
|
98
|
+
oldDigest?: string;
|
|
99
|
+
newDigest?: string;
|
|
100
|
+
digestOnly?: boolean;
|
|
98
101
|
};
|
|
99
102
|
type Deps = {
|
|
100
103
|
[name: string]: Dep;
|
|
@@ -140,4 +143,4 @@ type UpdatesOptions = Config & {
|
|
|
140
143
|
};
|
|
141
144
|
declare function updates(opts?: UpdatesOptions): Promise<Output>;
|
|
142
145
|
//#endregion
|
|
143
|
-
export { type Config, type Dep, DepError, type Deps, type DepsByMode, Output, type Override, UpdatesOptions, updates };
|
|
146
|
+
export { type Config, type Dep, DepError, type Deps, type DepsByMode, Output, type Override, UpdatesOptions, cliBaseConfig as cliConfigBaseDir, updates };
|
package/dist/api.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{O as e,a as t}from"./shared.js";export{e as cliConfigBaseDir,t as updates};
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,r as t}from"./shared.js";export{e as parseCliArgs,t as resolveConfig};
|
package/dist/dns.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"node:dns";function
|
|
1
|
+
import e from"node:dns";let t=null;function n(){if(t){if(e.lookup===t.lookup)return t.users++,r(t);t=null}let n=new Map,i=new Map,a=e.lookup,o=function(t,...r){let o=typeof r[0]!=`function`,s=o?r[0]:void 0,c=typeof s==`number`?{family:s}:s||{},l=o?r[1]:r[0];if(typeof l!=`function`)return a.call(e,t,...r);let u=JSON.stringify([t,c.family??0,c.hints??0,!!c.all,c.order??``,c.verbatim??``]),d=n.get(u);if(d){if(d.expires>Date.now()){queueMicrotask(()=>l(null,...d.result));return}n.delete(u)}let f=i.get(u);if(f){f.push(l);return}i.set(u,[l]);let p=(e,...t)=>{queueMicrotask(()=>{let r=i.get(u);i.delete(u),e||(n.size>=512&&n.delete(n.keys().next().value),n.set(u,{expires:Date.now()+6e4,result:t}));for(let n of r)n(e,...t)})};try{o?a.call(e,t,s,p):a.call(e,t,p)}catch(e){throw i.delete(u),e}};return e.lookup=o,t={lookup:o,original:a,users:1},r(t)}function r(n){let r=!1;return()=>{r||(r=!0,n.users--,!n.users&&(e.lookup===n.lookup&&(e.lookup=n.original),t===n&&(t=null)))}}export{n as enableDnsCache};
|
package/dist/go.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,D as t,E as n,S as r,T as i,_ as a,b as o,c as s,d as c,f as l,g as u,h as d,l as f,m as p,o as m,p as h,s as g,u as _,v,w as y,x as b,y as x}from"./shared.js";export{m as buildGoModulePath,g as encodeGoModulePath,s as extractGoMajor,f as fetchFromGoProxyChain,_ as fetchGoLatestOnce,c as fetchGoProxyInfo,l as getGoInfoUrl,h as goModulePathForVersion,p as goProxyHeaders,d as isGoNoProxy,u as parseGoMod,a as parseGoNoProxy,v as parseGoProxy,x as parseGoWork,o as pickGoListVersion,b as resolveGoProxyChain,r as resolveGoWorkModule,e as rewriteGoImportPaths,y as rewriteGoImports,i as shortenGoModule,n as shortenGoVersion,t as updateGoMod};
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{
|
|
2
|
+
import{argv as e,exit as t,platform as n,stderr as r,stdout as i,versions as a}from"node:process";import{readFileSync as o,statSync as s}from"node:fs";import{dirname as c,join as l,resolve as u}from"node:path";import{pathToFileURL as d}from"node:url";let f=String,p=String,m=!1;const h=new Set(`deflCpgPtmsTriM`);function g(e,t,n){if(e.includes(`--${t}`))return!0;for(let t of e){if(!/^-[^-]/.test(t))continue;let e=t.slice(1),r=e.indexOf(n);if(r!==-1&&Array.from(e.slice(0,r)).every(e=>!h.has(e)))return!0}return!1}const _={d:`allow-downgrade`,e:`exclude`,f:`file`,l:`pin`,C:`cooldown`,p:`prerelease`,R:`release`,g:`greatest`,t:`types`,P:`patch`,m:`minor`,s:`sockets`,T:`timeout`,r:`registry`,i:`include`,M:`modes`,forgeapi:`forgeapi`,pypiapi:`pypiapi`,jsrapi:`jsrapi`,goproxy:`goproxy`,cargoapi:`cargoapi`,dockerapi:`dockerapi`,file:`file`,modes:`modes`,registry:`registry`};async function v(e){let t={},n;for(let r=0;r<e.length;r++){let i=e[r];if(!i.startsWith(`-`)){n??=i;continue}let a=/^--([^=]+)(?:=(.*))?$/.exec(i),o=/^-([A-Za-z])(.*)$/.exec(i),s=a?_[a[1]]:o?_[o[1]]:void 0;if(!s)continue;let c=a?a[2]:o?.[2],l=c||e[r+1]?.startsWith(`-`)===!1?c||e[++r]:void 0;l!==void 0&&(s===`file`||s===`modes`?(t[s]??=[]).push(...l.split(`,`)):t[s]=l)}let r=t.file?.[0]??n,i=r?u(r):process.cwd(),a=r?c(i):i;try{s(i).isDirectory()&&(a=i)}catch{}let o={};configSearch:for(let e=a;;e=c(e)){for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=l(e,`updates.config.${t}`);try{if(!s(n).isFile())continue;o=(await import(d(n).href)).default??{};break configSearch}catch{}}if(c(e)===e)break}o={...o,...t};let f=Array.isArray(o.file)?o.file:o.files,{prewarmOrigins:p}=await import(`./prewarm.js`);for(let e of p(a,{...o,files:f}))(async()=>{try{await fetch(e,{method:`HEAD`})}catch{}})()}async function y(e,r){if(e){let t=e.message??String(e);console.info(m?JSON.stringify({error:t}):f(t))}n===`win32`&&Number(a.node.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),t(r??+!!e)}async function b(){for(let e of[i,r])e?._handle?.setBlocking?.(!0);let t=e.slice(2);if(m=g(t,`json`,`j`),g(t,`help`,`h`)&&(i.write(`usage: updates [options] [files...]
|
|
3
3
|
|
|
4
4
|
Options:
|
|
5
5
|
-u, --update Update versions and write dependency file
|
|
@@ -16,8 +16,8 @@ import{B as e,a as t,at as n,i as r,n as i,o as a,r as o,rt as s,s as c,v as l}f
|
|
|
16
16
|
-P, --patch [<dep,...>] Consider only up to semver-patch
|
|
17
17
|
-m, --minor [<dep,...>] Consider only up to semver-minor
|
|
18
18
|
-d, --allow-downgrade [<dep,...>] Allow downgrading onto a lower latest tag
|
|
19
|
-
-s, --sockets <num> Maximum number of parallel HTTP sockets opened. Default:
|
|
20
|
-
-T, --timeout <ms> Network request timeout in ms (go probes use half). Default:
|
|
19
|
+
-s, --sockets <num> Maximum number of parallel HTTP sockets opened. Default: 50
|
|
20
|
+
-T, --timeout <ms> Network request timeout in ms (go probes use half). Default: 5000
|
|
21
21
|
-r, --registry <url> Override npm registry URL
|
|
22
22
|
-I, --indirect Include indirect Go dependencies
|
|
23
23
|
-E, --error-on-outdated Exit with code 2 when updates are available and 0 when not
|
|
@@ -44,4 +44,4 @@ import{B as e,a as t,at as n,i as r,n as i,o as a,r as o,rt as s,s as c,v as l}f
|
|
|
44
44
|
$ updates -f Dockerfile
|
|
45
45
|
$ updates -f docker-compose.yml
|
|
46
46
|
$ updates -f Makefile
|
|
47
|
-
`),await
|
|
47
|
+
`),await y()),g(t,`version`,`v`)){let e;try{e=o(new URL(`package.json`,import.meta.url),`utf8`)}catch{e=o(new URL(`../package.json`,import.meta.url),`utf8`)}console.info(JSON.parse(e).version),await y()}try{await v(t)}catch{}let{parseCliArgs:n,resolveConfig:a}=await import(`./cli.js`),{args:s,positionals:c}=n(),l=await a(s,c),[{updates:u},{highlightDiff:d,textTable:h},{shortenGoModule:_},{stripVTControlCharacters:b,styleText:S}]=await Promise.all([import(`./api.js`),import(`./utils.js`),import(`./go.js`),import(`node:util`)]);!l.noColor&&(l.color||i.isTTY)&&(f=e=>S(`red`,String(e),{validateStream:!1}),p=e=>S(`green`,String(e),{validateStream:!1})),m=!!l.json;let C=await u(l),w=Object.keys(C.results).length>0,T=C.errors??[];if(l.json?console.info(JSON.stringify({...C.message&&{message:C.message},...w&&{results:C.results},...T.length&&{errors:T}})):C.message?console.info(C.message):w&&console.info(x(C,_,d,h,b)),l.update&&!l.json)for(let e of Object.keys(C.results))console.info(p(`✨ ${e} updated`));if(!l.json)for(let{mode:e,name:t,error:n}of T)console.info(f(`${e} ${t}: ${n}`));await y(void 0,T.length?1:l.errorOnOutdated?w?2:0:l.errorOnUnchanged?w?0:2:0)}function x(e,t,n,r,i){let a=Object.keys(e.results),o=a.length>1,s=[o?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],c=new Set;for(let r of a){let i=Object.values(e.results[r]).flatMap(e=>Object.entries(e));for(let[e,a]of i.sort(([e],[t])=>e<t?-1:+(e>t))){let i=`${r}|${e}|${a.old}|${a.new}`;c.has(i)||(c.add(i),s.push([r===`go`?t(e):e,...o?[r]:[],n(a.old,a.new,f),n(a.new,a.old,p),a.age||``,a.info||``]))}}return r(s,e=>i(e).length)}try{await b()}catch(e){await y(e)}export{};
|
package/dist/prewarm.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./shared.js";export{e as prewarmOrigins};
|
package/dist/shared.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
import{cwd as e,env as t,pid as n,platform as r,stderr as i}from"node:process";import{
|
|
1
|
+
import{cwd as e,env as t,pid as n,platform as r,stderr as i}from"node:process";import{accessSync as a,globSync as o,readFile as s,readFileSync as c,readdirSync as l,realpathSync as u,statSync as d,truncateSync as f,writeFileSync as p}from"node:fs";import{basename as m,dirname as h,isAbsolute as g,join as _,relative as v,resolve as y,sep as b}from"node:path";import{pathToFileURL as x}from"node:url";import{parseArgs as S,styleText as ee}from"node:util";import{access as te,mkdir as C,readFile as w,readdir as ne,realpath as T,rename as re,stat as ie,unlink as E,utimes as ae,writeFile as oe}from"node:fs/promises";import{AsyncLocalStorage as se}from"node:async_hooks";import{Buffer as D}from"node:buffer";import{setTimeout as O}from"node:timers/promises";import{createHash as ce}from"node:crypto";import{homedir as k}from"node:os";const A=/^\[\[([^\]]+)\]\]$/,le=/^\[([^[\]]+)\]$/,j=()=>Object.create(null);function ue(e){let t=j(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=r[e],a=ge(i).trim();if(!a)continue;let o=A.exec(a);if(o){let e=t,r=he(o[1]);for(let t=0;t<r.length-1;t++){let n=e[r[t]];Array.isArray(n)?e=n[n.length-1]:((!n||typeof n!=`object`)&&(e[r[t]]=j()),e=e[r[t]])}let i=r[r.length-1];Array.isArray(e[i])||(e[i]=[]);let a=j();e[i].push(a),n=a;continue}let s=le.exec(a);if(s){n=P(t,he(s[1]));continue}let c=N(a,`=`);if(c<0)continue;let l=a.slice(0,c).trim(),u=a.slice(c+1).trim(),d=he(l),f=P(n,d.slice(0,-1)),p=d[d.length-1],m=[`"""`,`'''`].find(e=>u.startsWith(e)&&!u.includes(e,3))??``;if((u.startsWith(`[`)||u.startsWith(`{`))&&!pe(u)){let t=u,n=e+1;for(;n<r.length&&(t+=`\n${ge(r[n])}`,!pe(t));n++);e=n,f[p]=M(t)}else if(m){let t=u.slice(3),n=e+1;for(;n<r.length;n++){let e=r[n].indexOf(m);if(e>=0){t+=(t?`
|
|
2
2
|
`:``)+r[n].slice(0,e);break}t+=(t?`
|
|
3
|
-
`:``)+r[n]}e=n,f[p]=
|
|
4
|
-
`;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}function
|
|
5
|
-
`)}return a}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]=t,r=Ie[n.toLowerCase()];if(r)return Number(e)*r}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 L(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 R=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Be(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(R).join(`|`)}function Ve(e){return e instanceof RegExp?/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e:RegExp(`^${R(e).replaceAll(`\\*`,`.*`)}$`,`i`)}async function He(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=c(n);if(r===n)return null;n=r}}function Ue(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function z(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 We(e){let t=new Map;return n=>z(t,n,()=>e(n))}const Ge=/^v?(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*))?(?:\+[a-zA-Z0-9._-]+)?$/,Ke=new Map;function B(e){return typeof e==`string`?z(Ke,e,()=>{let t=Ge.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function qe(e,t){let n=typeof e==`number`,r=typeof t==`number`;return n&&r?e-t:n?-1:r?1:e<t?-1:+(e>t)}function V(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function Je(e,t){let n=V(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=qe(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function Ye(e){return B(e)?.version??null}function H(e){return B(e)}const Xe=new Map,Ze=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function U(e){return typeof e==`string`?z(Xe,e,()=>{let t=Ze.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function Qe(e,t){let n=B(e),r=B(t);return!n||!r?null:$e(n,r)}function $e(e,t){if(e.version===t.version)return null;let n=Je(e,t),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(V(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 et(e,t){let n=B(e),r=B(t);return n&&r?Je(n,r):null}function W(e,t){return(et(e,t)??-1)>0}function tt(e){let t=/^(>=|<=|>|<|=)?\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*)?)$/.exec(e.trim());if(!t)return null;let n=t[2],r=B(`${n}.${t[3]??`0`}.${t[4]??`0`}${t[5]||``}`);return r?{op:t[1]||`=`,semver:r}:null}function nt(e,t){let n=Je(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return n===0}}function G(e,t,n){return`${e}.${t}.${n}-0`}function rt(e){return e.replace(/([~^])\s*v?(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:\.[xX*])*((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i,a)=>{let o=Number(n),s=r===void 0?0:Number(r),c=i===void 0?0:Number(i),l=(t===`~`?r:i)===void 0?``:a,u;return u=r===void 0?G(o+1,0,0):t===`~`?G(o,s+1,0):o===0?i!==void 0&&s===0?G(0,0,c+1):G(0,s+1,0):G(o+1,0,0),`>=${o}.${s}.${c}${l} <${u}`})}function it(e){return e.replace(/v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)\s+-\s+v?(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[a-zA-Z0-9._-]+)?)/g,(e,t,n,r,i,a,o,s,c)=>{let l=Number(t),u=n===void 0?0:Number(n),d=r===void 0?0:Number(r),f=i||``,p=Number(a),m;return m=s===void 0?o===void 0?`<${G(p+1,0,0)}`:`<${G(p,Number(o)+1,0)}`:`<=${p}.${Number(o)}.${Number(s)}${c||``}`,`>=${l}.${u}.${d}${f} ${m}`})}function at(e,t,n,r){return!e||e===`=`?r?`>=${t}.0.0 <${G(t+1,0,0)}`:`>=${t}.${n}.0 <${G(t,n+1,0)}`:e===`>`?r?`>=${t+1}.0.0`:`>=${t}.${n+1}.0`:e===`<=`?r?`<${G(t+1,0,0)}`:`<${G(t,n+1,0)}`:e===`<`?r?`<${t}.0.0-0`:`<${t}.${n}.0-0`:r?`>=${t}.0.0`:`>=${t}.${n}.0`}function ot(e){return/^\s*[*xX]\s*$/.test(e)?`>=0.0.0`:(e=e.replace(/(>=|<=|>|<|=)?\s*v?(\d+)\.(\d+)\.[xX*]/g,(e,t,n,r)=>at(t,Number(n),Number(r),!1)),e=e.replace(/(>=|<=|>|<|=)?\s*v?(\d+)\.[xX*](?:\.[xX*])?/g,(e,t,n)=>at(t,Number(n),0,!0)),e=e.replace(/(^|[\s|])(>=|<=|>|<|=)?\s*v?(\d+)\.(\d+)(?=\s|$)/g,(e,t,n,r,i)=>`${t}${at(n,Number(r),Number(i),!1)}`),e=e.replace(/(^|[\s|])(>=|<=|>|<|=)?\s*v?(\d+)(?=\s|$)/g,(e,t,n,r)=>`${t}${at(n,Number(r),0,!0)}`),e)}const st=new Map;function ct(e){return z(st,e,()=>{let t=e.split(`||`).map(e=>e.trim()),n=[];for(let e of t){if(!e){n.push([]);continue}e=it(e),e=rt(e),e=ot(e),e=e.replace(/(>=|<=|>|<|=)\s+/g,`$1`),e=e.replace(/(^|[\s])v?(\d+\.\d+\.\d+(?:-[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*)?)\b/g,(e,t,n)=>`${t}=${n}`);let t=[];for(let n of e.split(/\s+/).filter(Boolean)){let e=tt(n);if(!e)return null;t.push(e)}if(t.length===0)return null;n.push(t)}return n.length?n:null})}function lt(e,t){return t.some(t=>!nt(e,t))?!1:e.prerelease.length>0?t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch):!0}function K(e,t){let n=B(e);if(!n)return!1;let r=ct(t);if(!r)return!1;for(let e of r)if(e.length===0||lt(n,e))return!0;return!1}function ut(e){return typeof e==`string`&&ct(e)?e:null}const dt=`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]+)*))?`,ft=RegExp(`^${dt}$`,`i`),pt=RegExp(dt,`i`),mt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},ht=new Map;function q(e){return typeof e==`string`?z(ht,e,()=>{let t=ft.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?[mt[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 gt(e){return q(e)??q(pt.exec(e)?.[0]??``)}const _t=e=>!!(e.pre||e.dev);function vt(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 yt(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?vt(e.local,t.local):a<o?-1:1}function bt(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 xt(e,t){let n=yt(e,t);if(n===0)return null;let r=bt(e,t);return _t(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const St=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,Ct={parse:H,parseRange:e=>H(St.exec(e)?.[0]??``)??H(U(e)?.version??``),compare:Je,diff:$e,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:(e,t)=>K(e.version,t)},wt=new Map;function Tt(e){return z(wt,e,()=>{let t=e.trim().replace(/^v/i,``);return(H(t)??H(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?H(U(t)?.version??``):null)})}const Et={...Ct,parse:Tt,parseRange:Tt,isRangePrerelease:e=>!!Tt(e)?.prerelease.length},Dt={parse:q,parseRange:gt,compare:yt,diff:xt,isPrerelease:_t,isRangePrerelease:e=>{let t=gt(e);return!!(t&&_t(t))},satisfiesRange:({release:e},t)=>K(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Ot=[[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`]],kt={"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 At(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function jt(e,{now:t,noAffix:n=!1,times:r=Ot,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=kt,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():At(t))-At(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 Mt(e){return new Promise((t,n)=>{h(e,`utf8`,(e,r)=>e?n(e):t(r))})}const Nt=u(r===`win32`?t.LOCALAPPDATA||u(T(),`AppData`,`Local`):t.XDG_CACHE_HOME||u(T(),`.cache`),`updates`);let Pt=null;const Ft=new Map;function It(e){return z(Ft,e,()=>w(`sha256`).update(e).digest(`hex`).substring(0,16))}async function Lt(e){try{let t=await Mt(u(Nt,`${It(e)}.cache`)),n=t.indexOf(`
|
|
6
|
-
`);if(n===-1)return null;let r=t.substring(0,n),i=t.substring(n+1);return r&&i?{etag:r,body:i}:null}catch{return null}}const Rt=new Set;let zt=0;function Bt(e,t,r){let i=(async()=>{try{await(Pt??=ne(Nt,{recursive:!0}))}catch{Pt=null;return}try{let i=u(Nt,`${It(e)}.cache`),a=`${i}.${n}-${zt++}.tmp`;await C(a,`${t}\n${r}`),await S(a,i)}catch{}})();Rt.add(i),(async()=>{await i,Rt.delete(i)})()}async function Vt(){for(;Rt.size;)await Promise.all(Rt)}var Ht=`18.0.3`;function Ut(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const Wt=Ht,Gt=5e3,Kt=2500,qt=`https://api.github.com`,J={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:qt,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,Jt=e=>e.endsWith(`/`)?e.slice(0,-1):e;function Yt(e,t){return{headers:{"user-agent":`updates/${Wt}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const Xt=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function Zt(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&Xt.has(t)}async function Qt(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=Zt(t),n}}async function $t(e,t,n={}){let r=fn(e);for(let i=0;;i++)try{return await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)}))}catch(e){if(i>=2||!e?.transient)throw e}}async function en(e){return typeof e.text==`function`?e.text():JSON.stringify(await e.json())}const tn=e=>t=>JSON.stringify(e(JSON.parse(t)));function nn(e,t){if(!t||e.length<16384)return e;try{return t(e)}catch{return e}}async function rn(e,t,n,r,i){let a=nn(await en(t),r);return i&&!n.noCache&&Bt(e,i,a),{body:a,res:t}}async function an(e,t,n={},r,i=e){let a=t.noCache?null:await Lt(i),o=n.headers,s=a?{...o,"if-none-match":a.etag}:o,c=await $t(t,e,{...n,headers:s});return c?c.status===304&&a?{body:a.body,res:c}:c.ok?rn(i,c,t,r,c.headers?.get?.(`etag`)):{res:c}:{res:void 0}}async function on(e,t,n={},r){if(!t.noCache){let t=await Lt(e);if(t)return{body:t.body}}let i=await $t(t,e,n);return i?i.ok?rn(e,i,t,r,`immutable`):{res:i}:{res:void 0}}function sn(e,t,n,r){let i=z(e,t,()=>new Map),a=i.get(n);return a||i.set(n,a=(async()=>{try{return await r()}catch(e){throw i.delete(n),e}})()),a}const cn=new re;function ln(e){let t=0,n=0,r=[];return async i=>{if(cn.getStore())return i();t<e?t++:await new Promise(e=>{r.push(e)});try{return await cn.run(!0,i)}finally{n<r.length?(r[n++](),n===r.length&&(r=[],n=0)):t--}}}const un=e=>Math.max(e.concurrency||25,1),dn=new WeakMap;function fn(e){let t=dn.get(e);return t||dn.set(e,t=ln(un(e))),t}function pn(e,t=Ct){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}function mn(e,t,n){let r=e.get(t);if(r)return r;let i=new Set(t);return n(i),e.set(t,i),i}const hn=new WeakMap,gn=new WeakMap;function _n(e,t,n,r,i=Ct){let a=t||i.isRangePrerelease(e),o=r;return t?o=mn(hn,r,e=>{e.add(`prerelease`),r.has(`patch`)&&e.add(`prepatch`),r.has(`minor`)&&e.add(`preminor`),r.has(`major`)&&e.add(`premajor`)}):a&&(o=mn(gn,r,e=>e.add(`prerelease`))),{effectiveSemvers:o,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function vn(e){return U(e)?.version??``}function yn(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=Ct}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=_n(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),ee=!!c&&!l&&!m.satisfiesRange(h,c),te=!!u&&(!!y||m.isPrerelease(h)),ne=e?.time,x=!!(d&&f),S=null;for(let e of t){let t=m.parse(e);if(!t||_(t))continue;let n=m.compare(t,h)<=0;if(n&&!ee&&!te||S&&m.compare(t,S)<=0||n&&!ee&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||x&&!Ut(p?p(e):ne?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;!i||!g.has(i)||(S=t)}return S?.version??null}function bn(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function xn(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`?Dt:Ct,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;m=Object.keys(t).filter(e=>!t[e]?.some(e=>e?.yanked)),g=e=>t[e]?.[0]?.upload_time_iso_8601,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[vn(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=vn(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=_n(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=vn(e),o=f.parse(e);if(!a||bn(e)||r(o))return!1;let c=Qe(m,e)??Qe(t,a);return!c||!n.has(c)||!g&&o&&h&&f.compare(o,h)<0||!Ut(i,l,u)?!1:!s||K(a,s)};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return yn(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 Sn(e){try{return new URL(e).host}catch{return``}}function Cn(e){for(let n of I(t.UPDATES_FORGE_TOKENS??``)){let t=n.lastIndexOf(`:`);if(t>0&&n.slice(0,t)===e)return n.slice(t+1)}return null}let wn;async function Tn(){let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)}function En(){return wn??=Tn()}const Dn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];function On(){return Array.from(new Set(Dn.map(e=>t[e]).filter(e=>!!e)))}let kn;function An(){let e=On();return e.length?Promise.resolve(e):kn??=(async()=>{try{let{stdout:e}=await(await En())(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),t=e.trim();return t?[t]:[]}catch{return[]}})()}const jn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Mn(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=jn.exec(n);if(!e)continue;let r=Sn(e[1]),i=ie.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let Nn;function Pn(){return Nn??=(async()=>{try{let{stdout:e}=await(await En())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Mn(e)}catch{return new Map}})()}const Fn=new Map;async function In(e,t){if(!e)return[];let n=Cn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===Sn(t),[a,o]=await Promise.all([i?An():[],Pn()]),s=o.get(r);return Array.from(new Set(s?[...a,s]:a))}var Ln=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 Rn(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 zn(e,t,n,r){if(e.status>=500)throw new Ln(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Rn(e);if(i===null)return e;throw new Ln(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function Bn(e,t,n){let r=Sn(e),i=await In(r,t.forgeApiUrl),a=e=>{let t=Yt(`Bearer`,e);return n&&(t.headers={...t.headers,...n}),t},o=async n=>zn(await $t(t,e,a(n)),e,r,i.length>0);try{if(!i.length)return await o();let e=Fn.get(r);if(e)return await o(e);for(let e of i){let t=await o(e);if(t.status!==401&&t.status!==403)return Fn.set(r,e),t}return await o()}catch(e){throw e instanceof Ln?e:new Ln(`network`,r,e?.message??String(e),{cause:e})}}function Vn(e,t){let n=Y(t);if(!Ye(n))return null;let r=``,i=``;for(let t of e){let e=Y(t);Ye(e)&&(!r||W(e,i))&&(r=t,i=e)}return r&&W(i,n)?r:null}function Hn(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 Un=/^(?=.*[a-f])[0-9a-f]{6,}$/i;function Wn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Gn(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function Kn(e){return e.map(e=>({name:e.name,commitSha:e.commit?.sha||``}))}async function qn(e,t,n){let r=t.noCache?null:await Lt(e),i=await Bn(e,t,r?{"if-none-match":r.etag}:void 0);if(i?.status===304&&r)return r.body;if(!i?.ok)return null;let a=await n(i),o=i.headers.get(`etag`);return o&&!t.noCache&&Bt(e,o,a),a}async function Jn(e,t){let n=await qn(e,t,async e=>JSON.stringify({link:e.headers.get(`link`)||``,tags:Kn(await e.json())}));if(!n)return null;try{let e=JSON.parse(n);return{tags:e.tags||[],link:e.link||``}}catch{return null}}async function Yn(e,t,n,r,i=[]){let a=r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,o=[],s=new Set(i.filter(Boolean)),c=s.size>0,l=e=>{for(let t of e?.tags??[]){for(let e of s)(e===t.name||t.commitSha.startsWith(e))&&s.delete(e);o.push(t)}return c&&!s.size};try{let e=await Jn(a(1),r);if(!e)return o;let t=/<([^>]+)>;\s*rel="last"/.exec(e.link),n=t?Math.min(Number(new URL(t[1]).searchParams.get(`page`)),100):0,i=un(r);for(let t=2,o=1,s=l(e);t<=n&&!s;t+=o,o=Math.min(o*2,i)){let e=await Promise.all(Array.from({length:Math.min(o,n-t+1)},(e,n)=>Jn(a(t+n),r)));for(let t of e)s=l(t)}return o}catch(e){if(e instanceof Ln)throw e;return[]}}function X(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}const Xn=e=>Number(e[0])>=2e7;function Zn(e,t){let n=Y(e).split(`.`),r=Y(t).split(`.`);return n.length<r.length?!1:!Xn(n)||Xn(r)}function Qn(e,t,n=``){let r=Y(e),i=Y(t).split(`.`).length,a=r.split(`.`),o=i>=3?r:Array.from({length:i},(e,t)=>a[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${o}${n}`}function $n(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const er=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function tr({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of er)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=Hn(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${$n(a)}/${e.directory}`)),a||t||``)}const nr={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-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`}};function rr(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`).flatMap(I)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function ir(e){for(let[t,{short:n}]of Object.entries(nr))if(t===e||n===e)return t;return``}function ar(e){return new Set(e.map(Ve))}function or(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(I):[]}function sr(e){for(let[t,n]of Object.entries(e??{}))if(!ut(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function cr(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 sr(t),t}function lr(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:ar(e)}async function ur(e){let t=await Promise.all([`js`,`ts`,`mjs`,`mts`].map(async t=>{let n=`updates.config.${t}`,r=u(e,n);try{await te(r)}catch{return null}try{return{configDir:e,default:(await import(ae(r).href)).default??{}}}catch(e){return Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}));for(let e of t)if(e&&!(e instanceof Error))return e;for(let e of t)if(e instanceof Error)throw e;return null}const dr=We(e=>He(e,ur));async function fr(e,t={}){let n=await dr(e),r=n?.default??{},{loadRenovateConfig:i,makePresetFetcher:a}=await import(`./renovate.js`),o=a(t),s=await i(n?.configDir??e,r.inherit?.renovate,o),c={...s,...r};return s.pin&&(c.pin={...s.pin,...r.pin},c.pinNoDowngrade=Object.keys(s.pin).filter(e=>!r.pin?.[e])),s.overrides?.length&&(c.overrides=[...s.overrides,...r.overrides??[]]),sr(c.pin),c}function pr(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function mr(e){try{return pr(g(e,`utf-8`))}catch{return}}function hr(e,t){let n=t;for(;;){let t=u(n,e);try{if(y(t).isFile())return t}catch{}let r=c(n);if(r===n)break;n=r}}function gr(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);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function _r(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[{...i}],l=[];function d(e){if(!e||l.includes(e))return;let t=mr(e);t&&(c.push(t),l.push(e))}o||(d(u(`/etc`,n,`config`)),d(u(`/etc`,`${n}rc`))),s&&(d(u(s,`.config`,n,`config`)),d(u(s,`.config`,n)),d(u(s,`.${n}`,`config`)),d(u(s,`.${n}rc`))),d(hr(`.${n}rc`,a));let f=gr(`${n}_`);return f.config&&d(f.config),Object.assign({},...c,f,l.length?{configs:l,config:l[l.length-1]}:void 0)}const vr=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,yr=/^([^/]+)\/([^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,br=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,xr=/(@[^/]+\/)?([^/]+)/g,Sr=/^(?:@[^/]+\/)?[^@]+/,Cr=new Set([`resolutions`,`overrides`]);function wr(e){let t=e.match(xr),n=t?t[t.length-1]:e;return Sr.exec(n)?.[0]??n}const Tr=J.registry,Er=new Map,Dr=new Map;function Or(e){return z(Er,e??``,()=>_r(`npm`,{registry:Tr},e))}function kr(e){return e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``)}function Ar(e,t){let n=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],r=n(`_authToken`);if(r)return{token:kr(r),type:`Bearer`};let i=n(`username`),a=n(`_password`);if(i&&a){let e=Buffer.from(kr(a),`base64`).toString(`utf8`);return{token:Buffer.from(`${i}:${e}`).toString(`base64`),type:`Basic`,username:i,password:e}}let o=n(`_auth`);if(o)return{token:kr(o),type:`Basic`}}function jr(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=Ar(`//${n.host}${r.replace(/\/$/,``)}`,t);if(e)return e;let i=r.endsWith(`/`)?r:`${r}/`;n.pathname=new URL(`..`,new URL(i,`http://x`)).pathname}let i=t._auth;if(i)return{token:kr(i),type:`Basic`}}function Mr(e,t){let n=t[`${e}:registry`]||``;return!n||n.endsWith(`/`)?n:`${n}/`}function Nr(e,t,n){let r=Or(n),i=e.startsWith(`@`)?e.split(`/`)[0]:``;return z(Dr,`${n??``}${i}:${t}`,()=>{let e,n=i&&Mr(i,r);if(n)try{let i=Jt(n);i!==t&&(e={auth:jr(i,r),registry:i})}catch{}return e??{auth:jr(t,r),registry:t}})}function Pr(e,t,n,r){let i=Jt(typeof n.registry==`string`&&n.registry||t.registry||Or(r).registry||Tr);return{...Nr(e,i,r),originalRegistry:i}}function Fr(e,t,n){let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r}const Ir=new WeakMap,Lr=new WeakMap,Rr=new WeakMap,zr=(e,t)=>`${e}\0v2${t?`-dates`:``}`;function Br(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 Vr(e,t,n,r,i,a,o=``){let s=Cr.has(t)?wr(e):t===`packageManager`&&e===`yarn`&&(H(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Pr(s,n,r,a),u=Fr(l,s),d=zr(u,!!r.needsDates);return[await sn(Ir,i,d,async()=>{let t=Yt(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await an(u,i,t,tn(Br),d);return`body`in n||X(n.res,u,e,l),JSON.parse(n.body)}),l]}async function Hr(e,t,n,r,i,a){let{auth:o,registry:s}=Pr(e,n,r,a),c=Fr(s,e,t);return sn(Lr,i,c,async()=>{try{let n=Yt(o?.type,o?.token),a=await on(c,i,n,tn(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=l?._npmOperationalInternal?.tmp;if(d){let e=/(\d{13})/.exec(d);e&&(u=new Date(Number(e[1])).toISOString())}let f=Fr(s,e);return!u&&r.needsDates&&(u=(await Ir.get(i)?.get(zr(f,!0)))?.time?.[t]||``),u||=(await ze(sn(Rr,i,f,async()=>{let e=await $t(i,f,n);return e?.ok?await e.json():null})))?.time?.[t]||``,{repository:l.repository,homepage:l.homepage,date:u}}catch{return{}}})}function Ur(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Wr(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Gr(e){return e.startsWith(`catalog:`)}const Kr=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function qr(e){let t=Kr.exec(e);return t&&ut(t[2])?{name:t[1],range:t[2]}:null}const Jr=[/^npm:@jsr\/([^_]+)__([^@]+)@(.+)$/,/^jsr:@([^/]+)\/([^@]+)@(.+)$/],Yr=/^@([^/]+)\/(.+)$/;function Xr(e,t){for(let t of Jr){let n=t.exec(e);if(n)return{scope:n[1],name:n[2],version:n[3]}}if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=Yr.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function Zr(e,t){if(!Yr.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`,r=await an(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},tn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||X(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]}const Qr=new Set([32,9,10,13]);function $r(e){let t=new Map,n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e.charCodeAt(a);if(o===34){let t=a;for(;e.charCodeAt(++a)!==34&&a<e.length;)e.charCodeAt(a)===92&&a++;n===1&&r===null&&(r=e.slice(t+1,a),i=t)}else o===123||o===91?n++:o===125||o===93?(--n===0&&r!==null&&t.set(r,{start:i,end:a}),n===0&&(r=null)):o===44&&n===1&&r!==null&&(t.set(r,{start:i,end:a}),r=null)}return t}function ei(e,t,n,r){for(let i=e.indexOf(n,t);i!==-1;i=e.indexOf(n,i+1)){let t=i+n.length;for(;Qr.has(e.charCodeAt(t));)t++;if(e.charCodeAt(t)===58){for(t++;Qr.has(e.charCodeAt(t));)t++;if(e.startsWith(r,t))return t}}return-1}function ti(e,t){let n;try{n=JSON.parse(e)}catch{return e}let r=$r(e),i=new Map,a=[];for(let[o,{old:s,oldOrig:c,new:l}]of Object.entries(t)){let[t,u]=o.split(`\0`),d=n[t],f=typeof d==`string`,p=f?`${u}@${c||s}`:c||s,m=r.get(t);if(!m||(f?d:d?.[u])!==p)continue;let h=JSON.stringify(f?t:u),g=JSON.stringify(p),_=ei(e,i.get(t)??m.start,h,g);(_===-1||_>=m.end)&&(_=ei(e,m.start,h,g)),!(_===-1||_>=m.end)&&(i.set(t,_+g.length),a.push({index:_,length:g.length,text:JSON.stringify(f?`${u}@${l}`:l)}))}if(!a.length)return e;a.sort((e,t)=>e.index-t.index);let o=[],s=0;for(let{index:t,length:n,text:r}of a)t<s||(o.push(e.slice(s,t),r),s=t+n);return o.push(e.slice(s)),o.join(``)}const ni=String.raw`[<>]=?|[\^~=]`,ri=new RegExp(String.raw`^(${ni})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),ii=RegExp(`^(?:${ni})$`),ai=/^[xX*]$/,oi=/\+[0-9A-Za-z.-]+/g,si=/\|\||[\dxX*]\s+\S/;function ci(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&ii.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function li(e,t){let n=ri.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&!a&&c.length<=3&&!/[xX*]/.test(o)&&(!s||s===`-0`)){let{major:e,minor:n,patch:a}=H(t);return`${r}${i}${s?`${e+1}.0.0-0`:c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:o.endsWith(`.0.0`)?`${e+1}.0.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;let l=t.split(`-`)[0].split(`.`);return l.join(`.`)===t?`${r}${i}${a}${c.map((e,t)=>ai.test(e)?e:l[t]??`0`).join(`.`)}`:`${r}${i}${a}${t}`}function ui(e,t){return e===`peerDependencies`||si.test(t)}function di(e,t){if(K(t,e))return e;let n=ci(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=li(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=li(r,t),n.join(` `)}function fi(e,t,n,r){let i=(n||e).replace(oi,``),a=ui(r,i)?di(i,t):li(i,t);return K(t,a)?a:i}function Z(e){if(/[xX*]/.test(e))return e;let t=e.match(br);return t?.length===1?e.replace(br,vn(t[0])):e}async function pi(e,t,n){let r=await qn(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,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 mi(e,t,n,r){return(await Yn(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}async function hi(e,t,n){let r=t.old.replace(vr,``),[,i,a,o]=yr.exec(r)||[];if(!i||!a||!o)return null;let s=e=>{let n=t.old.lastIndexOf(o);return t.old.slice(0,n)+e+t.old.slice(n+o.length)};if(Un.test(o)){let{hash:t,commit:r}=await pi(i,a,n);if(!t)return null;let c=Gn(r),l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:s(l),user:i,repo:a,oldRef:o,newRef:l,newDate:c}}else{let t=Vn(await mi(i,a,o,n),o);if(t)return{key:e,newRange:s(t),user:i,repo:a,oldRef:o,newRef:t}}return null}function gi(e){let t={};for(let[n,r]of Object.entries(e.releases??{})){let e=r??[];t[n]=e.slice(0,1).map(t=>({...t.upload_time_iso_8601&&{upload_time_iso_8601:t.upload_time_iso_8601},...e.some(e=>e?.yanked)&&{yanked:!0}}))}let{name:n,version:r,project_urls:i}=e.info??{};return{info:{name:n,version:r,project_urls:i},releases:t}}async function _i(e,t){let n=`${t.pypiApiUrl}/pypi/${e}/json`,r=await an(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},tn(gi));if(`body`in r)return[{...JSON.parse(r.body),name:e},null];X(r.res,n,e,t.pypiApiUrl)}function vi(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=q(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=q(n);if(!r)return!1;let i=yt(e,r);if(t===`==`)return i===0;if(t===`!=`)return i!==0;if(t===`>=`)return i>=0;let a=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&&!(a&&e.post!==null&&r.post===null):t===`<=`?i<=0:t===`<`?i<0&&!(a&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function yi(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);return r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1),e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r)).join(`.`)}function bi(e,t){return e.release.length===t.release.length?t.version:Array.from({length:e.release.length},(e,n)=>t.release[n]??0).join(`.`)}function xi(e,t,n){let r=Ce(e),i=r?.specifiers,a=q(t),o=q(n);if(!r||!i||!a||!o)return null;let s=we(i);if(s?.version!==t)return null;for(let e of i){if(e===s){e.version=e.op===`~=`?bi(a,o):n;continue}if(vi(o,e))continue;let t=q(e.version);e.op===`<`&&t?e.version=yi(t,a,o):e.op===`<=`&&(e.version=n)}return i.some(e=>!vi(o,e))?null:N(r,i)}function Si(e,t){let n=e;for(let[e,{old:r,oldOrig:i,new:a}]of Object.entries(t)){let t=e.split(`\0`)[1],o=i||r,s=RegExp(`(['"])( *${R(t)}(?![\\w.-]).*?)(?=\\1)`,`g`);n=n.replace(s,(e,t,n)=>`${t}${xi(n,o,a)??n}`)}return n}function Ci(e){let t=e.includes(`:/`)||e.startsWith(`/`);return Jt(!t&&/[.:/]/.test(e)?`https://${e}`:e)}function wi(e){let t=[],n=e;for(;n;){let e=n.search(/[,|]/),r=(e===-1?n:n.slice(0,e)).trim(),i=e!==-1&&n[e]===`|`?`|`:`,`;if(n=e===-1?``:n.slice(e+1),r){if(r===`off`||r===`direct`){t.push({url:r,fallback:i});break}t.push({url:Ci(r),fallback:i})}}return t}function Ti(e){if(typeof e==`string`)return[{url:Jt(e),fallback:`,`}];let n=wi(t.GOPROXY||`${J.goproxy},direct`);return n.length?n:[{url:J.goproxy,fallback:`,`}]}function Ei(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Di=new Map;function Oi(e){return z(Di,e,()=>{let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(r===`*`)t+=`[^/]*`;else if(r===`?`)t+=`[^/]`;else if(r===`[`&&e.includes(`]`,n+1)){let r=e.indexOf(`]`,n+1);t+=`[${e.slice(n+1,r).replace(/\\/g,`\\\\`)}]`,n=r}else t+=R(r)}return RegExp(`^${t}(?:/.*)?$`)})}function ki(e,t){return t.some(t=>Oi(t).test(e))}function Ai(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const ji=/\/v(\d+)$/,Mi=/^gopkg\.in\/.*?\.v(\d+)$/;function Ni(e){let t=Mi.exec(e)??ji.exec(e);return t?Number.parseInt(t[1]):1}function Pi(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(ji,``);return t<=1?n:`${n}/v${t}`}function Fi(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(Y(t).split(`.`)[0]);return Number.isNaN(n)||n===Ni(e)?e:Pi(e,n)}const Ii=/^require\s*\(/,Li=/^replace\s*\(/,Ri=/^tool\s*\(/,zi=/^use\s*\(/,Bi=/^replace\s+/,Vi=/^(\S+)\s+(v\S+)/,Hi=/^require\s+(\S+)\s+(v\S+)/,Ui=/^tool\s+(\S+)/,Wi=/^use\s+(\S+)/,Gi=/^(\S+)/,Ki=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,qi=/^replace\s+(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Ji=/^"(.*)"$/,Yi=e=>Ji.exec(e)?.[1]??e;function Xi(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function Zi(e,t){let n=(t?Ki:qi).exec(e);if(!n)return null;let[,r,i,a,o]=n;return{origModule:Yi(r),origVersion:i??``,targetModule:Yi(a),targetVersion:o??``}}function Qi(e,t,n){return t===`indirect`||e.startsWith(`golang.org/x/`)||bn(n)}async function $i(e,t,n){if(!t)return null;let r=t,i=pn(t.Version)?null:t,a=e+101,o=e+2,s=7;for(;o<=a;){let e=Math.min(o+s-1,a),t=await Promise.all(Array.from({length:e-o+1},(e,t)=>n(o+t))),c=t.indexOf(null),l=c===-1?t:t.slice(0,c);if(l.length&&(r=l.at(-1),i=l.findLast(e=>!pn(e.Version))??i),c!==-1)break;o=e+1,s*=2}return i??r}function ea(e,t,n,r,i){let a=n?.Version??r,o=n?.Time??i,s=n?.path??e;return[{name:e,old:t,new:Y(a),Time:o,...s!==e&&{newPath:s},sameMajorNew:Y(r),sameMajorTime:i},null]}function ta(e){let t={},n={},r={},i={},a=new Set,o=[],s=e.split(/\r?\n/),c=!1,l=!1,u=!1;for(let e of s){let i=e.trim();if(Ii.test(i)){c=!0;continue}if(Li.test(i)){l=!0;continue}if(Ri.test(i)){u=!0;continue}if(i===`)`){c=!1,l=!1,u=!1;continue}if(i.startsWith(`//`))continue;if(u){i&&o.push(Yi(i));continue}let s=Ui.exec(i);if(s){o.push(Yi(s[1]));continue}let d=i.includes(`// indirect`);if(l||Bi.test(i)){let e=Zi(i,l);e&&(e.targetVersion&&!Xi(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||a.add(e.origModule));continue}let f=(c?Vi:Hi).exec(i);f&&((d?n:t)[Yi(f[1])]=f[2])}for(let e of a)delete t[e],delete n[e];if(o.length){let e=[...Object.keys(n),...Object.keys(t)];for(let r of o){let a=``;for(let t of e)(r===t||r.startsWith(`${t}/`))&&t.length>a.length&&(a=t);let o=n[a]?n:t[a]?t:null;o&&(i[a]=o[a],delete o[a])}}return{deps:t,indirect:n,replace:r,tool:i}}async function na(e,n,r,i,a){let o=Ni(e),s=async(e,n)=>{try{let{stdout:r}=await(await En())(`go`,[`list`,`-m`,`-json`,`${e}@latest`],{timeout:n,cwd:i,env:t}),a=JSON.parse(r);return{Version:a.Version,Time:a.Time||``,path:e}}catch(t){let n=String(t?.stderr??``).trim().split(`
|
|
7
|
-
`)
|
|
8
|
-
`)
|
|
9
|
-
`).map(e=>{let t=Oa(e);if(!t)return e;let{prefix:r,quote:i,value:a,gap:o,comment:s,pinnedVersion:c,pinnedEnd:l}=t,u=ka.exec(a)?.[0]??``,d=n.get(a.slice(u.length));if(!d)return e;let f=d.newComment&&c?`# ${d.newComment}${s.slice(l)}`:s;return`${r}${i}${u}${d.name}@${d.newRef}${i}${o}${f}`}).join(`
|
|
10
|
-
|
|
3
|
+
`:``)+r[n]}e=n,f[p]=M(m+t+m)}else f[p]=M(u)}return t}function M(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of me(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(M(e))}return t}return e.startsWith(`{`)?de(e):e.startsWith(`"""`)?_e(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?_e(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function de(e){let t=j(),n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of me(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=M(e.slice(n+1).trim())}return t}function fe(e,t){let n=[],r=0,i=null,a=0;for(let o=0;o<e.length;o++){let s=e[o];if(i){if(s===`\\`&&i===`"`){o++;continue}s===i&&(i=null)}else if(s===`"`||s===`'`)i=s;else if(s===`{`||s===`[`)r++;else if(s===`}`||s===`]`){if(r--,!t&&r===0)return n}else t&&s===`,`&&r===0&&(n.push(e.slice(a,o)),a=o+1)}return t?(a<e.length&&n.push(e.slice(a)),n):null}function pe(e){return fe(e,!1)!==null}function me(e){return fe(e,!0)}function he(e){let t=[],n=``,r=null;for(let i of e)if(r){if(i===r){r=null;continue}n+=i}else i===`"`||i===`'`?r=i:i===`.`?(t.push(n.trim()),n=``):n+=i;return n.trim()&&t.push(n.trim()),t}function ge(e){let t=N(e,`#`);return t<0?e:e.slice(0,t)}function N(e,t){let n=null;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(i===`\\`&&n===`"`){r++;continue}i===n&&(n=null)}else if(i===`"`||i===`'`)n=i;else if(i===t)return r}return-1}function P(e,t){for(let n of t)(!(n in e)||typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=j()),e=e[n];return e}function _e(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>{switch(t[0]){case`"`:return`"`;case`\\`:return`\\`;case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
|
|
4
|
+
`;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}function ve(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;){let n=e.charCodeAt(t);if(n>=48&&n<=57)break;t++}r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const ye=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,be=/^(\s*\()([^)]*)(\)\s*)$/,xe=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,Se=new Set([`===`,`==`,`>=`,`~=`]),Ce=/^v?\d[0-9a-z.!+_-]*$/i;function we(e){let t=[];for(let n of e.split(`,`)){let e=xe.exec(n);if(!e)return null;let[,r,i,a,o,s]=e;t.push({lead:r,op:i,sep:a,version:o,trail:s})}return t}function Te(e){let t=e.indexOf(`;`),n=ye.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[,r,i,a,o,s,c]=n,l=be.exec(c);return{name:i,extras:o,specifiers:we(l?l[2]:c),marker:t===-1?``:e.slice(t),head:`${r}${i}${a}${o}${s}`,open:l?.[1]??``,close:l?.[3]??``}}function F({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 Ee(e){return e.find(({op:e,version:t})=>Se.has(e)&&Ce.test(t))}function De(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=Te(n);if(!e?.specifiers)continue;let r=Ee(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const Oe=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],ke=[`node`,`deno`,`bun`],Ae=[`.github`,`.gitea`,`.forgejo`],je={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},Me=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`],Ne=[`deps`,`indirect`,`replace`,`tool`],Pe=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Fe=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function Ie(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 Le(e,t){if(t===!0)return!0;if(!(t instanceof Set))return!1;for(let n of t)if(n.test(e))return!0;return!1}function I(e){return e.split(`,`).filter(Boolean)}function Re(){let e=new Date;return new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().replace(`T`,` `).slice(0,-1)}function ze(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+=`
|
|
5
|
+
`)}return i}const Be={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Ve(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Be[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}function He(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function L(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 R(e){try{return await e}catch{return null}}const z=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Ue(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(z).join(`|`)}const We=new WeakMap;var B=class extends RegExp{constructor(e,t,n){super(e,n),We.set(this,t)}test(e){return We.get(this)(e)}};function Ge(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 Ke(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 qe(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return Ge(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 V(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(z(e[++i]));else if(a===`*`&&e[i+1]!==`(`){if(e[i+1]===`*`){for(;e[i+1]===`*`;)i++;e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else 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=Ke(e,i,`{`,`}`);if(a===-1)r(`\\{`);else{let r=qe(e.slice(i+1,a)).map(V);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=Ke(e,i+1,`(`,`)`);if(o===-1)r(z(a));else{let r=Ge(e.slice(i+2,o)).map(V),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(z(a))}return{source:t,tokens:n}}function Je(e,t){let n=new WeakMap,r=(e,n,r)=>{for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=n.get(e);o||(o=new Map,n.set(e,o));let s=o.get(a);if(s)return s;let c=new Set([a]);o.set(a,c);for(let n of e){let e=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);let t=new Set(n.alternatives.flatMap(e=>[...i(e,a)]));for(let n of t)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 Ye(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 B(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}=V(e.slice(n)),o=RegExp(`^${i}$`,`i`),s=e=>Je(a,e);return r?new B(e,e=>!s(e)):new B(o.source,s,o.flags)}async function Xe(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function Ze(e,t){let n=e;for(;;){let e=t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function Qe(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 $e(e){let t=new Map;return n=>H(t,n,()=>e(n))}const et=`0|[1-9]\\d*`,tt=/^(?:0|[1-9]\d*)$/,nt=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,rt=RegExp(`^v?(${et})\\.(${et})\\.(${et})(?:-((?:${nt})(?:\\.(?:${nt}))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$`),it=new Map;function U(e){return typeof e==`string`?H(it,e,()=>{let t=rt.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,build:t[5]?.split(`.`)??[],raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function at(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 ot(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function st(e,t){let n=ot(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=at(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function ct(e){return U(e)?.version??null}function W(e){return U(e)}const lt=new Map,ut=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function dt(e){return typeof e==`string`?H(lt,e,()=>{let t=ut.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function ft(e,t){let n=U(e),r=U(t);return!n||!r?null:pt(n,r)}function pt(e,t){if(e.version===t.version)return null;let n=st(e,t),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(ot(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 mt(e,t){let n=U(e),r=U(t);return n&&r?st(n,r):null}function ht(e,t){return(mt(e,t)??-1)>0}function gt(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||!tt.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){let t=e.filter(e=>e!==null);return t.length===e.length?t:null}function _t(e,t){let n=st(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 vt(e,t){if(e.major===null)return e.minor!==null||e.patch!==null?null: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 yt(e,t){let n=gt(e),r=gt(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 bt(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t)return yt(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&>(t[2]),i=n?vt(n,t?.[1]??``):null;if(!i)return null;r.push(...i)}return r}const xt=new Map;function St(e){return H(xt,e,()=>{let t=e.split(`||`).map(e=>bt(e.trim()));return t.some(e=>e===null)?null:t})}function Ct(e,t){return t.some(t=>!_t(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 J(e,t){let n=U(e);return n?!!St(t)?.some(e=>Ct(n,e)):!1}function Y(e){return typeof e==`string`&&St(e)?e:null}const wt=`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]+)*))?`,Tt=RegExp(`^${wt}$`,`i`),Et=RegExp(wt,`i`),Dt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},Ot=new Map;function X(e){return typeof e==`string`?H(Ot,e,()=>{let t=Tt.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?[Dt[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 kt(e){return X(e)??X(Et.exec(e)?.[0]??``)}const At=e=>!!(e.pre||e.dev);function jt(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 Mt(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?jt(e.local,t.local):a<o?-1:1}function Nt(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 Pt(e,t){let n=Mt(e,t);if(n===0)return null;let r=Nt(e,t);return At(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Ft=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,It={parse:W,parseRange:e=>W(Ft.exec(e)?.[0]??``)??W(dt(e)?.version??``),compare:st,diff:pt,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:(e,t)=>J(e.version,t)},Lt=new Map;function Rt(e){return H(Lt,e,()=>{let t=e.trim().replace(/^v/i,``);return(W(t)??W(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?W(dt(t)?.version??``):null)})}const zt={...It,parse:Rt,parseRange:Rt,isRangePrerelease:e=>!!Rt(e)?.prerelease.length},Bt={parse:X,parseRange:kt,compare:Mt,diff:Pt,isPrerelease:At,isRangePrerelease:e=>{let t=kt(e);return!!(t&&At(t))},satisfiesRange:({release:e},t)=>J(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Vt=[[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`]],Ht={"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 Ut(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function Wt(e,{now:t,noAffix:n=!1,times:r=Vt,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=Ht,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():Ut(t))-Ut(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 Gt(e){return new Promise((t,n)=>{s(e,`utf8`,(e,r)=>e?n(e):t(r))})}const Kt=_(r===`win32`?t.LOCALAPPDATA||_(k(),`AppData`,`Local`):t.XDG_CACHE_HOME||_(k(),`.cache`),`updates`),qt=new Map;function Jt(e){return ce(`sha256`).update(e).digest(`hex`)}const Yt=6048e5;async function Xt(e,t=Kt){try{let n=_(t,`${Jt(e)}.cache`);if(Date.now()-(await ie(n)).mtimeMs>Yt)return await E(n),null;let r=await Gt(n),i=r.indexOf(`
|
|
6
|
+
`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=new Date;return await R(ae(n,s,s)),{etag:a,body:o}}catch{return null}}const Zt=new Set;let Qt=0;function $t(e,t,r,i=Kt){let a=(async()=>{try{let e=qt.get(i);e||(e=C(i,{recursive:!0}),qt.set(i,e)),await e}catch{qt.delete(i);return}let a;try{let o=_(i,`${Jt(e)}.cache`);a=`${o}.${n}-${Qt++}.tmp`,await oe(a,`${t}\n${r}`),await re(a,o)}catch{a&&await R(E(a))}})();Zt.add(a),(async()=>{await a,Zt.delete(a)})()}async function en(e=Kt){for(;Zt.size;)await Promise.all(Zt);try{let t=(await ne(e)).filter(e=>e.endsWith(`.cache`)),n=(await Promise.all(t.map(async t=>{let n=_(e,t);try{return{path:n,mtime:(await ie(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),r=n.filter(e=>Date.now()-e.mtime<=Yt);await Promise.all([...n.filter(e=>Date.now()-e.mtime>Yt),...r.slice(4096)].map(e=>R(E(e.path))))}catch{}}var tn=`18.0.5`;function nn(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const rn=tn,an=`https://api.github.com`,on={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:an,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,sn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function cn(e,t){return{headers:{"user-agent":`updates/${rn}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const ln=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function un(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&ln.has(t)}async function dn(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=un(t),n}}async function fn(e,t,n={}){let r=xn(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&&a.status>=500&&a.status<600?c!==null&&c<=l?c:0:a&&(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 pn=e=>t=>JSON.stringify(e(JSON.parse(t))),mn=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()).sort(),n.body??null,r?.toString()]),s=H(mn,t,()=>new Map),c=s.get(o);return c||(c=(async()=>{try{let o=t.noCache?null:await Xt(i);if(a&&o)return{body:o.body};let s=n.headers,c=o?{...s,"if-none-match":o.etag}:s,l=await fn(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&&$t(i,d,u),{body:u,res:l}}finally{s.delete(o)}})(),s.set(o,c)),c}function gn(e,t,n={},r,i=e){return hn(e,t,n,r,i,!1)}function _n(e,t,n={},r){return hn(e,t,n,r,e,!0)}async function Q(e,t,n,r,i=!0){let a=H(e,t,()=>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 vn=new se,yn=e=>Math.max(e.concurrency||50,1),bn=new WeakMap;function xn(e){let t=bn.get(e);if(!t){let n=yn(e),r=0,i=0,a=[];t=async e=>{if(vn.getStore())return e();r<n?r++:await new Promise(e=>{a.push(e)});try{return await vn.run(!0,e)}finally{i<a.length?(a[i++](),i===a.length&&(a=[],i=0)):r--}},bn.set(e,t)}return t}function Sn(e,t=It){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const Cn=new WeakMap,wn=new WeakMap;function Tn(e,t,n,r,i=It){let a=t||i.isRangePrerelease(e),o=r;if(a){let e=t?Cn:wn;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 En(e){return dt(e)?.version??``}function Dn(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=It}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=Tn(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)),ee=e?.time,te=!!(d&&f),C=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||C&&m.compare(t,C)<=0||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||te&&!nn(p?p(e):ee?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;!i||!g.has(i)||(C=t)}return C?.raw??C?.version??null}function On(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function kn(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`?Bt:It,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),g=e=>t[e].reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=typeof n==`string`?Date.parse(n):NaN;return!Number.isNaN(r)&&r<e.time?{date:n,time:r}: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[En(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=En(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=Tn(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=En(e),o=f.parse(e),c=On(e);if(!a||!c&&r(o))return!1;let d=ft(m,e)??ft(t,a),p=c?d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0||!nn(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 Dn(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 An(e){try{return new URL(e).host}catch{return``}}function jn(e){let n=I(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 Mn;function Nn(){return Mn||=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})(),Mn}const Pn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];let Fn;function In(){let e=Array.from(new Set(Pn.map(e=>t[e]).filter(e=>!!e)));return e.length?Promise.resolve(e):Fn??=(async()=>{try{let{stdout:e}=await(await Nn())(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),t=e.trim();return t?[t]:[]}catch{return[]}})()}const Ln=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Rn(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=Ln.exec(n);if(!e)continue;let r=An(e[1]),i=D.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let zn;function Bn(){return zn??=(async()=>{try{let{stdout:e}=await(await Nn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Rn(e)}catch{return new Map}})()}const Vn=new Map;async function Hn(e,t){if(!e)return[];let n=jn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===An(t),[a,o]=await Promise.all([i?In():[],Bn()]),s=o.get(r);return Array.from(new Set(s?[...a,s]:a))}var Un=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 Wn(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 Gn(e,t,n,r){if(e.status>=500)throw new Un(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Wn(e);if(i===null)return e;throw new Un(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function Kn(e,t,n){let r=An(e),i=await Hn(r,t.forgeApiUrl),a=async a=>{let o=cn(`Bearer`,a);return o.headers={...o.headers,...n},Gn(await fn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Vn.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 Vn.set(r,t),n;t===e&&Vn.delete(r)}return await a()}catch(e){throw e instanceof Un?e:new Un(`network`,r,e?.message??String(e),{cause:e})}}function qn(e,t){let n=Z(t);if(!ct(n))return null;let r=``,i=``;for(let t of e){let e=Z(t);ct(e)&&(!r||ht(e,i))&&(r=t,i=e)}return r&&ht(i,n)?r:null}function Jn(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 Yn=RegExp(`^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$`,`i`),Xn=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function Zn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Qn(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function $n(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 er=(e,t)=>{if(!t)return $n(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}})},tr=new WeakMap;function nr(e,t,n,r){let i=`${n}${e}`;return Q(tr,t,i,async()=>{let n=t.noCache?null:await Xt(e),a=await Kn(e,t,n?{"if-none-match":n.etag}:void 0);if(a?.status===304&&n)return n.body;if(!a?.ok)return tr.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&$t(e,s,o),o})}function rr(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 ir(e,t,n,r){let i=await nr(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 ar(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 or(e,t,n,r,i){let a=await ir(e(1),t,n,r);if(!a)return;let o=ar(a.link),s=yn(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)=>ir(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function sr(e,t,n){let r=new Map;return await or(n=>`${an}/repos/${e}/${t}/releases?per_page=100&page=${n}`,n,`releases`,rr,e=>{for(let t of e)r.set(t.name,t.isStable);return!1}),r}async function cr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await or(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 lr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return cr(e,t,n,r,i);let[o,s]=await Promise.allSettled([cr(e,t,n,r,i),sr(t,n,r)]);if(o.status===`rejected`)throw o.reason;if(s.status===`rejected`&&!(s.reason instanceof Un))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}`)}const dr=2e7;function fr(e,t){let n=Z(e).split(`.`),r=Z(t).split(`.`);return n.length<r.length?!1:Number(n[0])<dr||Number(r[0])>=dr}function pr(e,t,n=``){let r=Z(e),i=Z(t).split(`.`).length,a=r.split(`.`),o=i>=3?r:Array.from({length:i},(e,t)=>a[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${o}${n}`}function mr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const hr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function gr({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of hr)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=Jn(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${mr(a)}/${e.directory}`)),a||t||``)}const _r={y:365,year:365,years:365,mo:30,month:30,months:30,w:7,week:7,weeks:7,d:1,day:1,days:1,h:1/24,hour:1/24,hours:1/24,min:1/1440,minute:1/1440,minutes:1/1440,s:1/86400,second:1/86400,seconds:1/86400};function vr(e){let t;for(let n of e.matchAll(/(\d+(?:\.\d+)?)\s*([a-z]+)/gi)){let e=_r[n[2].toLowerCase()];if(e===void 0)return;t=(t??0)+Number(n[1])*e}return t}const yr={packageName:{target:`package`,convert:e=>e},packagePattern:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackageNames:{target:`package`,convert:e=>e},packageNames:{target:`package`,convert:e=>e},matchPackagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},packagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackagePrefixes:{target:`package`,convert:e=>`${e}{/,}**`},excludePackageNames:{target:`package`,convert:e=>`!${e}`},excludedPackageNames:{target:`package`,convert:e=>`!${e}`},excludePackagePatterns:{target:`package`,convert:e=>`!/${e}/`},excludePackagePrefixes:{target:`package`,convert:e=>`!${e}{/,}**`},matchDepNames:{target:`dep`,convert:e=>e},matchDepPatterns:{target:`dep`,convert:e=>`/${e}/`},matchDepPrefixes:{target:`dep`,convert:e=>`${e}{/,}**`},excludeDepNames:{target:`dep`,convert:e=>`!${e}`},excludeDepPatterns:{target:`dep`,convert:e=>`!/${e}/`},excludeDepPrefixes:{target:`dep`,convert:e=>`!${e}{/,}**`}},br=new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function xr(e){let t={Package:[],Dep:[]};for(let[n,r]of Object.entries(e)){let e=Object.hasOwn(yr,n)?yr[n]:void 0;if(!e){if(n.startsWith(`match`)||n.startsWith(`exclude`)||br.has(n))return;continue}let i=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(i))return;for(let n of i){if(typeof n!=`string`||!n)return;t[e.target===`package`?`Package`:`Dep`].push(e.convert(n))}}let n={},r=[];for(let[e,i]of Object.entries(t)){let t=[],a=[];for(let e of i){let n=e.startsWith(`!`)?a:t,i=n===a?e.slice(1):e;n.push(Sr(i)??i),n===t&&!/[*?[\]{}!()|+]/.test(i)&&!Sr(i)&&r.push(i)}t.length&&(n[`match${e}Names`]=t),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function Sr(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Cr=new Map,wr=e=>H(Cr,e,()=>Ye(e)),Tr=(e,t,n)=>(!t?.length||t.some(t=>wr(t).test(e)))&&(!n?.length||n.every(t=>!wr(t).test(e)));function Er(e,t,n){return Tr(t,e.matchPackageNames,e.excludePackageNames)&&Tr(n,e.matchDepNames,e.excludeDepNames)}const Dr=new WeakMap;var Or=class extends RegExp{constructor(e,t){super(e),Dr.set(this,t)}testNames(e,t){return Dr.get(this)(e,t)}test(e){return this.testNames(e,e)}};function kr(e,t,n,r){return e instanceof Or?e.testNames(n,r):e.test(t)}function Ar(e,t){let n=[],r={},i=new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=xr(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o};if(t&&typeof r.minimumReleaseAge==`string`){let e=vr(r.minimumReleaseAge);e!==void 0&&(c.cooldownDays=e)}if(typeof r.allowedVersions==`string`){let e=Y(r.allowedVersions);if(!e&&!Sr(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&&Er(t,e,e))?.allowedVersions;t&&Y(t)&&(r[e]=t)}let o;return n.some(e=>!e.enabled)&&(o=new Or(`renovate-package-rules`,(e,t)=>{let r=!0;for(let i of n)Er(i.matchers,e,t)&&(r=i.enabled);return!r})),{disabled:o,pin:r,versionRules:a}}function jr(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={};if(t.cooldown&&typeof e.minimumReleaseAge==`string`){let t=vr(e.minimumReleaseAge);t!==void 0&&t>0&&(n.cooldown=t)}let r=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Or(`^${z(e)}$`,(t,n)=>n===e)):[],{disabled:i,pin:a,versionRules:o}=Ar(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),s=i?[...r,i]:r;return s.length&&(n.exclude=s),Object.keys(a).length&&(n.pin=a,n.pinNoDowngrade=!0),o.length&&(n.renovateVersionRules=o),n}function Mr(e){return!!(e&&typeof e==`object`&&(Object.hasOwn(e,`extends`)||Object.values(e).some(Mr)))}async function Nr(e,t={}){let n=await Xe(e,async e=>{let t=_(e,`renovate.json`),n;try{n=await w(t,`utf8`)}catch{return null}let r;try{r=JSON.parse(n)}catch(e){throw Error(`Unable to parse renovate config ${t}: ${e.message}`)}return r&&typeof r==`object`?{parsed:r,path:t}:null});if(!n)return{};if(Mr(n.parsed))throw Error(`Renovate extends is unsupported in ${n.path}`);return jr(n.parsed,t)}const Pr=Symbol(`cliBaseConfig`),Fr={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-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`}};function Ir(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`).flatMap(I)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function Lr(e){for(let[t,{short:n}]of Object.entries(Fr))if(t===e||n===e)return t;return``}function Rr(e){return new Set(e.map(Ye))}function zr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(I):[]}function Br(e){for(let[t,n]of Object.entries(e??{}))if(!Y(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function Vr(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 Br(t),t}function Hr(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:Rr(e)}const Ur=$e(e=>Xe(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=_(e,n);try{await te(r)}catch(e){if(e?.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e?.message??e}`)}try{return(await import(x(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null}));async function Wr(e){let t=await Ur(e)??{},n=await Nr(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??[]]),Br(r.pin),r}function Gr(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function Kr(e){try{return Gr(c(e,`utf-8`))}catch{return}}function qr(e,t){return Ze(t,t=>{let n=_(t,e);try{if(d(n).isFile())return n}catch{}return null})??void 0}function Jr(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);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function Yr(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[{...i}],l=[];function u(e){if(!e||l.includes(e))return;let t=Kr(e);t&&(c.push(t),l.push(e))}o||(u(_(`/etc`,n,`config`)),u(_(`/etc`,`${n}rc`))),s&&(u(_(s,`.config`,n,`config`)),u(_(s,`.config`,n)),u(_(s,`.${n}`,`config`)),u(_(s,`.${n}rc`))),u(qr(`.${n}rc`,a));let d=Jr(`${n}_`);return d.config&&u(d.config),Object.assign({},...c,d,l.length?{configs:l,config:l[l.length-1]}:void 0)}function Xr(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const Zr=new WeakMap;function Qr(e,t){let n=H(Zr,e,()=>{let t=new Map;for(let[n,r]of Object.entries(e)){let[e,...i]=n.split(`\0`),a=e.indexOf(`|`);Qe(t,a===-1?`.`:e.slice(a+1),[[Xr(e),...i].join(`\0`),r])}return t});return Object.fromEntries(n.get(t)??[])}const $r=/[*?{[]/;function ei(e,t){return o(e,{cwd:t,withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>y(e.parentPath,e.name))}async function ti(e,t,n,r=32){let i=await T(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>ei(e.slice(1),t)).map(e=>v(t,e).replace(/\\/g,`/`))),o=new Set,s=[];for(let n of e){if(n.startsWith(`!`))continue;let e=$r.test(n)?ei(n,t):[y(_(t,n))];for(let n of e){let e=v(t,n).replace(/\\/g,`/`);a.has(e)||o.has(n)||(o.add(n),s.push({dir:n,memberPath:`./${e}`}))}}return(await L(s,async({dir:e,memberPath:t})=>{try{let r=await T(_(e,n)),a=v(i,r);return a===`..`||a.startsWith(`..${b}`)||g(a)?null:{absPath:r,content:await w(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const ni=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#][^:#]*?))\s*:(?:\s+(.*))?$/,ri=/\s#/;function ii(e){let t=ni.exec(e);if(!t)return null;let[,n,r,i,a,o=``]=t,s=e.length-o.length,c=o.search(ri),l=(c===-1?o:o.slice(0,c)).trimEnd(),u=l[0];return(u===`"`||u===`'`)&&l.length>1&&l.endsWith(u)&&(l=l.slice(1,-1),s+=1),{indent:n.length,key:r??i??a,value:l,valueIndex:s}}function ai(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===`"`?o++:s===a&&(a===`'`&&e[o+1]===`'`?o++:a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return null;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?null:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function oi(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(/\s#/);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function si(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return null;let n=[];for(let r of ai(e)??[]){if(r.colon===-1)return null;let e=oi(r.text.slice(0,r.colon)),i=oi(r.text.slice(r.colon+1));if(!e||!i)return null;n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function ci(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=ii(i);if(e){if(e.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of si(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])=>!e.includes("${")))}}function li(e,t){let n=Ze(y(t),t=>{try{return{content:c(_(t,e),`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e}return null});return n?n.content:null}const ui=new Map;function di(e,t){let n=ui.get(t);n||(n=ci(li(`pnpm-workspace.yaml`,t)??``),ui.set(t,n));for(let[t,r]of Object.entries(n.registries))if(t!=="default"&&e.startsWith(`${t}/`))return r;return n.registries.default||n.registry||null}function*fi(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
|
|
7
|
+
`).entries()){let e=ii(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s===`catalog`||s===`catalogs`?s:``,n=``,r=-1,s===`catalog`)for(let e of si(c,l)??[])yield{type:`catalog`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex};else if(s===`catalogs`)for(let e of si(c,l)??[])for(let t of si(e.value,e.valueIndex)??[])yield{type:`catalogs.${e.key}`,name:t.key,value:t.value,lineIndex:i,valueIndex:t.valueIndex}}else if(t===`catalog`)c&&(yield{type:`catalog`,name:s,value:c,lineIndex:i,valueIndex:l});else if(t===`catalogs`){if(r===-1||o<=r){n=s,r=o;for(let e of si(c,l)??[])yield{type:`catalogs.${n}`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex}}else c&&(yield{type:`catalogs.${n}`,name:s,value:c,lineIndex:i,valueIndex:l})}}}function pi(e,t){let n=e.split(`
|
|
8
|
+
`),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of Array.from(fi(e)).sort((e,t)=>t.lineIndex-e.lineIndex||t.valueIndex-e.valueIndex)){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(`
|
|
9
|
+
`):e}function mi(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=ii(r);if(e?.indent===0&&e.key===`packages`){if(e.value.startsWith(`[`)&&e.value.endsWith(`]`))for(let n of ai(e.value)??[]){let e=oi(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=oi(e.slice(1));n&&t.push(n.value)}}return t}const hi=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,gi=new Set([`resolutions`,`overrides`]);function _i(e){return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(e)?.[1]??e}const vi=on.registry,yi=new Map,bi=new Map,xi=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function Si(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=`//${n.host}${r.replace(/\/$/,``)}`,i=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=i(`_authToken`);if(a)return{token:xi(a),type:`Bearer`};let o=i(`username`),s=i(`_password`);if(o&&s){let e=Buffer.from(xi(s),`base64`).toString(`utf8`);return{token:Buffer.from(`${o}:${e}`).toString(`base64`),type:`Basic`}}let c=i(`_auth`);if(c)return{token:xi(c),type:`Basic`};n.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname}if(e===vi&&t._auth)return{token:xi(t._auth),type:`Basic`}}function Ci(e,t,n,r){let i=H(yi,r??``,()=>Yr(`npm`,{registry:vi},r)),a=sn(typeof n.registry==`string`&&n.registry||t.registry||i.registry||vi),o=e.startsWith(`@`)?e.split(`/`)[0]:``,s=r?di(e,r):null,c=o&&r?di(``,r):null;return H(bi,`${r??``}${o}:${a}:${s??``}:${c??``}`,()=>{let e=s?sn(s):a,t=s===c&&o&&i[`${o}:registry`];if(t)try{let n=sn(t);n!==e&&(e=n)}catch{}return{auth:Si(e,i),registry:e}})}const wi=(e,t,n)=>{let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r},Ti=new WeakMap,Ei=new WeakMap,Di=new WeakMap,Oi=new WeakMap,ki=(e,t)=>`${e}\0v2${t?`-dates`:``}`;function Ai(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 ji(e,t,n,r,i,a,o=``){let s=gi.has(t)?_i(e):t===`packageManager`&&e===`yarn`&&(W(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Ci(s,n,r,a),u=wi(l,s),d=ki(u,!!r.needsDates);return[await Q(Ti,i,d,async()=>{let t=cn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await gn(u,i,t,pn(Ai),d);return`body`in n||ur(n.res,u,e,l),JSON.parse(n.body)}),l]}async function Mi(e,t,n,r,i,a){let{auth:o,registry:s}=Ci(e,n,r,a),c=wi(s,e,t);return Q(Ei,i,c,async()=>{try{let n=cn(o?.type,o?.token),a=await _n(c,i,n,pn(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=wi(s,e);return!u&&r.needsDates&&(u=(await Ti.get(i)?.get(ki(f,!0)))?.time?.[t]||``),u||=(await R(Q(Di,i,f,async()=>{let e=await fn(i,f,n);return e?.ok?await e.json():null})))?.time?.[t]||``,{repository:l.repository,homepage:l.homepage,date:u}}catch{return{}}})}function Ni(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Pi(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Fi(e){return e.startsWith(`catalog:`)}const Ii=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Li(e){let t=Ii.exec(e);return t&&Y(t[2])?{name:t[1],range:t[2]}:null}const Ri=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,zi=/^@([^/]+)\/(.+)$/;function Bi(e,t){let n=Ri.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=zi.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function Vi(e,t){if(!zi.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Q(Oi,t,n,async()=>{let r=await gn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(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 Hi(e,t){try{JSON.parse(e)}catch{return e}let n=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(JSON.stringify(a?JSON.parse(a):[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 Ui=String.raw`[<>]=?|~>|[\^~=]`,Wi=new RegExp(String.raw`^(${Ui})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),Gi=RegExp(`^(?:${Ui})$`),Ki=/^[xX*]$/,qi=/\+[0-9A-Za-z.-]+/g,Ji=/\|\||[\dxX*]\s+\S/;function Yi(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&Gi.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function Xi(e,t){let n=Wi.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&c.length<=3&&!/[xX*]/.test(o)){let{major:e,minor:n,patch:a}=W(t);return`${r}${i}${c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:!s&&o.endsWith(`.0.0`)?`${e+1}.0.0`:!s&&o.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;let l=t.split(`-`)[0].split(`.`);return l.join(`.`)===t?`${r}${i}${a}${c.map((e,t)=>Ki.test(e)?e:l[t]??`0`).join(`.`)}`:`${r}${i}${a}${t}`}function Zi(e,t){if(J(t,e))return e;let n=Yi(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=Xi(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=Xi(r,t),n.join(` `)}function Qi(e,t,n,r){let i=(n||e).replace(qi,``),a=r===`peerDependencies`||Ji.test(i)?Zi(i,t):Xi(i,t);return J(t,a)?a:i}function $i(e){if(/[xX*]/.test(e))return e;let t=e.match(hi);return t?.length===1?e.replace(hi,En(t[0])):e}async function ea(e,t,n){let r=await nr(`${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 ta(e,t,n,r){return(await cr(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function na(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:`)&&Y(r.slice(7))?r.slice(7):null;return!a&&!Xn.test(r)&&!ct(r)?null:{user:i[0],repo:i[1],ref:a??r,selector:a}}async function ra(e,t,n){let r=na(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(Xn.test(o)){let{hash:t,commit:r}=await ea(i,a,n);if(!t)return null;let s=Qn(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=qn(await ta(i,a,o,n),s?En(s):o);if(t){let n=s?Qi(s,t.replace(/^v/,``),s):t;if(n!==o)return{key:e,newRange:c(n),user:i,repo:a,oldRef:o,newRef:n}}}return null}const ia=/[-_.]+/g,aa=new WeakMap;function oa(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 sa(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(ia,`-`)}/json`;return[{...await Q(aa,t,n,async()=>{let r=await gn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:oa(e.releases)}}));if(`body`in r){let e=JSON.parse(r.body);return{...e,releases:oa(e.releases)}}ur(r.res,n,e,t.pypiApiUrl)}),name:e},null]}function ca(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=X(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=X(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Mt(e.local?{...e,local:null}:e,r),a=r.local?Mt(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==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: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 la(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 ua(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 da(e,t){let n=X(e);if(!n)return!1;let r=t.trim();if(!r)return!0;if(X(r))return ca(n,{lead:``,op:`==`,sep:``,version:r,trail:``});let i=Te(`x${r}`),a=i?.specifiers;return!i||i.extras||i.marker||!a?.length?!1:a.every(e=>ca(n,e))}function fa(e,t,n){let r=Te(e),i=r?.specifiers,a=X(t),o=X(n);if(!r||!i||!a||!o)return null;let s=Ee(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?la(o):la(o,Array.from({length:a.release.length},(e,t)=>o.release[t]??0)):e.op===`==`||e.op===`===`?n:la(o);else if(!ca(o,e)){let t=X(e.version);e.op===`<`&&t?e.version=ua(t,a,o):e.op===`<=`&&(e.version=la(o))}if(!ca(o,e))return null}return F(r,i)}function pa(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 ma(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 ha(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===`
|
|
10
|
+
`&&(o=!1);else if(i)i===`"`&&n===`\\`&&!a?a=!0:(n===i&&!a&&(i=``),a=!1);else if(n===`"`||n===`'`)i=n;else if(n===`#`)o=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function ga(e,t){let n=new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=pa(o[1]);else{let o=ma(a),s=o===-1?``:[...r,...pa(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=ha(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function _a(e,t){let n=new Map;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`);H(n,t,()=>new Map).set(i,r)}let r=ga(e,new Set(n.keys())),i=e;for(let[e,t]of Array.from(r).sort((e,t)=>t[1][0]-e[1][0])){let r=n.get(e),a=Array.from(r.keys()).sort((e,t)=>t.length-e.length).map(z).join(`|`),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}${fa(n,o||a,s)??n}`});i=`${i.slice(0,t[0])}${o}${i.slice(t[1])}`}return i}function va(e){let t=e.includes(`:/`)||e.startsWith(`/`);return sn(!t&&/[.:/]/.test(e)?`https://${e}`:e)}async function ya(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 ba(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:va(e),fallback:r})}return t}function xa(e){if(typeof e==`string`)return[{url:sn(e),fallback:`,`}];let n=ba(t.GOPROXY||`${on.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function Sa(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Ca=new Map;function wa(e){return H(Ca,e,()=>{let t=``;for(let n of e.matchAll(/\[([^\]]*)\]|./gs)){let[e,r]=n;t+=r===void 0?e===`*`?`[^/]*`:e===`?`?`[^/]`:z(e):`[${r.replace(/\\/g,`\\\\`)}]`}return RegExp(`^${t}(?:/.*)?$`)})}function Ta(e,t){return t.some(t=>wa(t).test(e))}function Ea(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const Da=/\/v(\d+)$/,Oa=/^gopkg\.in\/.*?\.v(\d+)$/;function ka(e){let t=Oa.exec(e)??Da.exec(e);return t?Number.parseInt(t[1]):1}function Aa(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(Da,``);return t<=1?n:`${n}/v${t}`}function ja(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(Z(t).split(`.`)[0]);return Number.isNaN(n)||n===ka(e)?e:Aa(e,n)}const Ma=/^(require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,Na=/^(\S+)\s+(v\S+)/,Pa=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Fa=e=>e.replace(/^"(.*)"$/,`$1`);function Ia(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function La(e){let t=Pa.exec(e);if(!t)return null;let[,n,r,i,a]=t;return{origModule:Fa(n),origVersion:r??``,targetModule:Fa(i),targetVersion:a??``}}function*Ra(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=Ma.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function za(e){return e.startsWith(`golang.org/x/`)}async function Ba(e,t,n){let r=t,i=t&&!Sn(t.Version)?t:null;for(let t=e+2;r;t++){let e=await n(t);if(!e)break;r=e,Sn(e.Version)||(i=e)}return i??r}function Va(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 Ha(e){let t={},n={},r={},i={},a={},o=new Set,s=[];for(let i of Ra(e.split(/\r?\n/))){if(i.kind===`tool`){s.push(Fa(i.value.split(/\s/,1)[0]));continue}if(i.kind===`exclude`){let e=Na.exec(i.value);e&&(a[Fa(e[1])]??=[]).push(e[2]);continue}if(i.kind===`replace`){let e=La(i.value);e&&(e.targetVersion&&!Ia(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||o.add(e.origModule));continue}if(i.kind!==`require`)continue;let e=Na.exec(i.value);e&&((i.value.includes(`// indirect`)?n:t)[Fa(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 Ua=new WeakMap;function Wa(e,t,n){let r=t.includes(`|`)?t.slice(t.indexOf(`|`)+1):``,i=r.includes(`:`)?r.slice(r.indexOf(`:`)+1):r,a=H(Ua,n,()=>new Map);for(let t of i?[_(e,i,`go.mod`),_(e,`go.mod`)]:[_(e,`go.mod`)]){let e=y(t),n=H(a,e,()=>{try{return new Map(Object.entries(Ha(c(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return new Map}async function Ga(e,n,r,i,a){let o=ka(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(`
|
|
11
|
+
`)[0]||t?.message||String(t);throw Error(`go list -m ${e}@${a??`latest`} failed: ${n}`)}},c=async(e,t)=>{let n=await s(e,t),r=a.get(e);if(!r?.has(n.Version))return n;let i=Qa((n.Versions??[]).join(`
|
|
12
|
+
`),$a(e),r);if(!i)throw Error(`No non-excluded versions found for ${e}`);return s(e,t,i.Version)},l=e=>R(c(e,i.goProbeTimeout)),[u,d]=await Promise.all([c(e,i.fetchTimeout),za(e)?null:l(Aa(e,o+1))]);return Va(e,n,await Ba(o,d,t=>l(Aa(e,t))),u)}const Ka={"accept-encoding":`gzip, deflate, br`},qa=e=>e===404||e===410;async function Ja(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 Ya=async(e,t,n)=>{let r=`${t}/${Ea(n)}/@latest`,i=await e(r);if(i.ok)return Ja(i,r,n);if(qa(i.status))return null;ur(i,r,n,t)},Xa=new WeakMap;function Za(e,t,n,r,i){return Q(Xa,e,`latest${t}${r}/${i}`,()=>Ya(n,r,i))}function Qa(e,t=0,n=new Set){let r=null;for(let i of e.split(`
|
|
13
|
+
`)){let[e,a]=i.trim().split(/\s+/);if(!(!e||!ct(e)||n.has(e))&&!(t&&Number.parseInt(Z(e))!==t)){if(r){let t=Sn(e);if(t===Sn(r.Version)?!ht(e,r.Version):t)continue}r={Version:e,Time:a??``}}}return r}function $a(e){return Da.test(e)||Oa.test(e)?ka(e):0}async function eo(e,t,n,r=new Set){let i=Ea(n),a=`${t}/${i}/@v/list`,o=await e(a);if(!o.ok){if(qa(o.status))return null;ur(o,a,n,t)}let s=Qa(await o.text(),$a(n),r);if(!s)return null;if(s.Time)return{...s,path:n};let c=`${t}/${i}/@v/${Ea(s.Version)}.info`;try{let t=await e(c);if(t.ok)return Ja(t,c,n)}catch{}return{...s,path:n}}function to(e,t,n,r,i,a=new Set){let o=`list${t}${r}/${i}${Array.from(a).sort().join(`\0`)}`;return Q(Xa,e,o,()=>eo(n,r,i,a))}async function no(e,t,n,r,i){let a=ka(t),o=e=>fn(r,e,{headers:Ka}),s=e=>r.doFetch(e,{signal:AbortSignal.timeout(r.goProbeTimeout),headers:Ka}),c=Za(r,`primary`,o,e,t),l=(async()=>{let n=await c;return n&&!i.get(t)?.has(n.Version)?n:to(r,`primary`,o,e,t,i.get(t))})(),u=async t=>{try{let[n,a]=await Promise.all([Za(r,`probe`,s,e,t),c]),o=i.get(t);return n&&!o?.has(n.Version)?n:!n&&a?null:to(r,`probe`,s,e,t,o)}catch{return null}},[d,f]=await Promise.all([l,za(t)?null:u(Aa(t,a+1))]);return d?Va(t,n,await Ba(a,f,e=>u(Aa(t,e))),d):null}async function ro(e,t,n,r,i,a){let o=Wa(r,t,i);if(Ta(e,a))return Ga(e,n,r,i,o);let s=await ya(i.goProxyChain,async t=>{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);return t===`direct`?Ga(e,n,r,i,o):no(t,e,n,i,o)});if(s)return s;throw Error(`Unable to find ${e} on any GOPROXY entry`)}const io=e=>`("?)${z(e)}\\2`;function ao(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=new Map,c=new Map,l=new Map;for(let e of Ra(a))if(e.kind===`require`){let t=Na.exec(e.value);t&&Qe(s,Fa(t[1]),e.lineNumber)}else if(e.kind===`replace`){let t=La(e.value);t&&Qe(c,t.targetModule,{...t,lineNumber:e.lineNumber})}else if(e.kind===`tool`){let t=Fa(e.value.split(/\s/,1)[0]);for(;t;){Qe(l,t,e.lineNumber);let n=t.lastIndexOf(`/`);if(n===-1)break;t=t.slice(0,n)}}for(let[e,{old:t,oldOrig:i,new:u}]of r){let[r,d]=e.split(`\0`),f=i||t,p=ja(d,u);if(r===`replace`){let e=!1;for(let t of c.get(d)??[]){if(Z(t.targetVersion)!==f)continue;let{lineNumber:n}=t;a[n]=a[n].replace(RegExp(`(=>\\s+)${io(d)}(\\s+)v${z(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`),p!==d&&t.origModule===d&&!t.origVersion&&(a[n]=a[n].replace(RegExp(`(^\\s*(?:replace\\s+)?)${io(d)}(?=\\s+=>)`),`$1$2${p}$2`),e=!0)}e&&o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${io(d)}(\\s+)v\\S+(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&(n[d]=p);continue}o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${io(d)}(\\s+)v${z(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&p!==d&&(n[d]=p),r===`tool`&&p!==d&&o(l.get(d),RegExp(`(^\\s*(?:tool\\s+)?)("?)${z(d)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),`$1$2${p}$3$2`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const oo=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function so(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(oo)){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}function co(e,t,n){if(Object.keys(t).length)for(let r of o(`**/*.go`,{cwd:e})){let i=_(e,r),a=c(i,`utf8`),o=so(a,t);o!==a&&n(i,o)}}function lo(e){let t=[],n={};for(let r of Ra(e.split(/\r?\n/)))if(r.kind===`use`)t.push(r.value.split(/\s/,1)[0]);else if(r.kind===`replace`){let e=La(r.value);e?.targetVersion&&!Ia(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function uo(e,t){try{let n=u(y(e));return u(_(n,t,`go.mod`))}catch{return null}}function fo(e){let t=`https://${po(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[,e,i,...a]=r;return n.pathname=`/${e}/${i}/${mr(t)}/${a.join(`/`)}`,n.href}return t}function po(e){return Da.test(e)?h(e):e}function mo(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function ho(e){if(e.startsWith(`docker://`)||e.startsWith(`./`))return null;let t=/^https?:\/\/([^/]+)\/(.+)$/.exec(e),n=t?.[1]??null,r=t?.[2]??e,i=r.indexOf(`@`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!o)return null;let s=a.split(`/`);if(s.length<2)return null;let c=n?`${n}/${a}`:a;return{host:n,owner:s[0],repo:s[1],ref:o,name:c,isHash:Yn.test(o)}}function go(e,t){return e?e===`github.com`?an:`https://${e}/api/v1`:t}async function _o(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await Xt(a);if(e)return e.body}try{let e=await Kn(a,i);if(e.status===404)return``;if(!e.ok)return;let t=Qn(await e.json());return t&&!i.noCache&&$t(a,`immutable`,t),t}catch(e){if(e instanceof Un)throw e;return}}function vo(e,t){return pr(W(Z(e))?.version??Z(e),t)}const yo=/^(\s*)(?:-\s*)?(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/,bo=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function xo(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'])[^\s#]+))([^\n]*)$/.exec(e);if(!t)return null;let[,n,r=``,i,a,o]=t,s=i??a;if(!s)return null;let c=o.indexOf(`#`),l=c===-1?``:o.slice(c),u=l?bo.exec(l.slice(1)):null;return{prefix:n,quote:r,value:s,gap:c===-1?o:o.slice(0,c),comment:l,pinnedVersion:u?.[1]??``,pinnedEnd:u?u[0].length+1:0}}const So=/^https?:\/\//;function Co(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
|
|
14
|
+
`).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=yo.exec(e);if(!t)return e;let a=t[1].length;for(;r.length&&r.at(-1).indent>=a;)r.pop();let o=(t[2]??t[3]??t[4]).trim(),s=o===`uses`&&(r[0]?.key===`jobs`&&r.length===3&&r[2].key===`steps`||r[0]?.key===`runs`&&r.length===2&&r[1].key===`steps`),c=t[5].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=xo(e);if(!l)return e;let{prefix:u,quote:d,value:f,gap:p,comment:m,pinnedVersion:h,pinnedEnd:g}=l,_=So.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(`
|
|
15
|
+
`)}const wo=RegExp(`(?:^|/)(?:${Ue(Ae)})/(?:workflows/[^/]+|(?:[^/]+/)*action)\\.ya?ml$`);function To(e){return wo.test(e.replace(/\\/g,`/`))}function Eo(e){let t=new Set;try{for(let n of l(_(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(y(_(e,`workflows`,n)))}catch{}try{for(let n of l(e,{recursive:!0,withFileTypes:!0}))!n.isFile()||!/^action\.ya?ml$/.test(n.name)||t.add(y(_(n.parentPath,n.name)))}catch{}return Array.from(t)}const Do=/^(v?\d+(?:\.\d+)*)([a-z][a-z0-9]*)?(-.+)?$/i,Oo=/^[ \t]*FROM\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim,ko=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,Ao=/^[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,jo=/^[ \t]*FROM\s+(?:--platform=\S+\s+)?(\S+)/i,Mo=e=>e.replace(/\\[ \t]*\r?\n[ \t]*/g,` `);function No(e,t){return e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>{let i=t(n||r);return i===void 0?e:i})}function*Po(e,t=!1){let n=new Map,r=!1;for(let i of e.matchAll(/^[ \t]*(?:ARG|FROM)\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim)){let e=Mo(i[0]),a=Ao.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:No(e,e=>n.get(e)?.resolved),start:t<0?-1:i.index+t})}continue}r=!0;let o=jo.exec(e);o&&(yield{instruction:i,args:n,from:o,resolved:No(o[1],e=>n.get(e)?.[t?`resolved`:`value`])})}}const Fo=/^(?:(?:index|registry-1)\.)?docker\.io$/;function Io(e){let t=e.split(`/`);return t.length>1&&Fo.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 Lo(e){let{registry:t,namespace:n,repo:r}=Io(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[...new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function Ro(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&&(!s||!Do.test(s)))return null;let{registry:c,namespace:l,repo:u}=Io(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function zo(e){let t=Do.exec(e);return t?{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}:null}function Bo(e,t,n=``){let r=zo(t);return r?pr(e,r.version,`${n}${r.suffix}`):t}function Vo(e,t){let n=[];if(t===Oo){for(let{from:t,resolved:r}of Po(e,!0)){let e=Ro(r);e&&n.push({ref:e,match:t[1]})}return n}let r=t===ko?Ho(e):null;for(let i of e.matchAll(t)){if(r?.has(i.index+i[0].indexOf(`image:`)))continue;let e=Ro(i[1]);e&&n.push({ref:e,match:i[1]})}return n}function Ho(e){let t=new Set,n=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 Uo=new WeakMap,Wo=new Set([401,403,404]);function Go(e,t,n){return Q(Uo,n,`${e}/${t}`,async()=>{let r={dates:{},digests: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 gn(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(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):(Wo.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=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 L(e,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:yn(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;for(;d<=20&&u.next;d++){let e=new URL(u.next,i);f??=new URL(i).origin;let 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 Ko(e,t,n){return(await Go(e,t,n)).dates}async function qo(e,t,n,r){let i=(await Go(e,t,r)).digests.get(n);if(i)return i;let a=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,o=await gn(a,r,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>({digest:e.digest})));if(`body`in o){let e=JSON.parse(o.body)?.digest;return typeof e==`string`?e:null}return Wo.has(o.res?.status)||ur(o.res,a,`${e}/${t}:${n}`,r.dockerApiUrl),null}const Jo=/^\d?[02468]\.04$/;function Yo(e,t){if(!Jo.test(e))return!1;let[n,r]=e.split(`.`);return t>=Date.UTC(2e3+Number(n),Number(r))}const Xo={ubuntu:Yo};function Zo(e,t,n=Date.now()){let r=Xo[e];return r?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=zo(e)?.version;return!t||r(t,n)})):t}async function Qo(e,t){let{registry:n,namespace:r,repo:i}=Io(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:Zo(i,await Ko(r,i,t)),name:e},null]}const $o=(e,t)=>t?`${e}-${t}`:e;function es(e){let t=Z(e).split(`.`).slice(0,3);return!t.length||t.some(e=>!/^\d+$/.test(e))?null:[...t.map(e=>String(Number(e))),...Array(3-t.length).fill(`0`)].join(`.`)}function ts(e,t){let n=Z(e.version).split(`.`).map(Number),r=Z(t.version).split(`.`).map(Number);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 ns(e,t){let n=Z(e.version).split(`.`).map(Number),r=Z(t.version).split(`.`).map(Number),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 rs(e,t,n,r,i,a,o=!1,s=!1){let c=zo(t);if(!c)return null;let l=es(c.version);if(!l)return null;let u=Z(c.version).split(`.`).length,d=$o(l,c.prerelease),{effectiveSemvers:f,skipsPrerelease:p}=Tn(d,o,s,n),m=u>3,h=W(d),g=c,_=``,v=``;for(let[t,l]of Object.entries(e)){let e=zo(t);if(!e||e.suffix!==c.suffix||Z(e.version).split(`.`).length!==u||!fr(e.version,c.version)||!nn(l,r,i))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||ts(e,g)<=0)continue;let r=ns(c,e);if(!r||!n.has(r))continue;g=e,_=t,v=l;continue}let d=es(e.version);if(!d)continue;let y=W($o(d,e.prerelease));if(!y||e.prerelease&&p(y)||a&&!J(d,a))continue;if(y.version===h.version){_&&Date.parse(l)>Date.parse(v)&&(_=t,v=l);continue}let b=It.diff(h,y);!b||!f.has(b)||It.compare(y,h)>0&&(h=y,_=t,v=l)}if(m)return _?{newTag:_,date:v}:null;if(!_||h.version===d)return null;let[y,b=``]=h.version.split(`-`),x=Bo(y,t,b),S=x in e?x:_;return S===t?null:{newTag:S,date:v}}const is=`(?![\\w.@+-])`;function as(e){let t=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 os(e,t,n,r=()=>!0){if(!t.size)return e;let i=Ue(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`(${e})(${i})${is}`,`g`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function ss(e,t){let n=`(?:[ \\t]+|\\\\[ \\t]*\\r?\\n[ \\t]*)`,r=as(t),i=Ue(r.keys()),a=r.size?e.replace(RegExp(`(FROM${n}+(?:--platform=\\S+${n}+)?)(${i})${is}`,`gi`),(e,t,n)=>`${t}${r.get(n)??n}`):e,o=new Map;for(let{instruction:e,args:t,from:n,resolved:i}of Po(a)){let a=r.get(i);if(!a)continue;let s=i.slice(i.lastIndexOf(`@`)+1),c=a.slice(a.lastIndexOf(`@`)+1),l=i.includes(`@`)&&a.includes(`@`)&&s!==c;if(l){let t=e[0].lastIndexOf(s);t!==-1&&o.set(e.index+t,{end:e.index+t+s.length,value:c})}for(let e of n[1].matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let r=t.get(e[1]||e[2]),i=No(n[1].slice(0,e.index),e=>t.get(e)?.value),u=No(n[1].slice(e.index+e[0].length),e=>t.get(e)?.value);l&&(u=u.replace(s,c)),!(!r||r.start<0||!a.startsWith(i)||!a.endsWith(u))&&o.set(r.start,{end:r.start+r.value.length,value:a.slice(i.length,u?-u.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 cs(e,t){let n=Ho(e);return os(e,as(t),[String.raw`image:\s*['"]?`],e=>!n.has(e))}function ls(e,t){return os(e,as(t),[String.raw`(?:container|image):\s*['"]?`,String.raw`uses:\s*['"]?docker://`])}const us=[`Dockerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function ds(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function fs(e){return/^Dockerfile(\..+)?$/.test(e)}function ps(e){return fs(e)||ds(e)}function ms(e){return fs(e)?Oo:ko}function hs(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const gs=[`Makefile`,`makefile`,`GNUmakefile`];function _s(e){return gs.includes(e)||e.endsWith(`.mk`)}const vs=/^\s*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,ys=/^([^@\s]+)@(v\d\S*)$/,bs=/^[^/\s]+\.[^/\s]+\//;function*xs(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=vs.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 Ss(e){let t=[];for(let n of xs(e)){let e=ys.exec(n);if(!e||!bs.test(e[1]))continue;let[,r,i]=e;t.push({installPath:r,version:i})}return t}const Cs=/@(sha256:[0-9a-f]{64})$/;function ws(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function Ts(e){let t=Cs.exec(e),n=t?.[1]??null,r=t?e.slice(0,t.index):e,i=Ro(r.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:r.slice(0,r.lastIndexOf(`:`)),ref:i,digest:n}}function Es(e){return Array.from(xs(e)).flatMap(e=>Ts(e)??[])}const Ds=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,Os=new WeakMap;function ks(e,n,r){return Q(Os,r,`${y(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(`
|
|
16
|
+
`)[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 As(e,t,n,r){return await ya(r,async r=>r===`off`?!1:r===`direct`?ks(e,t,n):await Za(n,`primary`,e=>fn(n,e,{headers:Ka}),r,e)?!0:null)??!1}async function js(e,t,n,r){let i=Ds.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=Ta(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(`/`)),c=-1;for(let e of a){let r=await Promise.allSettled(s.map(r=>As(r,t,n,[e])));c=r.findIndex(e=>e.status===`fulfilled`&&e.value);let i=r.slice(0,c===-1?void 0:c).find(e=>e.status===`rejected`);if(i)throw i.reason;if(c!==-1)break}return c===-1?null:s[c]}function Ms(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,e=>z(e)).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 Ns=new WeakMap;function Ps(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 Fs(e,t){let n=sn(e);return`${n===`https://crates.io`?`https://index.crates.io`:n}/${Ps(t)}`}function Is(e){return e.split(`
|
|
11
17
|
`).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(`
|
|
12
|
-
`)}async function
|
|
13
|
-
`)){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=
|
|
14
|
-
`)){if(n)i.includes(n)&&(n=``);else{let a=Qo.exec(i);if(a){let n=t.at(-1);n&&(n.end=r),t.push({path:a[1]?``:a[2],start:r,end:e.length})}else n=$o(i)}r+=i.length+1}return t}function ts(e,t){let n=e;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=Zo(i),c=R(a),l=t.split(`|`)[0].split(`.`).map(Zo).join(`\\.`),u=RegExp(`^${l}\\.${s}$`),d=RegExp(`^${l}$`),f=e=>e.replace(RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`,`gm`),`$1${o}$2`).replace(RegExp(`^(\\s*${s}\\s*=\\s*\\{(?:"[^"\\n]*"|'[^'\\n]*'|[^"'}\\n])*?\\bversion\\s*=\\s*["'])${c}(["'])`,`gm`),`$1${o}$2`).replace(RegExp(`(\\[${l}\\.${s}\\](?:(?!\\n\\[)[\\s\\S])*?version\\s*=\\s*["'])${c}(["'])`,`g`),`$1${o}$2`),p=es(n),m=p.find(e=>u.test(e.path))??p.find(e=>d.test(e.path));n=m?n.slice(0,m.start)+f(n.slice(m.start,m.end))+n.slice(m.end):f(n)}return n}function ns(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}function rs(e,t){let n=t===`.`?``:`|${t}`,r={};for(let[t,i]of Object.entries(e)){let[e,a]=t.split(`\0`),o=ns(e);e===`${o}${n}`&&(r[`${o}${a}`]=i)}return r}const is=/[*?{[]/;async function as(e,t,n,r=32){let i=e.filter(e=>!e.startsWith(`!`)),a=e.filter(e=>e.startsWith(`!`)).map(e=>e.slice(1)),o=new Set(a.flatMap(e=>m(e,{cwd:t})).map(e=>e.replace(/\\/g,`/`))),s=new Set,c=[];for(let e of i){let r=is.test(e)?m(e,{cwd:t}).map(e=>f(u(t,e))):[f(u(t,e))];for(let e of r){let r=d(t,e).replace(/\\/g,`/`);if(o.has(r))continue;let i=u(e,n);s.has(i)||(s.add(i),c.push({absPath:i,memberPath:`./${r}`}))}}return(await L(c,async({absPath:e,memberPath:t})=>{try{return{absPath:e,content:await x(e,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const os=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#][^:#]*?))\s*:(?:\s+(.*))?$/,ss=/\s#/;function cs(e){let t=os.exec(e);if(!t)return null;let[,n,r,i,a,o=``]=t,s=e.length-o.length,c=o.search(ss),l=(c===-1?o:o.slice(0,c)).trimEnd(),u=l[0];return(u===`"`||u===`'`)&&l.length>1&&l.endsWith(u)&&(l=l.slice(1,-1),s+=1),{indent:n.length,key:r??i??a,value:l,valueIndex:s}}function*ls(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
|
|
15
|
-
`).
|
|
16
|
-
`),
|
|
17
|
-
`)
|
|
18
|
-
`)){let t=Oa(e),n=t&&Sa(t.value);if(!n||!Q(n.name,`actions`,a.include,a.exclude,`actions`))continue;let r=`${i}${n.name}${n.ref}`;A.actions[r]||(A.actions[r]={old:n.ref},Ke.push({...n,key:r,comment:t.pinnedVersion,apiUrl:Ca(n.host,l),filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}n&&(Ie[i]={absPath:e,content:r,fileType:`workflow`},Ze(r,i,[Ia,La,Ra],a));continue}let t=s(e);if(mo(t)){let n=I.get(e),r=Ce(e),i=po(t)?`dockerfile`:`compose`,a=await U(c(e));Ie[r]={absPath:e,content:n,fileType:i},Ze(n,r,[ho(t)],a);continue}if(vo(t)){let t=I.get(e),n=Ce(e),r=await U(c(e));R[n]={absPath:e,content:t},A.make??={};let i={projectDir:c(e),filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of Co(t)){if(!Q(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=`${n}${e}${a}`;A.make[t]||(A.make[t]={old:Y(a),oldOrig:a},qe.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of Oo(t)){if(!Q(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=`${n}${e.writtenImage}${e.ref.tag}`;if(A.make[t])continue;let a=Ua(e.ref.tag);if(!a)continue;let o=Eo(e.writtenImage,e.ref.tag,e.digest);A.make[t]={old:a.version,oldOrig:e.ref.tag},qe.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let n=F[t];if(t===`go.work`){A[n]??={};let t=c(f(e)),i=I.get(e);Ve={file:e,content:i};let a=va(i),[{modeConfig:o,modeInclude:s,modeExclude:l,pin:d},p]=await Promise.all([H(t),L(a.use,async e=>{let n=f(u(t,e,`go.mod`));try{return{usePath:e,modPath:n,content:await x(n,`utf8`)}}catch{return null}},{concurrency:r})]),m=Xe(n,o);V[n]={modeConfig:o,projectDir:t,pin:d};for(let e of p){if(!e)continue;let{usePath:t,modPath:r,content:i}=e,a=ta(i),o=c(r);Be.push({absPath:r,content:i,projectDir:o,memberPath:t}),De(n,a,t===`.`?``:`|${t}`,m,s,l)}for(let[e,t]of Object.entries(a.replace))Q(e,n,s,l,`replace`)&&N(n,`replace`,``,e,xa(t),Y(t));continue}if(t===`go.mod`&&Be.some(t=>t.absPath===f(e))||t===`package.json`&&z.some(t=>t.absPath===f(e))||t===`Cargo.toml`&&He.some(t=>t.absPath===f(e)))continue;if(t===`Cargo.toml`){A[n]??={};let t=I.get(e),i=$e.get(e)??O(t),a=c(f(e)),o=vs([`Cargo.lock`],a).get(`Cargo.lock`),s=i.workspace?.members,l=Array.isArray(s)&&s.length,[{modeConfig:u,modeInclude:d,modeExclude:p,pin:m},h,g]=await Promise.all([H(a),o?x(o,`utf8`):Promise.resolve(null),l?as(s,a,`Cargo.toml`,r):Promise.resolve([])]),_=Xe(n,u),v=h?Vo(h):new Map,y=(e,t)=>{for(let[r,i]of Me(_,e)){let e=i||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[i,a]of Object.entries(e))if(Q(i,n,d,p,r)){if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)&&!(`registry`in a)){let e=a.version,o=a.package||i;ut(Ko(e))&&(o!==i&&me.set(xs(r,t,i),o),N(n,r,t,i,Xo(v,o,e)??Z(Ko(e)),e))}else typeof a==`string`&&ut(Ko(a))&&N(n,r,t,i,Xo(v,i,a)??Z(Ko(a)),a)}}}};if(l){V[n]={modeConfig:u,projectDir:a,pin:m},y(i,``),He.push({absPath:f(e),content:t,memberPath:`.`});for(let e of g)He.push(e),y(tt(e.absPath,()=>O(e.content)),`|${e.memberPath}`)}else y(i,W(n,e,t,a,u,m));continue}if(t===`pnpm-workspace.yaml`){A[n]??={};let i=c(f(e)),a=I.get(e),o=ds(a),s=u(i,`package.json`),[{modeConfig:l,modeInclude:d,modeExclude:p,pin:m},h,g]=await Promise.all([H(i),ze(x(s,`utf8`)),as(o,i,`package.json`,r)]),_=Xe(n,l);V[n]={modeConfig:l,projectDir:i,pin:m},Ge.push({absPath:f(e),content:a,memberPath:t});for(let{type:e,name:r,value:i}of ls(a))Q(r,n,d,p,e)&&we(e,`|${t}`,r,i);if(h!==null){let e=tt(s,()=>JSON.parse(h));z.push({absPath:f(s),content:h,memberPath:`.`}),De(n,e,``,_,d,p)}for(let e of g){let t=tt(e.absPath,()=>JSON.parse(e.content));z.push(e),De(n,t,`|${e.memberPath}`,_,d,p)}continue}A[n]??={};let i=c(f(e)),{modeConfig:a,modeInclude:o,modeExclude:d,pin:p}=await H(i),m=Xe(n,a),h=I.get(e),g=W(n,e,h,i,a,p);De(n,tt(e,()=>n===`npm`?JSON.parse(h):n===`pypi`?O(h):n===`go`?ta(h):{}),g,m,o,d)}if(!Ss(A)&&!Object.keys(j).length)return{results:{},message:`No dependencies found, nothing to do.`};let nt=[],G=(e,t)=>he.get(e)?.name??(Cr.has(e.split(`\0`)[0].split(`|`)[0])?wr(t):t),rt=!!xe(V.npm?.modeConfig.cooldown)||(M.npm??[]).some(e=>e.modeCooldownDays)||k&&Object.keys(A.npm??{}).some(e=>le(`npm`,G(e,e.split(`\0`)[1])).cooldownOverride),it={registry:n.registry,needsDates:rt};for(let[e,t]of Object.entries(V)){let i=A[e]&&Object.keys(A[e]).length>0,a=e===`npm`&&Object.keys(j).length>0;if(!i&&!a)continue;let{modeConfig:o,projectDir:s,pin:c}=t,l=xe(o.cooldown);nt.push((async()=>{let t=new Map;for(let n of M[e]??[])n.memberPath!==`.`&&t.set(`|${n.memberPath}`,n);let i={modeConfig:o,projectDir:s,pin:c,modeCooldownDays:l},a=e=>{let n=e.indexOf(`|`);return n!==-1&&t.get(e.slice(n))||i},u=new Map,d=t=>{for(let[n,{date:r}]of Object.entries(t)){if(!r)continue;let[i,o]=n.split(`\0`),{modeCooldownDays:s}=a(i);if(!s&&!k)continue;let c=le(e,e===`npm`?G(n,o):o).cooldownOverride??s;c&&!Ut(r,c,be)&&delete t[n]}},f=A[e],p=async(t,r,i)=>{let o=ns(r),{modeConfig:s,projectDir:c,pin:l,modeCooldownDays:d}=a(r),p=f[t],m=he.get(t),h;if(e===`npm`){if(p.oldOrig&&Ur(p.oldOrig))h=await Zr(i,C);else if(p.oldOrig&&Wr(p.oldOrig)){let e=await ze(Vr(i,o,s,it,C,c));if(!e){delete f[t];return}h=e}else h=await Vr(m?.name??i,o,s,it,C,c,p.old)}else h=e===`go`?await ma(i,o,p.oldOrig||p.old,c,C,v):e===`cargo`?await Bo(me.get(t)??i,C):await _i(i,C);let[g,_]=h;if(g.error)throw Error(g.error);let y=o===`packageManager`?i:g.name,{names:b,useGreatest:te,usePre:ne,useRel:x,semvers:S,allowDowngrade:re,cooldownOverride:ie}=le(e,y),{old:w,oldOrig:T}=p,{pinnedRange:ae,pinNoDowngrade:oe}=pe(b,l,s.pinNoDowngrade),E=ie??d,D=xn(g,{usePre:ne,useRel:x,useGreatest:te,semvers:S,range:w,mode:e,pinnedRange:ae,pinNoDowngrade:oe,allowDowngrade:re,cooldownDays:E||void 0,now:E?be:void 0}),O=``;if((e===`go`||e===`pypi`)&&D)O=D;else if(e===`cargo`&&D&&T)O=Yo(T,D);else if(D){if(T&&Wr(T))O=String(Or(c)[`save-exact`])===`true`?D:`^${D}`;else if(T&&Ur(T)){let e=_s.exec(T);e?O=`${e[1]}${D}`:T.startsWith(`jsr:`)&&(O=`jsr:${D}`)}else O=m?`npm:${m.name}@${fi(w,D,m.range,o)}`:fi(w,D,T,o)}let se=ge.get(t);if(!D||D===w||T&&T===O||se&&!xi(se,T||w,O)){n.verbose&&D&&D!==w&&console.error(`${Pe()} ${ee(`SKIP`)} ${i}: ${T||w} can not be rewritten to ${D}`),delete f[t];return}let k=(e===`pypi`?g.releases?.[D]?.[0]?.upload_time_iso_8601:e===`go`?g.Time:e===`cargo`?g.time?.[D]:``)||``;p.new=O,T&&Ur(T)&&(p.newPrint=D),e===`npm`?u.set(t,{name:m?.name??i,promise:Hr(g.name,D,s,it,C,c)}):e===`pypi`?p.info=tr(g,_,g.info.name):e===`go`?p.info=ya(g.newPath||i):e===`cargo`&&(p.info=`https://crates.io/crates/${g.name}`),bs(p,k)};if(await L(Object.keys(f),async t=>{let[n,r]=t.split(`\0`);try{await p(t,n,r)}catch(i){delete f[t],ve(e,n,r,i)}},{concurrency:r}),await Promise.all(Array.from(u,async([e,{name:t,promise:n}])=>{let r=await n,i=f[e];i&&(i.info=tr({repository:r.repository,homepage:r.homepage},null,t),r.date&&bs(i,r.date))})),e===`npm`&&Object.keys(j).length){let e=(await L(Object.entries(j),async([e,t])=>{try{return await hi(e,t,C)}catch(t){return ye(`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){let e=f[t]={old:j[t].old,new:n,oldPrint:Un.test(a)?a.substring(0,7):a,newPrint:Un.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`};s&&bs(e,s)}}d(f)})())}Ke.length&&nt.push((async()=>{await L(Map.groupBy(Ke,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a;try{a=await Yn(t,n,i,C,e.map(e=>e.ref))}catch(t){for(let n of e)delete A.actions[n.key],ye(`actions`,n.key,t);return}let o=[],s=new Map,c=new Map,l=new Map;for(let e of a){c.set(e.name,e);let t=Et.parse(e.name)?.version;if(t){let n=s.get(t);n||o.push(t),(!n||e.name.length>n.length)&&s.set(t,e.name)}e.commitSha&&l.set(e.commitSha,e.name)}let u=We(e=>wa(t,n,i,e,C));async function d(e){let t={...e,cooldownDays:void 0,now:void 0},r=new Set;for(let a=0;a<20;a++){let a=yn({},r.size?o.filter(e=>!r.has(e)):o,t);if(!a)return null;let l=s.get(a),d=c.get(l)?.commitSha||``;if(!e.cooldownDays)return{version:a,tag:l,commitSha:d,date:``};let f=d?await u(d):``;if(f===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${l}`);if(Ut(f,e.cooldownDays,e.now))return{version:a,tag:l,commitSha:d,date:f};r.add(a)}return null}let f=async({key:e,host:t,ref:r,comment:a,name:o,isHash:s,filePin:f,filePinNoDowngrade:p,fileCooldownDays:m})=>{let h=A.actions[e],g=`https://${t||`github.com`}/${n}/${i}`,{pinnedRange:_,pinNoDowngrade:v}=pe([o],f,p),y=r;if(s?y=a||l.get(r)||l.entries().find(([e])=>e.startsWith(r))?.[1]||``:Wn(r)||(y=``),!y){delete A.actions[e];return}let{useGreatest:b,usePre:ee,useRel:te,semvers:ne,allowDowngrade:x,cooldownOverride:S}=le(`actions`,o),C=S??m,re=await d({range:y,semvers:ne,useGreatest:b,usePre:ee,useRel:te,allowDowngrade:x,versioning:Et,pinnedRange:_,pinNoDowngrade:v,cooldownDays:C||void 0,now:C?be:void 0});if(!re){delete A.actions[e];return}let{tag:ie,commitSha:w,date:T}=re;if(s){if(!w||w.startsWith(r)||r.startsWith(w)){delete A.actions[e];return}h.old=r,h.new=w.substring(0,r.length),h.oldPrint=y,h.newPrint=ie}else{let t=Ta(ie,r);if(t===r){delete A.actions[e];return}h.new=c.has(t)?t:ie}h.info=g;let ae=T||(w?await ze(u(w)):``);ae&&bs(h,ae)};await L(e,async e=>{try{await f(e)}catch(t){delete A.actions[e.key],ye(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(A.actions).length||delete A.actions})()),B.length&&nt.push((async()=>{await L(Map.groupBy(B,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete A.docker[e.key];return}let n;try{let[t]=await no(e,C);n=t}catch(e){for(let n of t)delete A.docker[n.key],ye(`docker`,n.key,e);return}let{names:r,semvers:i,usePre:a,useRel:o,cooldownOverride:s}=le(`docker`,e);for(let e of t){let t=A.docker[e.key],c=t.oldOrig||t.old,{pinnedRange:l}=pe(r,e.filePin),u=s??e.fileCooldownDays,d=io(n.tags,c,i,u||void 0,u?be:void 0,l,a,o);if(!d){delete A.docker[e.key];continue}t.new=d.newTag,t.info=go(e.ref),bs(t,d.date)}},{concurrency:r}),Object.keys(A.docker).length||delete A.docker})()),qe.length&&nt.push((async()=>{await L(qe,async e=>{let{names:t,useGreatest:n,usePre:r,useRel:i,semvers:a,allowDowngrade:o,cooldownOverride:s}=le(e.kind,e.name),{pinnedRange:c,pinNoDowngrade:l}=pe(t,e.filePin,e.filePinNoDowngrade),u=s??e.fileCooldownDays,d={semvers:a,useGreatest:n,usePre:r,useRel:i,allowDowngrade:o,pinnedRange:c,pinNoDowngrade:l,cooldownDays:u||void 0,now:u?be:void 0},f=A.make[e.key];try{let t;if(e.kind===`go`){let n=await No(e.installPath,e.version,e.projectDir,C,v,d);if(!n){delete A.make[e.key];return}e.newSpec=`${n.newInstallPath}@${n.newVersion}`,f.new=n.newVersion,t=n}else{let n=await Po(e.image,C,d);if(!n){delete A.make[e.key];return}e.newSpec=Eo(e.image.writtenImage,n.newTag,e.image.digest?n.newDigest:null),f.new=n.newTag,t=n}f.info=t.info,t.date&&bs(f,t.date)}catch(t){delete A.make[e.key],ye(`make`,e.key,t)}},{concurrency:r}),Object.keys(A.make).length||delete A.make})());try{await Promise.all(nt)}finally{await Vt()}if(!Ss(A))return _e.length?{results:{},errors:_e}:{results:{},message:`All dependencies are up to date.`};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=rs(A[e],r.memberPath);Object.keys(t).length&&$(r.absPath,n(r.content,t))}},t=new Map;for(let[e,n]of Object.entries(A.actions??{})){let[r,i]=e.split(`\0`),a=Un.test(n.old)?n.newPrint:void 0;Ue(t,r,{name:i,oldRef:n.old,newRef:n.new,newComment:a})}let n=new Map;for(let[e,t]of Object.entries(A.docker??{})){let[r]=e.split(`\0`),i=n.get(r);i||n.set(r,i={}),i[e]=t}let r=new Map;for(let e of qe)!e.newSpec||!A.make?.[e.key]||Ue(r,e.key.split(`\0`)[0],{oldSpec:e.oldSpec,newSpec:e.newSpec});let i=Object.keys(A).sort((e,t)=>(e===`docker`)-+(t===`docker`));for(let a of i)if(Object.keys(A[a]).length){if(a===`actions`){for(let[e,n]of t){let{absPath:t,content:r}=Fe[e]||{};if(!t)continue;let i=Aa(r,n);$(t,i),Ie[e]&&(Ie[e].content=i)}continue}if(a===`docker`){for(let[e,t]of n){let n=Ie[e];if(!n)continue;let{absPath:r,content:i,fileType:a}=n;$(r,(a===`dockerfile`?so:a===`compose`?co:lo)(i,t))}continue}if(a===`make`){for(let[e,t]of r){let n=R[e];n&&$(n.absPath,Fo(n.content,t))}continue}if(a===`go`){for(let e of[...Be,...M.go??[]]){let t=rs(A[a],e.memberPath);if(!Object.keys(t).length)continue;let[n,r]=ga(e.content,t);n!==e.content&&$(e.absPath,n),_a(e.projectDir,r,$)}if(Ve){let e={};for(let[t,n]of Object.entries(A[a]))t.split(`\0`)[0]===`replace`&&(e[t]=n);if(Object.keys(e).length){let[t]=ga(Ve.content,e);t!==Ve.content&&$(Ve.file,t)}}}else a===`cargo`?(e(a,He,ts),e(a,M.cargo??[],ts)):a===`npm`?(e(a,Ge,us),e(a,z,ti),e(a,M.npm??[],ti)):e(a,M[a]??[],Si)}}let at=Os(A);return _e.length&&(at.errors=_e),at}function js(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function Ms(e){let t=rr(e);if(t!==!1)return t===!0||Array.from(t).map(js)}function Ns(t){if(!t)return e();let n=l(t)?t:f(e(),t),r=!1;try{r=y(n).isDirectory()}catch{}return r?n:c(n)}function Ps(e,t){let n=rr(e.file),r=[...n instanceof Set?n:[],...t];return{filesList:r,startDir:Ns(r[0])}}function Fs(e){let t=a({strict:!1,allowPositionals:!0,tokens:!0,options:nr,...e!==void 0&&{args:e}}),n=t.values,r=new Set,i=0;for(let[e,a]of t.tokens.entries()){if(a.kind===`positional`&&i++,a.kind!==`option`||a.inlineValue||!a.value?.startsWith(`-`))continue;let o=a.value.startsWith(`--`)?2:1,s=ir(a.value.substring(o));if(!s)continue;let c=t.tokens[e+1],l=n[a.name];if(Array.isArray(l)){let e=l.indexOf(a.value);e!==-1&&l.splice(e,1)}else n[a.name]=!0;let u=c?.kind===`positional`&&c.value?c.value:!0;typeof u==`string`&&r.add(i),nr[s]?.multiple?(n[s]??=[]).push(u):n[s]=u}return{args:n,positionals:t.positionals.filter((e,t)=>!r.has(t))}}async function Is(e,t){let{filesList:n,startDir:r}=Ps(e,t),i=typeof e.timeout==`string`?Re(e.timeout,`timeout`):void 0,a={...await fr(r,{noCache:!!e[`no-cache`],timeout:i??5e3}),pin:void 0};e.json&&(a.json=!0),e.verbose&&(a.verbose=!0),e[`no-cache`]&&(a.noCache=!0),e.update&&(a.update=!0),e.indirect&&(a.indirect=!0),e[`error-on-outdated`]&&(a.errorOnOutdated=!0),e[`error-on-unchanged`]&&(a.errorOnUnchanged=!0),e.color&&(a.color=!0,a.noColor=!1),e[`no-color`]&&(a.color=!1,a.noColor=!0),i!==void 0&&(a.timeout=i),typeof e.sockets==`string`&&(a.sockets=Re(e.sockets,`sockets`)),typeof e.registry==`string`&&(a.registry=e.registry),typeof e.cooldown==`string`&&(a.cooldown=Number(e.cooldown)||e.cooldown);let o=or(e.include).map(js),s=or(e.exclude).map(js);o.length&&(a.include=o),s.length&&(a.exclude=s);let c=or(e.types);c.length&&(a.types=c);let l=cr(e.pin);Object.keys(l).length&&(a.pin=l);let u=rr(e.modes);u instanceof Set&&(a.modes=Array.from(u));for(let t of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let n=Ms(e[t]);n!==void 0&&(a[t]=n)}let d=Ms(e[`allow-downgrade`]);d!==void 0&&(a.allowDowngrade=d),n.length&&(a.files=n);for(let t of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(a[t]=e[t]);return a}function Ls(e){try{return pr(g(u(e,`.npmrc`),`utf8`)).registry}catch{return}}function Rs(e,t){try{return`${new URL(typeof e==`string`&&e?e:t).origin}/`}catch{return null}}const zs={npm:[`registry`,`jsrapi`,`forgeapi`],pypi:[`pypiapi`],cargo:[`cargoapi`],go:[`goproxy`],docker:[`dockerapi`],actions:[`forgeapi`,`dockerapi`],make:[`goproxy`,`dockerapi`]};function Bs(e){if(F[e])return F[e];if(mo(e))return`docker`;if(vo(e))return`make`}function Vs(e,t){let n=new Set,r=rr(t.modes),i=e=>!(r instanceof Set)||r.has(e);try{for(let t of _(e,{withFileTypes:!0}))if(t.isFile()){let e=Bs(t.name);e&&i(e)&&n.add(e)}else t.isDirectory()&&P.some(e=>e===t.name)&&(i(`actions`)?n.add(`actions`):i(`docker`)&&n.add(`docker`))}catch{}let a=new Set;for(let r of n)for(let n of zs[r]??[]){let r=Rs(n===`registry`&&typeof t.registry!=`string`?Ls(e):t[n],n===`goproxy`?Ti()[0].url:J[n]);r&&a.add(r)}return Array.from(a)}const Hs=/[A-Za-z_$]/,Us=/[A-Za-z0-9_$]/;function Ws(e){let t=``,n=0,r=e.length,i=-1;function a(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
|
|
19
|
-
`;)t++;return t}for(t+=2;t<r&&(e[t]!==`*`||e[t+1]!==`/`);)t++;return t+2}function o(t){for(;t<r;){if(/\s/.test(e[t])){t++;continue}if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`)){t=a(t);continue}break}return t}for(;n<r;){let s=e[n];if(s===`"`){for(i=-1,t+=s,n++;n<r;){let i=e[n];if(t+=i,n++,i===`\\`&&n<r){t+=e[n],n++;continue}if(i===`"`)break}continue}if(s===`'`){for(i=-1,t+=`"`,n++;n<r;){let i=e[n];if(i===`\\`){let a=e[n+1];if(a===`'`){t+=`'`,n+=2;continue}if(a===`
|
|
20
|
-
`){n+=2;continue}t+=i,n+1<r?(t+=a,n+=2):n++;continue}if(i===`"`){t+=`\\"`,n++;continue}if(i===`'`){t+=`"`,n++;break}t+=i,n++}continue}if(s===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=a(n);continue}if(s===`,`){i=t.length,t+=s,n++;continue}if(s===`}`||s===`]`){i>=0&&(t=t.slice(0,i)+t.slice(i+1)),i=-1,t+=s,n++;continue}if(Hs.test(s)){i=-1;let a=``;for(;n<r&&Us.test(e[n]);)a+=e[n],n++;t+=e[o(n)]===`:`?JSON.stringify(a):a;continue}/\s/.test(s)||(i=-1),t+=s,n++}return JSON.parse(t)}export{Bt as $,$n as A,Wt as B,Qn as C,An as D,In as E,Zn as F,_n as G,Mn as H,Zt as I,Vn as J,tn as K,Wn as L,Kt as M,Un as N,tr as O,bn as P,Lt as Q,pn as R,yn as S,Yt as T,Kn as U,Gn as V,Ut as W,X,Y,Sn as Z,on as _,Ps as a,Fe as at,$t as b,Ln as c,J as d,ut as et,Qt as f,qn as g,Bn as h,Is as i,We as it,qt as j,fn as k,vn as l,Yn as m,Vs as n,z as nt,As as o,He as ot,un as p,Hn as q,Fs as r,_e as rt,ba as s,Ws as t,P as tt,sn as u,Gt as v,En as w,xn as x,an as y,Jt as z};
|
|
18
|
+
`)}async function Ls(e,t){let n=Fs(t.cratesIoUrl,e);return[await Q(Ns,t,n,async()=>{let r=await gn(n,t,cn(),Is);`body`in r||ur(r.res,n,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of r.body.split(`
|
|
19
|
+
`)){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=W(n);r&&(r.prerelease.length?(!s||ht(n,s))&&(s=n):(!o||ht(n,o))&&(o=n))}if(!c&&r.body.trim())throw Error(`Invalid JSON from ${n}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function Rs(e){let t=new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);if(!e||!r)continue;let i=e[1],a=r[1];ct(a)&&Qe(t,i,a)}return t}const zs=/^\d/,Bs=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,Vs=/^(\s*)(.*?)(\s*)$/s,Hs=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return zs.test(t)&&!Bs.test(t)?`^${t}`:t}).join(` `);function Us(e,t){let[,n,r,i]=Vs.exec(e);if(r.startsWith(`<`)&&J(t,r))return e;let a=Bs.exec(r),o;if(a){if(W(t)?.prerelease.length)o=t;else{let[,e,n]=a;o=`${t.split(/[-+]/)[0].split(`.`).slice(0,e.split(`.`).length).join(`.`)}${n}`}}else o=zs.test(r)?Qi($i(`^${r}`),t,`^${r}`).replace(/^\^/,``):Qi($i(r),t,r);return`${n}${o}${i}`}function Ws(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:Us(e,t)).join(``)}function Gs(e,t,n){let r=e.get(t);if(!r)return;let i=Hs(n),a;for(let e of r)J(e,i)&&(!a||ht(e,a))&&(a=e);return a}const Ks=e=>`(?:${z(e)}|"${z(e)}"|'${z(e)}')`,qs=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,Js=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/;function Ys(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){let r=0;for(;e[n-r-1]===`\\`;)r++;e.startsWith(t,n)&&!(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 Xs(e){let t=[],n=``,r=0;for(let i of e.split(`
|
|
20
|
+
`)){let a=n?null:Js.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:a[2],start:r,end:e.length,rewrites:[]})):n=Ys(i,n),r+=i.length+1}return t}function Zs(e,t){let n=Xs(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=Ks(i),c=z(a),l=t.startsWith(`[`)?JSON.parse(qs.exec(t)[0]):t.split(`|`,1)[0].split(`.`),u=`[ \\t]*\\.[ \\t]*`,d=l.map(Ks).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=Ys(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const Qs=/^(!?)\/(.*)\/(i?)$/,$s=e=>e.isHash&&!!e.comment&&!Zn(e.comment),ec=[...new Set(Object.values(je)),`actions`,`docker`,`make`],tc=new Set(ec),nc={patch:new Set([`patch`]),minor:new Set([`patch`,`minor`]),major:new Set([`patch`,`minor`,`major`])},rc={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},ic=(e,t)=>sn(typeof e==`string`?e:t),ac=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function oc(e,t){let n=new Map,r=new Set(e);return Ze(t,e=>{for(let t of r){let i=_(e,t);try{a(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function sc(e,t){t&&(e.date=t,e.age=Wt(t,{noAffix:!0,shortUnits:!0}))}const cc=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,lc=(e,t,n,r)=>cc(`${e}${t}`,n,r),uc=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?Xr(n):`${Xr(n)}|${t}`)},dc=e=>Object.values(e).some(e=>Object.keys(e).length>0),fc=e=>e.toLowerCase().replace(/[-_.]+/g,`-`);function pc(e,t){return t===`go`?[e,po(e)]:t===`docker`?Lo(e):t===`pypi`?[e,fc(e)]:[e]}function $(e,t,n,r,i,a=t,o=e){if(i===`engines`&&ke.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(new Set([...pc(e,a),...pc(o,a)])),c=(t,n)=>kr(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}function mc(t){let n=new Set;if(t?.length)for(let e of t){let t;try{t=d(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}let r=y(e);try{r=u.native(e)}catch{}if(t.isFile())n.add(r);else if(t.isDirectory()){try{for(let e of l(r,{withFileTypes:!0}))e.isFile()&&(Object.hasOwn(je,e.name)||ps(e.name)||_s(e.name))&&n.add(y(_(r,e.name)))}catch{}let e=r.replace(/\\/g,`/`),t=Ae.some(t=>e.endsWith(`/${t}/workflows`)),i=!t&&Ae.some(t=>e.endsWith(`/${t}`)),a=t?[h(e)]:i?[e]:Ae.map(t=>_(e,t));for(let e of a)for(let t of Eo(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(Ae),r=[...Object.keys(je),...us,...gs,...Ae],i=new Set;for(let[a,o]of oc(r,e())){if(t.has(a)){for(let e of Eo(o))n.add(e);continue}let e=y(o);try{e=u.native(o)}catch{}i.has(e)||(i.add(e),n.add(y(o)))}try{for(let t of l(e(),{withFileTypes:!0})){let r=ps(t.name)&&!us.includes(t.name),i=_s(t.name)&&!gs.includes(t.name);t.isFile()&&(r||i)&&n.add(y(_(e(),t.name)))}}catch{}}let r=[];for(let e of Array.from(n)){let t=m(e);Object.hasOwn(rc,t)&&(r.push(e),n.delete(_(h(e),rc[t])))}return r.length?new Set([...r,...n]):n}function hc(e,t){r===`win32`&&f(e,0),p(e,t,r===`win32`?{flag:`r+`}:void 0)}const gc=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function _c(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function vc(e){let t={results:{}},n=new Map,r=Object.entries(e).sort(([e],[t])=>ec.indexOf(e)-ec.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=gc(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`&&!Ni(a.oldOrig)&&(a.old=e===`go`?mo(a.oldOrig):a.oldOrig),e===`go`?a.new=mo(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(gc(e,r))>1?`${o}${e===`actions`?`@`:`:`}${_c(s)}`:o,l=t.results[e]??={};(l[_c(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 yc(e,t){if(!t)return()=>!0;let n=Qs.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(dt(zo(e)?.version??``)?.version??``,t):e===`pypi`?e=>da(e,t):e=>J(e,t)}function bc(e,t,n){if(!n)return e;let r=yc(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 xc(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Sc(e)}finally{n()}}async function Sc(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=He(n.timeout,`timeout`));let r=n.sockets??50,a=n.timeout??0,o=ic(t.forgeapi,on.forgeapi),s=xa(t.goproxy),c=Sa(),l=!n.noColor&&(n.color||i.isTTY),u=e=>l?t=>ee(e,String(t),{validateStream:!1}):String,d=u(`magenta`),f=u(`green`),p=u(`red`),g,v={execFile:async(e,t,n)=>(await Nn())(e,t,n),fetchTimeout:a||5e3,goProbeTimeout:a?Math.max(1,Math.floor(a/2)):2500,concurrency:r,forgeApiUrl:o,pypiApiUrl:ic(t.pypiapi,on.pypiapi),jsrApiUrl:ic(t.jsrapi,on.jsrapi),goProxyUrl:s[0].url,goProxyChain:s,cratesIoUrl:ic(t.cargoapi,on.cargoapi),dockerApiUrl:ic(t.dockerapi,on.dockerapi),doFetch:(e,t)=>(g??=xn(v))(async()=>{n.verbose&&console.error(`${Re()} ${d(t?.method||`GET`)} ${e}`);let r=await dn(e,t);return n.verbose&&console.error(`${Re()} ${r.ok?f(r.status):p(r.status)} ${e}`),r}),noCache:!!n.noCache},b=new Map,x=async(e,t,n)=>{let r=`${e}${t}${n}`,i=H(b,r,()=>qo(e,t,n,v));try{return await i}catch(e){throw b.get(r)===i&&b.delete(r),e}};for(let e of n.modes??[])if(!tc.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${ec.join(`,`)}`);let S=n.modes?.length?new Set(n.modes):tc,te=e=>{let t=(e.overrides??[]).map(e=>({include:e.include?.length?Rr(e.include):void 0,exclude:e.exclude?.length?Rr(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:Ve(String(e.cooldown))}));return{greatest:Hr(e.greatest),prerelease:Hr(e.prerelease),release:Hr(e.release),patch:Hr(e.patch),minor:Hr(e.minor),allowDowngrade:Hr(e.allowDowngrade),overrides:t,renovateVersionRules:e.renovateVersionRules??[],hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)}};S.has(`actions`)&&In();let C=new WeakMap;function ne(e,t,n,r=n){let i=H(C,e,()=>new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(new Set([...pc(n,t),...pc(r,t)])),c=e=>s.some(t=>Le(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;for(let t of e.overrides)t.include&&s.every(e=>!Le(e,t.include))||t.exclude&&s.some(e=>Le(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 g=f?nc.patch:p?nc.minor:nc.major,_;for(let t of e.renovateVersionRules)Er(t,n,r)&&(t.allowedVersions!==void 0&&(_=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:g,allowDowngrade:m,cooldownOverride:h,allowedVersions:_},i.set(a,o)}return o}Br(n.pin);let T=n.pin??{},re=(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}},ie=(e,t,n,r,i,a,o)=>{let s=ne(e,t,n,r);return{...s,...re(s.names,i,a),cooldownDays:s.cooldownOverride??o}},E={},ae={},oe=new Map,se=new Map,D=new Map,O=new Map,ce=new Map,k=[],A=(e,t,n)=>{let[r,i]=t.split(`\0`);k.push({mode:e,type:r,name:i,error:n?.message||String(n)})},le=(e,t,n)=>{delete E[e][t],A(e,t,n)},j={},M=Date.now(),de=e(),fe=e=>e.replace(`${de}/`,``).replace(`${de}\\`,``),pe=(e,t,n,r,i,a)=>{E[e][lc(t,n,r)]={old:i,oldOrig:a}},me=(e,t,n)=>{if(Fi(n))return;let r=Li(n);if(Ni(n))E.npm[e]={old:Bi(n,t).version,new:``,oldOrig:n};else if(Y(n))E.npm[e]={old:$i(n),new:``,oldOrig:n};else if(r)se.set(e,r),E.npm[e]={old:$i(r.range),new:``,oldOrig:n};else if(Pi(n))return;else ae[e]={old:n}},he=(e,t,n,r,i,a)=>{let o=new Set(Object.keys(t.tool?.uv?.sources??{}).map(fc)),s=(t,r)=>{for(let{name:s,version:c,spec:l}of De(t))o.has(fc(s))||$(s,e,i,a,r)&&(pe(e,r,n,s,$i(c),c),ce.set(lc(r,n,s),l))};for(let[o,c]of Ie(r,t)){let t=c||{};if(Array.isArray(t)){if(e!==`pypi`)continue;s(t,o)}else if(typeof t==`string`){let[r,s]=t.split(`@`);$(r,e,i,a,o)&&pe(e,o,n,r,$i(s),s)}else{let r=Object.entries(t);if(e===`npm`&&(o===`overrides`||o===`pnpm.overrides`)){let r=o===`overrides`?[`overrides`]:[`pnpm`,`overrides`],s=(t,c)=>{for(let[l,u]of Object.entries(t))if(typeof u==`string`){let t=_i(l===`.`?c.at(-1)??l:l),s=Li(u);if(!$(t,e,i,a,o,e,s?.name??t))continue;let d=[...r,...c,l],f=JSON.stringify(d),p=lc(o,n,t,f);me(p,t,u)}else u&&typeof u==`object`&&!Array.isArray(u)&&s(u,[...c,l])};s(t,[]);continue}for(let[t,c]of r){if(e===`pypi`&&Array.isArray(c)){s(c,`${o}.${t}`);continue}typeof c==`string`&&$(t,e,i,a,o,e,(e===`npm`?Li(c):null)?.name??t)&&(e===`npm`?me(lc(o,n,t),t,c):e===`go`?pe(e,o,n,t,mo(c),Z(c)):Y(c)&&pe(e,o,n,t,$i(c),c))}}}},ge=mc(n.files),N=new Map(await L(Array.from(ge).filter(e=>{if(To(e))return S.has(`actions`)||S.has(`docker`);let t=m(e);return ps(t)?S.has(`docker`):_s(t)?S.has(`make`):S.has(je[t])}),async e=>{try{return[e,await w(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),P={},_e=[],ve=[],ye=[],be=[],xe=[],Se=[],Ce=[],we=[],Te={},F=(e,t,n)=>{(Te[e]??=new Map).set(t===`.`?``:`|${t}`,n)},Ee=t[Pr],ke=Ee&&new Set(Ee.cliKeys),Ae=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!ke||ke.has(e)))),I=$e(async e=>{let t={...await Wr(e),...Ae};return{modeConfig:t,include:Rr(t.include??[]),exclude:Rr(t.exclude??[]),versionConfig:te(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?Ve(String(t.cooldown)):0}});function ze(e,t){return t.types?.length?t.types:e===`npm`?Oe:e===`pypi`?Me:e===`go`?t.indirect?Ne:Ne.filter(e=>e!==`indirect`):e===`cargo`?[...Pe,...Fe]:[]}let Be=(e,t)=>({modeConfig:e.modeConfig,versionConfig:e.versionConfig,projectDir:t,pin:e.pin,cooldownDays:e.cooldownDays}),z=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(E.docker??={},!$(e.fullImage,`docker`,n.include,n.exclude,`docker`))return;let r=`${e.tag}${e.digest?`@${e.digest}`:``}`,i=cc(t,e.fullImage,r);if(E.docker[i])return;let a=zo(e.tag);!a&&!e.digest||(E.docker[i]={old:a?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Ce.push({key:i,fullImage:e.fullImage,ref:e,versionConfig:n.versionConfig,filePin:n.pin,fileCooldownDays:n.cooldownDays}))}let We=new Map,B=new Map;for(let e of ge){let t=m(e);if(t===`package.json`){let t=N.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`)&&B.set(e,n)}catch{}}else if(t===`Cargo.toml`){let t=N.get(e);if(!t)continue;try{let n=ue(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&We.set(e,n)}catch{}}}let Ge={cargo:We.size,go:Array.from(ge).filter(e=>m(e)===`go.work`).length,npm:new Set([...B.keys(),...Array.from(ge).filter(e=>m(e)===`pnpm-workspace.yaml`)]).size},Ke=(e,t,n,r,i)=>{let a=j[e]??=[],o=!a.length&&!Ge[e],s=o?`.`:fe(t);return a.push({absPath:y(t),content:n,memberPath:s,projectDir:r}),F(e,s,Be(i,r)),o?``:`|${s}`},qe=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},V=(e,t,n)=>Ge[e]>1?`${fe(t)}:${n}`:n,Je=(e,t,n,r,i,a)=>{let o=V(`npm`,e,n.memberPath);F(`npm`,o,Be(a,t)),be.push({...n,memberPath:o}),he(`npm`,r,o===`.`?``:`|${o}`,i,a.include,a.exclude)};for(let e of We.size||B.size?new Set([...We.keys(),...B.keys(),...N.keys()]):N.keys()){if(To(e)){let t=S.has(`actions`),n=S.has(`docker`),r=N.get(e),i=fe(e),a=await I(h(e)),s=new Set;P[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=xo(l),t=e&&ho(e.value);if(t&&$(t.name,`actions`,a.include,a.exclude,`actions`)){E.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=t.isHash&&n?`${n}@${t.ref}`:t.ref,s=cc(i,t.name,r);E.actions[s]||(E.actions[s]={old:t.ref},Se.push({...t,key:s,comment:n,apiUrl:go(t.host,o),versionConfig:a.versionConfig,filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}if(!n)continue;let r=/^(\s*)(?:-\s*)?(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(l);if(!r)continue;let u=r[1].length;for(;c.length&&c.at(-1).indent>=u;)c.pop();let d=(r[2]??r[3]??r[4]).trim(),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[5]){let t=r[5].replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`),n=Ro(m?t.replace(/^docker:\/\//,``):t);n&&(Ue(n,i,a),s.add(e))}c.push({indent:u,key:d})}continue}let t=m(e),n=y(e);if(ps(t)){let n=N.get(e),r=fe(e),i=fs(t)?`dockerfile`:`compose`,a=await I(h(e));P[r]={absPath:e,content:n,fileType:i};for(let{ref:e}of Vo(n,ms(t)))Ue(e,r,a);continue}if(_s(t)){let t=N.get(e),n=fe(e),r=await I(h(e));P[n]={absPath:e,content:t,fileType:`make`},E.make??={};let i={projectDir:h(e),versionConfig:r.versionConfig,filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of Ss(t)){if(!$(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=cc(n,e,a);E.make[t]||(E.make[t]={old:Z(a),oldOrig:a},we.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of Es(t)){if(!$(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=cc(n,e.writtenImage,e.ref.tag);if(E.make[t])continue;let a=zo(e.ref.tag);if(!a)continue;let o=ws(e.writtenImage,e.ref.tag,e.digest);E.make[t]={old:a.version,oldOrig:e.ref.tag},we.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let i=je[t];if(t===`go.work`){E[i]??={};let t=h(n),a=N.get(e),o=lo(a),[{modeConfig:s,include:c,exclude:l,versionConfig:u,pin:d,cooldownDays:f},p]=await Promise.all([I(t),L(o.use,async e=>{let n=uo(t,e);if(!n)return null;try{return{usePath:e,modPath:n,content:await w(n,`utf8`)}}catch{return null}},{concurrency:r})]),m=ze(i,s),g=V(i,e,`.`),_=Be({modeConfig:s,versionConfig:u,pin:d,cooldownDays:f},t);F(i,g,_),ve.push({file:e,content:a,memberPath:g});for(let t of p){if(!t)continue;let{usePath:n,modPath:r,content:a}=t,o=Ha(a),s=V(i,e,n);F(i,s,_),_e.push({absPath:r,content:a,projectDir:h(r),memberPath:s}),he(i,o,s===`.`?``:`|${s}`,m,c,l)}for(let[e,t]of Object.entries(o.replace))$(e,i,c,l,`replace`)&&pe(i,`replace`,g===`.`?``:`|${g}`,e,mo(t),Z(t));continue}if(t===`go.mod`&&_e.some(e=>e.absPath===n)||t===`package.json`&&be.some(e=>e.absPath===n)||t===`Cargo.toml`&&ye.some(e=>e.absPath===n))continue;if(t===`Cargo.toml`){E[i]??={};let t=N.get(e),a=We.get(e)??ue(t),o=h(n),s=oc([`Cargo.lock`],o).get(`Cargo.lock`),c=a.workspace?.members,l=Array.isArray(c)&&c.length,[u,d,f]=await Promise.all([I(o),s?w(s,`utf8`):Promise.resolve(null),l?ti(c,o,`Cargo.toml`,r):Promise.resolve([])]),{modeConfig:p,include:m,exclude:g}=u,_=ze(i,p),v=d?Rs(d):new Map,y=(e,t)=>{for(let[n,r]of Ie(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[r,a]of Object.entries(e))if($(r,i,m,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;Y(Hs(e))&&(o!==r&&oe.set(lc(n,t,r),o),pe(i,n,t,r,Gs(v,o,e)??$i(Hs(e)),e))}else typeof a==`string`&&Y(Hs(a))&&pe(i,n,t,r,Gs(v,r,a)??$i(Hs(a)),a)}}}};if(l){let r=V(i,e,`.`),s=Be(u,o);F(i,r,s),y(a,r===`.`?``:`|${r}`),ye.push({absPath:n,content:t,memberPath:r});for(let t of f){let n=V(i,e,t.memberPath);F(i,n,s),ye.push({...t,memberPath:n}),y(qe(t.absPath,()=>ue(t.content)),`|${n}`)}}else y(a,Ke(i,e,t,o,u));continue}if(t===`package.json`&&B.has(e)){E[i]??={};let t=h(n),a=N.get(e),o=B.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([I(t),ti(c,t,`package.json`,r)]),d=ze(i,l.modeConfig);Je(e,t,{absPath:n,content:a,memberPath:`.`},o,d,l);for(let n of u)Je(e,t,n,qe(n.absPath,()=>JSON.parse(n.content)),d,l);continue}if(t===`pnpm-workspace.yaml`){E[i]??={};let a=h(n),o=N.get(e),s=mi(o),c=_(a,`package.json`),[l,u,d]=await Promise.all([I(a),R(w(c,`utf8`)),ti(s,a,`package.json`,r)]),f=ze(i,l.modeConfig),p=V(i,e,t);F(i,p,Be(l,a)),xe.push({absPath:n,content:o,memberPath:p});for(let{type:e,name:t,value:n}of fi(o))$(t,i,l.include,l.exclude,e,i,Li(n)?.name??t)&&me(lc(e,`|${p}`,t),t,n);for(let{selector:e,value:t}of z(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=lc(r,`|${p}`,e,a);D.set(o,n),O.set(o,e),me(o,e,t)}if(u!==null){let t=qe(c,()=>JSON.parse(u));Je(e,a,{absPath:y(c),content:u,memberPath:`.`},t,f,l)}for(let t of d)Je(e,a,t,qe(t.absPath,()=>JSON.parse(t.content)),f,l);continue}E[i]??={};let a=h(n),s=await I(a),{modeConfig:c,include:l,exclude:u}=s,d=ze(i,c),f=N.get(e);he(i,qe(e,()=>i===`npm`?JSON.parse(f):i===`pypi`?ue(f):Ha(f)),Ke(i,e,f,a,s),d,l,u)}let Ye=Object.keys(ae).length>0;if(!dc(E)&&!Ye)return{results:{},message:`No dependencies found, nothing to do.`};let Xe=[],Ze=(e,t)=>D.get(e)??se.get(e)?.name??(gi.has(e.split(`\0`)[0].split(`|`)[0])?_i(t):t),Qe={needsDates:(Te.npm?.values()??[][Symbol.iterator]()).some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)};for(let[e,t]of Object.entries(Te))!Object.keys(E[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=new Map,s=E[e],l=async(t,r,i)=>{let l=Xr(r),{modeConfig:u,versionConfig:f,projectDir:p,pin:m,cooldownDays:h}=a(r),g=s[t],_=se.get(t),[y,b]=await(e===`npm`?g.oldOrig&&Ni(g.oldOrig)?Vi(i,v):ji(Ze(t,i),l,u,Qe,v,p,g.old):e===`go`?ro(i,r,g.oldOrig||g.old,p,v,c):e===`cargo`?Ls(oe.get(t)??i,v):sa(i,v)),x=y;if(x.error)throw Error(x.error);let S=l===`packageManager`?i:x.name,{useGreatest:ee,usePre:te,useRel:C,semvers:w,allowDowngrade:ne,allowedVersions:T,pinnedRange:re,pinNoDowngrade:E,cooldownDays:ae}=ie(f,e,S,i,m,u.pinNoDowngrade,h);x=bc(x,e,T);let{old:D,oldOrig:O}=g,k=kn(x,{usePre:te,useRel:C,useGreatest:ee,semvers:w,range:D,mode:e,pinnedRange:re,pinNoDowngrade:E,allowDowngrade:ne,cooldownDays:ae||void 0,now:ae?M:void 0}),A=``;if((e===`go`||e===`pypi`)&&k)A=k;else if(e===`cargo`&&k&&O)A=Ws(O,k);else if(k){if(O&&Ni(O)){let e=ac.exec(O);e?A=`${e[1]}${k}`:O.startsWith(`jsr:`)&&(A=`jsr:${k}`)}else A=_?`npm:${_.name}@${Qi(D,k,_.range,l)}`:Qi(D,k,O,l)}let le=ce.get(t);if(!k||k===D||O&&O===A||le&&!fa(le,O||D,A)){n.verbose&&k&&k!==D&&console.error(`${Re()} ${d(`SKIP`)} ${i}: ${O||D} can not be rewritten to ${k}`),delete s[t];return}let j=(e===`pypi`?x.releases?.[k]?.[0]?.upload_time_iso_8601:e===`go`?x.Time:e===`cargo`?x.time?.[k]:``)||``;g.new=A,O&&Ni(O)&&(g.newPrint=k),e===`npm`?o.set(t,{name:Ze(t,i),promise:Mi(x.name,k,u,Qe,v,p)}):g.info=e===`pypi`?gr(x,b,x.info.name):e===`go`?fo(x.newPath||i):`https://crates.io/crates/${x.name}`,sc(g,j)};if(await L(Object.keys(s),async t=>{let[n,r]=t.split(`\0`);try{await l(t,n,r)}catch(n){le(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=gr({repository:r.repository,homepage:r.homepage},null,t),sc(i,r.date))})),e===`npm`&&Ye){let e=(await L(Object.entries(ae),async([e,t])=>{try{return await ra(e,t,v)}catch(t){return A(`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)sc(s[t]={old:ae[t].old,new:n,oldPrint:Xn.test(a)?a.substring(0,7):a,newPrint:Xn.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=ne(c,e,l,i).cooldownOverride??o;u&&!nn(n,u,M)&&delete s[t]}})());let et=e=>ie(e.versionConfig,`actions`,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays);Se.length&&Xe.push((async()=>{await L(Map.groupBy(Se,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?!$s(e):Zn(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=et(e);return t||!!(n&&!r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===on.forgeapi?[]:e.filter($s).map(e=>e.comment)],c=[];try{s.length&&(c=await lr(t,n,i,v,o?[]:s,!!a.length))}catch(t){for(let n of e)le(`actions`,n.key,t);return}let l=[],u=new Map,d=new Map,f=new Map;for(let e of c){d.set(e.name,e);let t=zt.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=$e(e=>_o(t,n,i,e,v)),m=$e(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===on.forgeapi?`commits`:`branches`,o=await Kn(`${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 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=new Set;for(let o=0;o<20;o++){let o=Dn({},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(nn(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=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]||``:Zn(a)||(g=``),!g){delete E.actions[t];return}let{useGreatest:_,usePre:v,useRel:y,semvers:b,allowDowngrade:x,allowedVersions:S,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C}=et(e),w=Zn(g)?await h({range:g,semvers:b,useGreatest:_,usePre:v,useRel:y,allowDowngrade:x,versioning:zt,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C||void 0,now:C?M:void 0},S?l.filter(yc(`actions`,S)):l):null;if(!w){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,sc(c,await R(p(e)));return}let{tag:ne,commitSha:T,date:re}=w;if(s){if(!T||T.startsWith(a)||a.startsWith(T)){delete E.actions[t];return}c.old=a,c.new=T.substring(0,a.length),c.oldPrint=g,c.newPrint=ne}else{let e=vo(ne,a);if(e===a){delete E.actions[t];return}c.new=d.has(e)?e:ne}c.info=u,sc(c,re||(T?await R(p(T)):``))};await L(e,async e=>{try{await g(e)}catch(t){le(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(E.actions).length||delete E.actions})()),Ce.length&&Xe.push((async()=>{await L(Map.groupBy(Ce,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete E.docker[e.key];return}let n;try{let[t]=await Qo(e,v);n=t}catch(e){for(let n of t)le(`docker`,n.key,e);return}await L(t,async t=>{let r=E.docker[t.key],i=r.oldOrig||r.old,{semvers:a,usePre:o,useRel:s,allowedVersions:c,pinnedRange:l,cooldownDays:u}=ie(t.versionConfig,`docker`,e,e,t.filePin,void 0,t.fileCooldownDays),d=bc(n,`docker`,c).tags,f=!t.ref.digestOnly&&zo(i)?rs(d,i,a,u||void 0,u?M:void 0,l,o,s):null,p=f?.newTag??i;if(t.ref.digest){let e=await x(t.ref.namespace,t.ref.repo,p);if(!e||e===t.ref.digest&&!f){delete E.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!f){delete E.docker[t.key];return}r.new=p,r.info=hs(t.ref),sc(r,f?.date)},{concurrency:r})},{concurrency:r}),Object.keys(E.docker).length||delete E.docker})()),we.length&&Xe.push((async()=>{await L(we,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,allowedVersions:o,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u}=ie(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?M:void 0},f=E.make[e.key];try{if(e.kind===`go`){let t=await js(e.installPath,e.projectDir,v,c);if(!t){delete E.make[e.key];return}let[n]=await ro(t,`tool`,Z(e.version),e.projectDir,v,c),r=bc(n,`go`,o),i=kn(r,{...d,mode:`go`,range:Z(e.version)});if(!i){delete E.make[e.key];return}let a=r.newPath??ja(t,i),s=`${a}${e.installPath.slice(t.length)}`,l=pr(i,e.version);if(s===e.installPath&&l===e.version){delete E.make[e.key];return}e.newSpec=`${s}@${l}`,f.new=l,f.info=fo(a),sc(f,r.Time)}else{let[t]=await Qo(e.image.ref.fullImage,v),n=bc(t,`docker`,o).tags,r=rs(n,e.image.ref.tag,d.semvers,d.cooldownDays,d.now,d.pinnedRange,d.usePre,d.useRel);if(!r){delete E.make[e.key];return}let i=e.image.digest?await x(e.image.ref.namespace,e.image.ref.repo,r.newTag):null;if(e.image.digest&&!i){delete E.make[e.key];return}e.newSpec=ws(e.image.writtenImage,r.newTag,i),f.new=r.newTag,f.info=hs(e.image.ref),sc(f,r.date)}}catch(t){le(`make`,e.key,t)}},{concurrency:r}),Object.keys(E.make).length||delete E.make})());try{await Promise.all(Xe)}finally{await en()}if(!dc(E))return k.length?{results:{},errors:k}:{results:{},message:`All dependencies are up to date.`};let tt=(e,t)=>{let n=e.split(`
|
|
21
|
+
`),r=new Map(z(e).map(e=>[e.selector,e]));for(let[e,i]of O){let a=E.npm?.[e],o=r.get(i);if(!a||!uc(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(`
|
|
22
|
+
`)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=Qr(E[e],r.memberPath);Object.keys(t).length&&hc(r.absPath,n(r.content,t,r))}},t=new Map(Se.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]),r=n(Object.entries(E.actions??{})),i=n(Object.entries(E.docker??{})),a=Map.groupBy(we.filter(e=>e.newSpec&&E.make?.[e.key]),e=>e.key.split(`\0`)[0]);for(let n of Object.keys(E).sort((e,t)=>(e===`docker`)-+(t===`docker`)))if(Object.keys(E[n]).length){if(n===`actions`){for(let[e,n]of r){let{absPath:r,content:i}=P[e]||{};if(!r)continue;let a=Co(i,n.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:Xn.test(n.old)?n.newPrint:void 0}}));hc(r,a),P[e].content=a}continue}if(n===`docker`){for(let[e,t]of i){let n=P[e];if(!n)continue;let{absPath:r,content:i,fileType:a,workflowLines:o}=n;hc(r,(a===`dockerfile`?ss:a===`compose`?cs:(e,t)=>e.split(`
|
|
23
|
+
`).map((e,n)=>o.has(n)?ls(e,t):e).join(`
|
|
24
|
+
`))(i,Object.fromEntries(t)))}continue}if(n===`make`){for(let[e,t]of a){let n=P[e];n&&hc(n.absPath,Ms(n.content,t.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}continue}if(n===`go`){for(let e of[..._e,...j.go??[]]){let t=Qr(E[n],e.memberPath);if(!Object.keys(t).length)continue;let[r,i]=ao(e.content,t);r!==e.content&&hc(e.absPath,r),co(e.projectDir,i,hc)}for(let e of ve){let t=Object.fromEntries(Object.entries(Qr(E[n],e.memberPath)).filter(([e])=>Xr(e.split(`\0`)[0])===`replace`));if(Object.keys(t).length){let[n]=ao(e.content,t);n!==e.content&&hc(e.file,n)}}}else n===`cargo`?e(n,[...ye,...j.cargo??[]],Zs):n===`npm`?(e(n,xe,(e,t,n)=>tt(pi(e,t),n.memberPath)),e(n,[...be,...j.npm??[]],Hi)):e(n,j[n]??[],_a)}}let nt=vc(E);return k.length&&(nt.errors=k),nt}function Cc(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function wc(e){let t=Ir(e);if(t!==!1)return t===!0||Array.from(t).map(Cc)}function Tc(t){if(!t)return e();let n=g(t)?t:y(e(),t),r=!1;try{r=d(n).isDirectory()}catch{}return r?n:h(n)}function Ec(e,t){let n=Ir(e.file),r=[...n instanceof Set?n:[],...t];return{filesList:r,startDir:Tc(r[0])}}function Dc(e){let t=S({strict:!1,allowPositionals:!0,tokens:!0,options:Fr,...e!==void 0&&{args:e}}),n=Object.create(null),r=new Set,i=0;for(let[e,a]of t.tokens.entries()){if(a.kind===`positional`&&i++,a.kind!==`option`)continue;if(a.inlineValue||!a.value?.startsWith(`-`)){Fr[a.name]?.multiple?(n[a.name]??=[]).push(a.value??!0):n[a.name]=a.value??!0;continue}let o=a.value.startsWith(`--`),s=t.tokens[e+1],c=s?.kind===`positional`?s.value:void 0,l=[],u=a.value.substring(o?2:1),d=!1;if(o){let e=Lr(u);e&&(d=Fr[e].type===`string`&&c!==void 0,l.push({key:e,value:!d||c}))}else for(let e=0;e<u.length;){let t=Lr(u[e]);if(!t){l.length=0;break}if(Fr[t].type===`boolean`)l.push({key:t,value:!0}),e++;else{let n=u.substring(e+1);d=!n&&c!==void 0,l.push({key:t,value:n||!d||c}),e=u.length}}if(!l.length){Fr[a.name]?.multiple?(n[a.name]??=[]).push(a.value):n[a.name]=a.value;continue}Fr[a.name]?.multiple?n[a.name]??=[]:n[a.name]=!0,d&&r.add(i);for(let{key:e,value:t}of l)Fr[e].multiple?(n[e]??=[]).push(t):n[e]=t}return{args:n,positionals:t.positionals.filter((e,t)=>!r.has(t))}}async function Oc(e,t){let{filesList:n,startDir:r}=Ec(e,t),i=await Wr(r),a={};e.json&&(a.json=!0),e.verbose&&(a.verbose=!0),e[`no-cache`]&&(a.noCache=!0),e.update&&(a.update=!0),e.indirect&&(a.indirect=!0),e[`error-on-outdated`]&&(a.errorOnOutdated=!0),e[`error-on-unchanged`]&&(a.errorOnUnchanged=!0),e.color&&(a.color=!0,a.noColor=!1),e[`no-color`]&&(a.color=!1,a.noColor=!0),typeof e.timeout==`string`&&(a.timeout=He(e.timeout,`timeout`)),typeof e.sockets==`string`&&(a.sockets=He(e.sockets,`sockets`)),typeof e.registry==`string`&&(a.registry=e.registry),typeof e.cooldown==`string`&&(a.cooldown=Number(e.cooldown)||e.cooldown);let o=zr(e.include).map(Cc),s=zr(e.exclude).map(Cc);o.length&&(a.include=o),s.length&&(a.exclude=s);let c=zr(e.types);c.length&&(a.types=c);let l=Vr(e.pin);Object.keys(l).length&&(a.pin=l);let u=Ir(e.modes);u instanceof Set&&(a.modes=Array.from(u));for(let t of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let n=wc(e[t]);n!==void 0&&(a[t]=n)}let d=wc(e[`allow-downgrade`]);d!==void 0&&(a.allowDowngrade=d),n.length&&(a.files=n);for(let t of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(a[t]=e[t]);let f={...i,pin:void 0,...a};return Object.defineProperty(f,Pr,{value:{fileConfig:i,cliKeys:Object.keys(a)}}),f}const kc={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`},Ac=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`,`resolutions`],jc=e=>e===`package.json`||e===`pnpm-workspace.yaml`?`npm`:e===`pyproject.toml`?`pypi`:e===`Cargo.toml`?`cargo`:e===`go.mod`||e===`go.work`?`go`:/^Dockerfile(?:\..+)?$/.test(e)||/^(?:docker-|compose).*\.ya?ml$/.test(e)?`docker`:[`Makefile`,`makefile`,`GNUmakefile`].includes(e)||e.endsWith(`.mk`)?`make`:/\.ya?ml$/.test(e)?`actions`:``;function Mc(e,t){let n=Array.isArray(t.modes)?new Set(t.modes):typeof t.modes==`string`?new Set(t.modes.split(`,`)):null,r=new Set,i=new Set,a=Array.isArray(t.files)&&t.files.length?t.files.filter(e=>typeof e==`string`):[e];for(let e of a){let t=y(e);try{if(d(t).isFile()){i.add(t);continue}for(let e of l(t,{withFileTypes:!0}))if(e.isFile())i.add(_(t,e.name));else if([`.github`,`.gitea`,`.forgejo`].includes(e.name))try{for(let n of l(_(t,e.name,`workflows`),{withFileTypes:!0}))n.isFile()&&/\.ya?ml$/.test(n.name)&&i.add(_(t,e.name,`workflows`,n.name))}catch{}}catch{}}for(let e of i){let t=m(e),i=jc(t);if(!(!i||n&&!n.has(i)&&!(i===`actions`&&n.has(`docker`))))try{let i=c(e,`utf8`);if(t===`package.json`){let e;try{e=JSON.parse(i)}catch{continue}let t=Ac.flatMap(t=>Object.values(e[t]??{}));typeof e.packageManager==`string`&&t.push(e.packageManager.split(`@`,1)[0]);for(let e of t)typeof e!=`string`||/^(?:file|link|workspace):/.test(e)||(/^(?:jsr:|npm:@jsr\/)/.test(e)?r.add(`jsrapi`):/^(?:git(?:\+https?|\+ssh)?:|https?:\/\/[^/]*(?:github|gitea|forgejo)|github:|gitea:|forgejo:)/.test(e)?r.add(`forgeapi`):r.add(`registry`))}else if(t===`pnpm-workspace.yaml`)/\b(?:jsr:|npm:@jsr\/)/.test(i)&&r.add(`jsrapi`),/\b(?:catalogs?|overrides):|:\s*["']?[~^<>=]*\d/.test(i)&&r.add(`registry`);else if(t===`pyproject.toml`)/^[ \t]*["'][A-Za-z0-9][\w.-]*(?:\[[^\]]+\])?\s*(?:[<>=!~]|@)/m.test(i)&&r.add(`pypiapi`);else if(t===`Cargo.toml`)/^\s*\[(?:target\.[^\]]+\.)?(?:dev-|build-)?dependencies\]/m.test(i)&&r.add(`cargoapi`);else if(t===`go.mod`||t===`go.work`)/^\s*(?:require\s+)?\S+\s+v\d/m.test(i)&&r.add(`goproxy`);else if(/^Dockerfile(?:\..+)?$/.test(t)||/^(?:docker-|compose).*\.ya?ml$/.test(t))/^\s*(?:FROM\s+(?:--\S+\s+)*|image\s*:\s*)[^\s#]+[:@]/im.test(i)&&r.add(`dockerapi`);else if([`Makefile`,`makefile`,`GNUmakefile`].includes(t)||t.endsWith(`.mk`))/\bgo\s+install\s+\S+@v\d/.test(i)&&r.add(`goproxy`),/\b(?:docker|image)\b[^\n]*[\w./-]+:[\w.-]+/i.test(i)&&r.add(`dockerapi`);else{let e=-1;for(let t of i.split(/\r?\n/)){let i=t.search(/\S|$/);e!==-1&&(!t.trim()||i>e)||(e=/:\s*[|>](?:[1-9][+-]?|[+-][1-9]?)?\s*(?:#.*)?$/.test(t)?i:-1,(!n||n.has(`actions`))&&/^\s*(?:-\s*)?uses\s*:\s*["']?(?!\.\/|docker:\/\/)[^\s#]+@/.test(t)&&r.add(`forgeapi`),(!n||n.has(`docker`))&&/^\s*(?:(?:container|image)\s*:\s*["']?[^\s#]+[:@]|(?:-\s*)?uses\s*:\s*["']?docker:\/\/)/.test(t)&&r.add(`dockerapi`))}}}catch{}}let o=new Set;for(let n of r){let r=t[n];if(n===`registry`&&typeof r!=`string`)try{r=/^\s*registry\s*=\s*(\S+)\s*$/m.exec(c(_(e,`.npmrc`),`utf8`))?.[1]}catch{}else n===`goproxy`&&typeof r!=`string`&&(r=process.env.GOPROXY);let i=typeof r==`string`&&r?r:kc[n];if(!(n===`goproxy`&&(i=i.split(/[|,]/,1)[0].trim(),i===`off`||i===`direct`)))try{o.add(`${new URL(i).origin}/`)}catch{}}return Array.from(o)}export{ze as $,Fe as A,Le as B,so as C,ao as D,mo as E,Ae as F,L as G,je as H,H as I,He as J,Ve as K,Ne as L,I as M,z as N,Pr as O,Ie as P,F as Q,ve as R,uo as S,po as T,ke as U,$e as V,Oe as W,Ye as X,De as Y,Qe as Z,Sa as _,xc as a,Qa as b,ka as c,ro as d,Re as et,fo as f,Ha as g,Ta as h,Ec as i,Ze as it,Pe as j,Ee as k,ya as l,Ka as m,Dc as n,Me as nt,Aa as o,ja as p,Te as q,Oc as r,Xe as rt,Ea as s,Mc as t,R as tt,Za as u,ba as v,co as w,xa as x,lo as y,Ue as z};
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as e,A as t,B as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,P as f,Q as p,R as m,U as h,V as g,W as _,X as v,Y as y,Z as b,et as x,it as S,j as C,k as w,nt as T,q as E,rt as D,tt as O,z as k}from"./shared.js";export{w as anchorSpecifier,t as cargoTargetTypes,C as cargoTypes,u as commaSeparatedToArray,d as esc,f as expandDepTypes,r as forgeDirs,o as getOrSet,l as goTypes,m as highlightDiff,k as longestFirstAlternation,n as matchesAny,g as memoizeAsync,a as modeByFileName,h as nonPackageEngines,_ as npmTypes,i as pMap,c as parseDuration,E as parsePep508,s as parsePositiveInt,y as parseUvDependencies,v as patternToRegex,b as pushTo,p as serializePep508,e as textTable,x as timestamp,O as tryOrNull,T as uvTypes,D as walkUp,S as walkUpSync};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "updates",
|
|
3
|
-
"version": "18.0.
|
|
3
|
+
"version": "18.0.5",
|
|
4
4
|
"description": "CLI to update npm, uv, cargo, go, docker and actions dependencies",
|
|
5
5
|
"author": "silverwind",
|
|
6
6
|
"repository": {
|
|
@@ -45,15 +45,15 @@
|
|
|
45
45
|
"@types/node": "26.2.0",
|
|
46
46
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
47
47
|
"@vitest/coverage-v8": "4.1.11",
|
|
48
|
-
"eslint": "10.
|
|
49
|
-
"eslint-config-silverwind": "145.0.
|
|
48
|
+
"eslint": "10.9.0",
|
|
49
|
+
"eslint-config-silverwind": "145.0.1",
|
|
50
50
|
"timerel": "5.9.0",
|
|
51
51
|
"tsdown": "0.22.14",
|
|
52
52
|
"tsdown-config-silverwind": "4.0.3",
|
|
53
53
|
"typescript": "6.0.3",
|
|
54
54
|
"typescript-config-silverwind": "20.0.3",
|
|
55
55
|
"updates-config-silverwind": "4.0.5",
|
|
56
|
-
"versions": "15.3.
|
|
56
|
+
"versions": "15.3.5",
|
|
57
57
|
"vitest": "4.1.11",
|
|
58
58
|
"vitest-config-silverwind": "11.6.0"
|
|
59
59
|
},
|
package/dist/renovate.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,I as t,Q as n,et as r,it as i,nt as a,ot as o,t as s,tt as c}from"./shared.js";import{join as l}from"node:path";import{readFile as u}from"node:fs/promises";const d=[`renovate.json`,`renovate.jsonc`,`renovate.json5`,...[...c,`.gitlab`].flatMap(e=>[`${e}/renovate.json`,`${e}/renovate.jsonc`,`${e}/renovate.json5`]),`.renovaterc`,`.renovaterc.json`,`.renovaterc.jsonc`,`.renovaterc.json5`],f={y:365,year:365,years:365,mo:30,month:30,months:30,w:7,week:7,weeks:7,d:1,day:1,days:1,h:1/24,hour:1/24,hours:1/24,min:1/1440,minute:1/1440,minutes:1/1440,s:1/86400,second:1/86400,seconds:1/86400};function p(e){let t=0,n=!1,r=/(\d+(?:\.\d+)?)\s*([a-z]+)/gi,i;for(;(i=r.exec(e))!==null;){let e=f[i[2].toLowerCase()];if(e===void 0)return;t+=Number(i[1])*e,n=!0}return n?t:void 0}const m={matchPackageNames:e=>e.replace(/\{\/,\}\*\*$/,`*`),packageNames:e=>e,matchPackagePatterns:e=>e===`*`?`*`:`/${e}/`,packagePatterns:e=>e===`*`?`*`:`/${e}/`,matchPackagePrefixes:e=>`${e}*`,excludePackageNames:e=>`!${e}`,excludePackagePatterns:e=>`!/${e}/`,excludePackagePrefixes:e=>`!${e}*`},h=[`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`],g=new Set([`*`,`**`]);function _(e){let t=[];for(let[n,r]of Object.entries(e)){let e=Object.hasOwn(m,n)?m[n]:void 0;if(!e){if(n.startsWith(`match`)||n.startsWith(`exclude`)||h.includes(n))return;continue}let i=typeof r==`string`?[r]:r;if(!Array.isArray(i))return;for(let n of i){if(typeof n!=`string`||!n)return;t.push(e(n))}}return t}function v(e){let t=Object.groupBy(e,e=>e.startsWith(`!`)&&e.length>1?`negated`:`positive`);return{positive:t.positive??[],negated:t.negated?.map(e=>e.substring(1))??[]}}function y(e,t){return e instanceof RegExp&&t instanceof RegExp?e.source===t.source&&e.flags===t.flags:e===t}async function b(e){let t=(await Promise.all(d.map(async t=>{let n=l(e,...t.split(`/`));try{return{path:n,text:await u(n,`utf8`)}}catch{return null}}))).find(e=>e!==null);if(t)return t;try{let t=l(e,`package.json`),n=JSON.parse(await u(t,`utf8`));if(n&&typeof n==`object`&&n.renovate&&typeof n.renovate==`object`)return{path:t,text:JSON.stringify(n.renovate)}}catch{}}function x(e){let t=/^\/(.+)\/([a-z]*)$/.exec(e);if(!t)return e;try{return new RegExp(t[1],t[2])}catch{return e}}function S(e){return/[*?[\]{}!()|+]/.test(e)}function C(e){let t=null,n=[],i={},a=[];for(let o of e){if(!o||typeof o!=`object`)continue;let e=_(o);if(!e)continue;let{positive:s,negated:c}=v(e);if(o.enabled===!1&&!(s.length&&c.length)){if(!e.length||s.some(e=>g.has(e)))t=[];else if(!s.length)t===null&&(t=c.map(x));else for(let e of s)n.push(x(e))}else if(o.enabled===!0&&(t!==null||n.length)){if(!e.length)t=null,n=[];else if(s.length&&!c.length)for(let e of s){let r=x(e);n=n.filter(e=>!y(e,r)),t?.push(r)}}if(typeof o.minimumReleaseAge==`string`&&!c.length){let t=p(o.minimumReleaseAge);t!==void 0&&a.push({include:e.length?s.map(x):void 0,cooldown:t})}if(typeof o.allowedVersions==`string`&&r(o.allowedVersions))for(let e of s)!S(e)&&typeof x(e)==`string`&&(i[e]=o.allowedVersions)}return{allowed:t,disabled:n,pin:i,cooldowns:a}}function w(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={};if(t.cooldown&&typeof e.minimumReleaseAge==`string`){let t=p(e.minimumReleaseAge);t!==void 0&&t>0&&(n.cooldown=t)}let r=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e):[],{allowed:i,disabled:a,pin:o,cooldowns:s}=C(Array.isArray(e.packageRules)?e.packageRules:[]),c=[...r,...a];return i?.length&&(n.include=i),i&&!i.length&&c.push(`*`),c.length&&(n.exclude=c),Object.keys(o).length&&(n.pin=o,n.pinNoDowngrade=!0),t.cooldown&&s.length&&(n.overrides=s),n}const T={github:(e,t,n)=>`https://raw.githubusercontent.com/${e}/${t}/${n}`,gitlab:(e,t,n)=>`https://gitlab.com/${e}/-/raw/${t}/${n}`,gitea:(e,t,n)=>`https://gitea.com/api/v1/repos/${e}/raw/${n}?ref=${t}`,forgejo:(e,t,n)=>`https://code.forgejo.org/api/v1/repos/${e}/raw/${n}?ref=${t}`};function E(e){if(/^https?:\/\//i.test(e))return{kind:`http`,url:e};let t=e.indexOf(`>`);if(t===-1)return null;let n=e.slice(0,t);if(!Object.hasOwn(T,n))return null;let r=e.slice(t+1).replace(/\([^)]*\)\s*$/,``),i=`HEAD`,a=r.indexOf(`#`);a!==-1&&(i=r.slice(a+1)||`HEAD`,r=r.slice(0,a));let o,s,c=r.indexOf(`//`);if(c!==-1)o=r.slice(c+2),r=r.slice(0,c);else{let e=r.indexOf(`:`);e!==-1&&(s=r.slice(e+1),r=r.slice(0,e))}let l=r.replace(/\/+$/,``);return l.includes(`/`)?{kind:`forge`,forge:n,slug:l,ref:i,name:s,subpath:o}:null}const D=[`default.json`,`default.json5`,`renovate.json`,`renovate.json5`,`.renovaterc.json`,`.renovaterc`];function O(e){return/\.json[5c]?$/.test(e)?[e]:[`${e}.json`,`${e}.json5`]}function k(e,t){if(e===null)return null;let n;try{n=s(e)}catch{throw Error(`invalid JSON in ${t}`)}if(!n||typeof n!=`object`||Array.isArray(n))throw Error(`invalid preset in ${t}`);return n}async function A(e,t){if(e.kind===`http`)return k(await t(e.url),e.url);let n=T[e.forge],r=async r=>{for(let i of r){let r=n(e.slug,e.ref,i),a=k(await t(r),r);if(a)return a}return null};if(e.subpath)return r(O(e.subpath));if(!e.name)return r(D);let[i,...a]=e.name.split(`/`),o=await r(O(i));for(let e of a){let t=o&&Object.hasOwn(o,e)?o[e]:void 0;if(!t||typeof t!=`object`)throw Error(`no preset ${e} in ${i}`);o=t}return o}function j(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=Array.isArray(r)&&Array.isArray(t)?[...t,...r]:r}return n}async function M(e,t,n,r){let i={},a=typeof e.extends==`string`?[e.extends]:Array.isArray(e.extends)?e.extends:[];for(let e of a){if(typeof e!=`string`||r>=10||n.has(e))continue;let a=E(e);if(!a)continue;let o;try{o=await A(a,t)}catch(t){throw Error(`Unable to resolve renovate preset ${e}: ${t.message}`)}if(!o)throw Error(`Unable to resolve renovate preset ${e}: not found`);i=j(i,await M(o,t,new Set(n).add(e),r+1))}let{extends:o,...s}=e;return j(i,s)}async function N(e,t){let{getForgeTokens:n,getFetchOpts:r,githubApiUrl:i,urlHost:a}=await import(`./shared2.js`),o=a(e),[s]=o?await n(o,i):[],c={...r(`Bearer`,s).headers};return t&&(c[`if-none-match`]=t),c}function P({noCache:r=!1,timeout:i=1e4}={}){return async a=>{let o=r?null:await n(a),s=await N(a,o?.etag),c;for(let e=0;;e++)try{c=await fetch(a,{headers:s,signal:AbortSignal.timeout(i)});break}catch(n){if(e<2&&t(n))continue;if(o)return o.body;throw Error(`${a}: ${n.message}`)}if(c.status===304&&o)return o.body;if(c.status===404)return null;if(!c.ok){if(o)return o.body;throw Error(`${a}: HTTP ${c.status}`)}let l;try{l=await c.text()}catch(e){if(o)return o.body;throw Error(`${a}: ${e.message}`)}let u=c.headers.get(`etag`);return u&&!r&&e(a,u,l),l}}const F=i(e=>o(e,async e=>{let t=await b(e);if(!t)return null;let n;try{n=s(t.text)}catch(e){throw Error(`Unable to parse renovate config ${t.path}: ${e.message}`)}return!n||typeof n!=`object`?null:{parsed:n,path:t.path}})),I=new Map,L=new Map;async function R(e,t={},n=P()){let r=await F(e);if(!r)return{};let i=a(I,r.path,()=>M(r.parsed,n,new Set,0));return a(L,`${+!!t.cooldown}${r.path}`,async()=>w(await i,t))}export{R as loadRenovateConfig,P as makePresetFetcher};
|
package/dist/shared2.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as e,T as t,Z as n,j as r}from"./shared.js";export{t as getFetchOpts,e as getForgeTokens,r as githubApiUrl,n as urlHost};
|