updates 16.1.0 → 16.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/updates.js +1 -1
- package/package.json +2 -2
package/dist/updates.js
CHANGED
|
@@ -12,7 +12,7 @@ var wa=Object.create;var ts=Object.defineProperty;var ya=Object.getOwnPropertyDe
|
|
|
12
12
|
`,r+=n+" ";for(let l=0;l<t.col;++l)r+=" ";r+=`^
|
|
13
13
|
`}else r+=a+": "+s[o]+`
|
|
14
14
|
`}}return t.message=r+`
|
|
15
|
-
`,t}});var Vo=_((sd,ko)=>{"use strict";ko.exports=qc;var Mc=jo(),Bc=zo();function qc(t){global.Buffer&&global.Buffer.isBuffer(t)&&(t=t.toString("utf8"));let e=new Mc;try{return e.parse(t),e.finish()}catch(r){throw Bc(r,t)}}});function Zt({onlyFirst:t=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}var la=Te(Jt(),1),ha=Te(Ns(),1),ua=Te(sr(),1),G=Te(vn(),1),ca=Te(Dn(),1),fa=Te(Xn(),1);import{cwd as Gc,stdout as jc,argv as Wc,env as zt,exit as Ko}from"node:process";import{join as Jr,dirname as pa,basename as Vt,resolve as Kt}from"node:path";import{lstatSync as Xo,readFileSync as Yo,truncateSync as zc,writeFileSync as kc,accessSync as Vc}from"node:fs";var Ku=[[1e3,6e4,"sec"],[6e4,36e5,"min"],[36e5,864e5,"hour"],[864e5,6048e5,"day"],[6048e5,2628e6,"week"],[2628e6,31536e6,"month"],[31536e6,1/0,"year"]],Xu={"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"},Yu={sec:"second",min:"minute"};function Yn(t){return t instanceof Date?t.getTime():typeof t=="string"?Date.parse(t):t}function Ht(t,{now:e,noAffix:r=!1,times:s=Ku,nowThreshold:i=2e3,nowString:n="now",aliases:o=!1,aliasesMap:a=Xu,longUnits:l=!1}={}){if(t=Yn(t),e=e!==void 0?Yn(e):Date.now(),Number.isNaN(t))return"unknown";let h=!1,c=e-t;if(c<0&&(h=!0,c=Math.abs(c)),c<i)return n;let u,d;for(let A=0,y=s.length;A<y;A++){let I=s[A];if(!(c>=I[1])){u=Math.floor(c/I[0]),d=(l&&Yu[I[2]]||I[2])+(u>1?"s":"");break}}let p=`${h&&!r?"in ":""}${u} ${d}${!h&&!r?" ago":""}`;return o?a[p]??p:p}import Or from"node:process";import Qu from"node:os";import Qn from"node:tty";function de(t,e=globalThis.Deno?globalThis.Deno.args:Or.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",s=e.indexOf(r+t),i=e.indexOf("--");return s!==-1&&(i===-1||s<i)}var{env:X}=Or,Dt;de("no-color")||de("no-colors")||de("color=false")||de("color=never")?Dt=0:(de("color")||de("colors")||de("color=true")||de("color=always"))&&(Dt=1);function Zu(){if("FORCE_COLOR"in X)return X.FORCE_COLOR==="true"?1:X.FORCE_COLOR==="false"?0:X.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(X.FORCE_COLOR,10),3)}function Ju(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function ec(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let s=Zu();s!==void 0&&(Dt=s);let i=r?Dt:s;if(i===0)return 0;if(r){if(de("color=16m")||de("color=full")||de("color=truecolor"))return 3;if(de("color=256"))return 2}if("TF_BUILD"in X&&"AGENT_NAME"in X)return 1;if(t&&!e&&i===void 0)return 0;let n=i||0;if(X.TERM==="dumb")return n;if(Or.platform==="win32"){let o=Qu.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in X)return"GITHUB_ACTIONS"in X||"GITEA_ACTIONS"in X?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(o=>o in X)||X.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in X)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(X.TEAMCITY_VERSION)?1:0;if(X.COLORTERM==="truecolor"||X.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in X){let o=Number.parseInt((X.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(X.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(X.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(X.TERM)||"COLORTERM"in X?1:n}function Zn(t,e={}){let r=ec(t,{streamIsTTY:t&&t.isTTY,...e});return Ju(r)}var tc={stdout:Zn({isTTY:Qn.isatty(1)}),stderr:Zn({isTTY:Qn.isatty(2)})},Jn=tc;var eo=!0;function to(){eo=!1}function vr(t,e,r){let s=t.join(" ");return eo?`\x1B[${e}m${s}\x1B[${r}m`:s}var Pt=(...t)=>vr(t,31,39),Ut=(...t)=>vr(t,32,39);var ro=(...t)=>vr(t,35,39);var rc=t=>{let e=typeof t;return t!==null&&(e==="object"||e==="function")};var Ir=new Set(["__proto__","prototype","constructor"]),sc=new Set("0123456789");function ic(t){let e=[],r="",s="start",i=!1;for(let n of t)switch(n){case"\\":{if(s==="index")throw new Error("Invalid character in an index");if(s==="indexEnd")throw new Error("Invalid character after an index");i&&(r+=n),s="property",i=!i;break}case".":{if(s==="index")throw new Error("Invalid character in an index");if(s==="indexEnd"){s="property";break}if(i){i=!1,r+=n;break}if(Ir.has(r))return[];e.push(r),r="",s="property";break}case"[":{if(s==="index")throw new Error("Invalid character in an index");if(s==="indexEnd"){s="index";break}if(i){i=!1,r+=n;break}if(s==="property"){if(Ir.has(r))return[];e.push(r),r=""}s="index";break}case"]":{if(s==="index"){e.push(Number.parseInt(r,10)),r="",s="indexEnd";break}if(s==="indexEnd")throw new Error("Invalid character after an index")}default:{if(s==="index"&&!sc.has(n))throw new Error("Invalid character in an index");if(s==="indexEnd")throw new Error("Invalid character after an index");s==="start"&&(s="property"),i&&(i=!1,r+="\\"),r+=n}}switch(i&&(r+="\\"),s){case"property":{if(Ir.has(r))return[];e.push(r);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function nc(t,e){if(typeof e!="number"&&Array.isArray(t)){let r=Number.parseInt(e,10);return Number.isInteger(r)&&t[r]===t[e]}return!1}function so(t,e,r){if(!rc(t)||typeof e!="string")return r===void 0?t:r;let s=ic(e);if(s.length===0)return r;for(let i=0;i<s.length;i++){let n=s[i];if(nc(t,n)?t=i===s.length-1?void 0:null:t=t[n],t==null){if(i!==s.length-1)return r;break}}return t===void 0?r:t}var Nr=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},io=t=>globalThis.DOMException===void 0?new Nr(t):new DOMException(t),no=t=>{let e=t.reason===void 0?io("This operation was aborted."):t.reason;return e instanceof Error?e:io(e)};async function Lr(t,e,{concurrency:r=Number.POSITIVE_INFINITY,stopOnError:s=!0,signal:i}={}){return new Promise((n,o)=>{if(t[Symbol.iterator]===void 0&&t[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof t})`);if(typeof e!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(r)||r===Number.POSITIVE_INFINITY)&&r>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${r}\` (${typeof r})`);let a=[],l=[],h=new Map,c=!1,u=!1,d=!1,p=0,A=0,y=t[Symbol.iterator]===void 0?t[Symbol.asyncIterator]():t[Symbol.iterator](),I=C=>{c=!0,u=!0,o(C)};i&&(i.aborted&&I(no(i)),i.addEventListener("abort",()=>{I(no(i))}));let E=async()=>{if(u)return;let C=await y.next(),N=A;if(A++,C.done){if(d=!0,p===0&&!u){if(!s&&l.length>0){I(new AggregateError(l));return}if(u=!0,h.size===0){n(a);return}let w=[];for(let[S,H]of a.entries())h.get(S)!==oo&&w.push(H);n(w)}return}p++,(async()=>{try{let w=await C.value;if(u)return;let S=await e(w,N);S===oo&&h.set(N,S),a[N]=S,p--,await E()}catch(w){if(s)I(w);else{l.push(w),p--;try{await E()}catch(S){I(S)}}}})()};(async()=>{for(let C=0;C<r;C++){try{await E()}catch(N){I(N);break}if(d||c)break}})()})}var oo=Symbol("skip");async function Ft(t,e){return Lr(t,r=>r(),e)}function We(t,e){var r=0,s,i;e=e||{};function n(){var o=s,a=arguments.length,l,h;e:for(;o;){if(o.args.length!==arguments.length){o=o.next;continue}for(h=0;h<a;h++)if(o.args[h]!==arguments[h]){o=o.next;continue e}return o!==s&&(o===i&&(i=o.prev),o.prev.next=o.next,o.next&&(o.next.prev=o.prev),o.next=s,o.prev=null,s.prev=o,s=o),o.val}for(l=new Array(a),h=0;h<a;h++)l[h]=arguments[h];return o={args:l,val:t.apply(null,l)},s?(s.prev=o,o.next=s):i=o,r===e.maxSize?(i=i.prev,i.next=null):r++,s=o,o.val}return n.clear=function(){s=null,i=null,r=0},n}var Yr=Te(vo(),1),Kc=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,Xc=/^([^/]+)\/([^/#]+)?.*?\/([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,Qr=/^[0-9a-f]{7,}$/i,Qo=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,Xt=t=>t.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&"),Yc=We(fa.default.fromUrl),kr=We(ha.default),Yt=We(t=>t.endsWith("/")?t.substring(0,t.length-1):t),da="16.1.0",we="\0",B=(0,la.default)(Wc.slice(2),{boolean:["E","error-on-outdated","U","error-on-unchanged","h","help","j","json","n","no-color","u","update","v","version","V","verbose"],string:["d","allow-downgrade","f","file","g","greatest","m","minor","P","patch","p","prerelease","R","release","r","registry","t","types","githubapi","pypiapi"],alias:{d:"allow-downgrade",E:"error-on-outdated",U:"error-on-unchanged",e:"exclude",f:"file",g:"greatest",h:"help",i:"include",j:"json",m:"minor",n:"no-color",P:"patch",p:"prerelease",r:"registry",R:"release",s:"semver",S:"sockets",t:"types",u:"update",v:"version",V:"verbose"}});(B["no-color"]||!Jn.stdout)&&to();var Ve=pt(De(B.greatest)),Vr=pt(De(B.prerelease)),Kr=pt(De(B.release)),Zo=pt(De(B.patch)),Jo=pt(De(B.minor)),ea=De(B["allow-downgrade"]),ma=B.githubapi?Yt(B.githubapi):"https://api.github.com",Qc=B.pypiapi?Yt(B.pypiapi):"https://pypi.org",kt=t=>t.replace(/^v/,"");function He(t,e){for(let r of e instanceof Set?e:[])if(r.test(t))return!0;return!1}var Zc=We((t,e)=>{let r=e[`${t}:registry`]||e.registry;return r.endsWith("/")?r:`${r}/`});function ga(t,e){let r=Jr(e,t);try{return Vc(r),r}catch{}let s=pa(e);return s===e?null:ga(t,s)}function Jc(t,e,r,s){if(t.startsWith("@")){let i=(/@[a-z0-9][\w-.]+/.exec(t)||[])[0],n=Yt(Zc(i,s));if(n!==e)try{let o=kr(n,r);if(o?.token)return[o,n]}catch{}return[kr(e,r),e]}else return[kr(e,r),e]}var Ea=We((t,e,r)=>({...Object.keys(t).length&&{agentOpts:t},headers:{"user-agent":`updates/${da}`,...r&&{Authorization:`${e} ${r}`}}}));async function es(t,e){B.verbose&&console.error(`${ro("fetch")} ${t}`);let r=await fetch(t,e);return B.verbose&&console.error(`${r.ok?Ut("done"):Pt("error")} ${t}`),r}async function ef(t,e,r,s,i,n){let[o,a]=Jc(t,r,i,n),h=(e==="resolutions"?Vt(t):t).replace(/\//g,"%2f"),c=`${a}/${h}`,u=await es(c,Ea(s,o?.type,o?.token));if(u?.ok)return[await u.json(),e,a,t];throw u?.status&&u?.statusText?new Error(`Received ${u.status} ${u.statusText} for ${t} from ${a}`):new Error(`Unable to fetch ${t} from ${a}`)}async function tf(t,e,r){let s=`${Qc}/pypi/${t}/json`,i=await es(s,Ea(r));if(i?.ok)return[await i.json(),e,null,t];throw i?.status&&i?.statusText?new Error(`Received ${i.status} ${i.statusText} for ${t} from PyPi`):new Error(`Unable to fetch ${t} from PyPi`)}function ta({repository:t,homepage:e,info:r},s,i){r&&(t=r.project_urls.repository||r.project_urls.Repository||r.project_urls.repo||r.project_urls.Repo||r.project_urls.source||r.project_urls.Source||r.project_urls["source code"]||r.project_urls["Source Code"]||r.project_urls.homepage||r.project_urls.Homepage||`https://pypi.org/project/${i}/`);let n;if(s==="https://npm.pkg.github.com")return`https://github.com/${i.replace(/^@/,"")}`;if(t){let o=typeof t=="string"?t:t.url,a=Yc(o),l=a?.browse?.();l&&(n=l),n&&t.directory&&a.treepath&&(n=`${n}/${a.treepath}/HEAD/${t.directory}`),!n&&t?.url&&/^https?:/.test(t.url)&&(n=t.url),!n&&o&&(n=o)}return n||e||""}function ra(t){console.info(B.json?JSON.stringify({message:t}):t),Ke()}function Ke(t){if(t){let e=t.stack??t.message;console.info(B.json?JSON.stringify({error:e}):Pt(e))}process.exit(t?1:0)}function rf(t={}){for(let r of Object.keys(t))for(let s of Object.values(t[r]))"oldPrint"in s&&(s.old=s.oldPrint,delete s.oldPrint),"newPrint"in s&&(s.new=s.newPrint,delete s.newPrint),"oldOriginal"in s&&(s.old=s.oldOriginal,delete s.oldOriginal);let e=0;for(let r of Object.keys(t))e+=Object.keys(t[r]).length;if(B.json){let r={results:{}};for(let s of Object.keys(t))for(let[i,n]of Object.entries(t[s])){let[o,a]=i.split(we);r.results[s]||(r.results[s]={}),r.results[s][o]||(r.results[s][o]={}),r.results[s][o][a]=n}console.info(JSON.stringify(r))}else e&&console.info(nf(t));return B["error-on-outdated"]?e?2:0:B["error-on-unchanged"]?e?0:2:0}async function sf(t,e){let{platform:r}=await import("node:os"),s=r()==="win32";s&&zc(t,0),kc(t,e,s?{flag:"r+"}:void 0)}function sa(t,e,r){if(t===e)return t;let s=t.split(/\./),i=e.split(/\./),n=/^[0-9a-zA-Z-.]+$/,o="";for(let a=0;a<s.length;a++)if(s[a]!==i[a]){n.test(s[a])?o+=r(s.slice(a).join(".")):o+=s[a].split("").map(l=>n.test(l)?r(l):l).join("")+r(`.${s.slice(a+1).join(".")}`);break}else o+=`${s[a]}.`;return o}function nf(t){let e=[["NAME","OLD","NEW","AGE","INFO"]],r=new Set;for(let s of Object.keys(t))for(let[i,n]of Object.entries(t[s])){let o=i.split(we)[1],a=`${s}|${o}`;r.has(a)||(r.add(a),e.push([o,sa(n.old,n.new,Pt),sa(n.new,n.old,Ut),n.age||"",n.info]))}return(0,ca.default)(e,{hsep:" ",stringLength:s=>s.replace(Zt(),"").length})}function of(t,e){let r=t;for(let s of Object.keys(e)){let i=s.split(we)[1],n=e[s].oldOriginal||e[s].old,o=new RegExp(`"${Xt(i)}": *"${Xt(n)}"`,"g");r=r.replace(o,`"${i}": "${e[s].new}"`)}return r}function af(t,e){let r=t;for(let s of Object.keys(e)){let i=s.split(we)[1],n=e[s].oldOriginal||e[s].old,o=new RegExp(`${Xt(i)} *= *"${Xt(n)}"`,"g");r=r.replace(o,`${i} = "${e[s].new}"`)}return r}function lf(t,e){return t.replace(/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g,e)}function Xr(t){let e=(0,G.parse)(t);return e?!!e.prerelease.length:!1}function Aa(t){return/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(t)}function hf(t){try{return(0,G.coerce)(t).version}catch{return null}}function uf(t,e,{range:r,semvers:s,usePre:i,useRel:n,useGreatest:o}={}){let a=hf(r),l=0;s=new Set(s),i=Aa(r)||i,i&&(s.add("prerelease"),s.has("patch")&&s.add("prepatch"),s.has("minor")&&s.add("preminor"),s.has("major")&&s.add("premajor"));for(let h of e){let c=(0,G.parse)(h);if(c.prerelease.length&&(!i||n))continue;let u=(0,G.diff)(a,c.version);if(!(!u||!s.has(u)))if(o||!("time"in t))(0,G.gte)((0,G.coerce)(c.version).version,a)&&(a=c.version);else{let d=new Date(t.time[h]).getTime();d>=0&&d>l&&(a=c.version,l=d)}}return a||null}function cf(t,{mode:e,range:r,useGreatest:s,useRel:i,usePre:n,semvers:o}={}){if(r==="*"||r.includes("||"))return null;let a=Object.keys(e==="pypi"?t.releases:t.versions).filter(h=>(0,G.valid)(h)),l=uf(t,a,{range:r,semvers:o,usePre:n,useRel:i,useGreatest:s});if(s)return l;{let h,c;e==="pypi"?(c=t.info.version,h=(0,G.coerce)(t.info.version).version):h=t["dist-tags"].latest;let u=(0,G.coerce)(r).version,d=Aa(r),p=Xr(l),A=Xr(h),y=(0,G.gt)(l,u);if(!i&&n||d&&p||i&&!y&&d&&!p||d&&!p&&y)return l;if(d&&!p&&!y)return null;let I=(0,G.diff)(u,h);return I&&I!=="prerelease"&&!o.has(I.replace(/^pre/,""))||i&&Xr(h)?l:(0,G.lt)(h,u)&&!A?ea===!0||He(t.name,ea)?h:null:c??h}}function Ra(t){let e={},r=zt.UPDATES_GITHUB_API_TOKEN||zt.GITHUB_API_TOKEN||zt.GH_TOKEN||zt.HOMEBREW_GITHUB_API_TOKEN;return r&&(e.headers={Authorization:`Bearer ${r}`}),es(t,e)}async function ff(t,e){let r=`${ma}/repos/${t}/${e}/commits`,s=await Ra(r);if(!s||!s.ok)return;let i=await s.json(),{sha:n,commit:o}=i[0];return{hash:n,commit:o}}async function pf(t,e){let r=await Ra(`${ma}/repos/${t}/${e}/git/refs/tags`);return!r||!r.ok?void 0:(await r.json()).map(n=>n.ref.replace(/^refs\/tags\//,""))}function df(t,e,r){let s=kt(e);if((0,G.valid)(s))if(r){let i=e,n=kt(e);for(let o of t){let a=kt(o);(0,G.valid)(a)&&(!i||(0,G.gt)(a,n))&&(i=o,n=a)}if((0,G.neq)(s,n))return i}else{let i=t.at(-1),n=kt(i);if(!(0,G.valid)(n))return;if((0,G.neq)(s,n))return i}}async function mf([t,e],{useGreatest:r}={}){let s=e.old.replace(Kc,""),[i,n,o,a]=Xc.exec(s)||[];if(!(!n||!o||!a))if(Qr.test(a)){let{hash:l,commit:h}=await ff(n,o);if(!l?.length)return;let c=h?.committer?.date??h?.author?.date,u=l.substring(0,a.length);if(a!==u){let d=e.old.replace(a,u);return{key:t,newRange:d,user:n,repo:o,oldRef:a,newRef:u,newDate:c}}}else{let l=await pf(n,o),h=df(l,a,r);if(h)return{key:t,newRange:h,user:n,repo:o,oldRef:a,newRef:h}}}function gf(t){let e=t.match(Qo);return e?.length!==1?t:t.replace(Qo,(0,G.coerce)(e[0]))}function De(t){return t===void 0?!1:t===""?!0:typeof t=="string"?t.includes(",")?new Set(t.split(",")):new Set([t]):Array.isArray(t)?new Set(t):!1}function ia(t){return Array.from(t.matchAll(/(----BEGIN CERT[^]+?IFICATE----)/g),e=>e[0])}async function na(t=[]){return[...(await import("node:tls")).rootCertificates,...t]}function Zr(t,e){return e?/\/.+\//.test(t)?new RegExp(t.slice(1,-1)):Yr.default.makeRe(t):t instanceof RegExp?t:Yr.default.makeRe(t)}function pt(t){if(t instanceof Set){let e=new Set;for(let r of t)e.add(Zr(r,!0));return e}return t}function oa(t,e){let r=new Set;for(let s of t||[])r.add(Zr(s,!0));for(let s of e||[])r.add(Zr(s,!1));return r}function aa(t,e,{include:r,exclude:s}){if(e==="pypi"&&t==="python")return!1;if(!r.size&&!s.size)return!0;for(let i of s)if(i.test(t))return!1;for(let i of r)if(i.test(t))return!0;return!r.size}function Ef(t){let e=new Set;if(t)for(let r of t){let s;try{s=Xo(r)}catch(i){throw new Error(`Unable to open ${r}: ${i.message}`)}if(s?.isFile())e.add(Kt(r));else if(s?.isDirectory())for(let i of["package.json","pyproject.toml"]){let n=Jr(r,i),o;try{o=Xo(n)}catch{}o?.isFile()&&e.add(Kt(n))}else throw new Error(`${r} is neither a file nor directory`)}else for(let r of["package.json","pyproject.toml"]){let s=ga(r,Gc());s&&e.add(Kt(s))}return e}async function Af(){for(let A of[process.stdout,process.stderr])A?._handle?.setBlocking?.(!0);let t=96,e=typeof B.sockets=="number"?parseInt(B.sockets):t,{help:r,version:s,file:i,types:n,update:o}=B;r&&(jc.write(`usage: updates [options]
|
|
15
|
+
`,t}});var Vo=_((sd,ko)=>{"use strict";ko.exports=qc;var Mc=jo(),Bc=zo();function qc(t){global.Buffer&&global.Buffer.isBuffer(t)&&(t=t.toString("utf8"));let e=new Mc;try{return e.parse(t),e.finish()}catch(r){throw Bc(r,t)}}});function Zt({onlyFirst:t=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}var la=Te(Jt(),1),ha=Te(Ns(),1),ua=Te(sr(),1),G=Te(vn(),1),ca=Te(Dn(),1),fa=Te(Xn(),1);import{cwd as Gc,stdout as jc,argv as Wc,env as zt,exit as Ko}from"node:process";import{join as Jr,dirname as pa,basename as Vt,resolve as Kt}from"node:path";import{lstatSync as Xo,readFileSync as Yo,truncateSync as zc,writeFileSync as kc,accessSync as Vc}from"node:fs";var Ku=[[1e3,6e4,"sec"],[6e4,36e5,"min"],[36e5,864e5,"hour"],[864e5,6048e5,"day"],[6048e5,2628e6,"week"],[2628e6,31536e6,"month"],[31536e6,1/0,"year"]],Xu={"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"},Yu={sec:"second",min:"minute"};function Yn(t){return t instanceof Date?t.getTime():typeof t=="string"?Date.parse(t):t}function Ht(t,{now:e,noAffix:r=!1,times:s=Ku,nowThreshold:i=2e3,nowString:n="now",aliases:o=!1,aliasesMap:a=Xu,longUnits:l=!1}={}){if(t=Yn(t),e=e!==void 0?Yn(e):Date.now(),Number.isNaN(t))return"unknown";let h=!1,c=e-t;if(c<0&&(h=!0,c=Math.abs(c)),c<i)return n;let u,d;for(let A=0,y=s.length;A<y;A++){let I=s[A];if(!(c>=I[1])){u=Math.floor(c/I[0]),d=(l&&Yu[I[2]]||I[2])+(u>1?"s":"");break}}let p=`${h&&!r?"in ":""}${u} ${d}${!h&&!r?" ago":""}`;return o?a[p]??p:p}import Or from"node:process";import Qu from"node:os";import Qn from"node:tty";function de(t,e=globalThis.Deno?globalThis.Deno.args:Or.argv){let r=t.startsWith("-")?"":t.length===1?"-":"--",s=e.indexOf(r+t),i=e.indexOf("--");return s!==-1&&(i===-1||s<i)}var{env:X}=Or,Dt;de("no-color")||de("no-colors")||de("color=false")||de("color=never")?Dt=0:(de("color")||de("colors")||de("color=true")||de("color=always"))&&(Dt=1);function Zu(){if("FORCE_COLOR"in X)return X.FORCE_COLOR==="true"?1:X.FORCE_COLOR==="false"?0:X.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(X.FORCE_COLOR,10),3)}function Ju(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function ec(t,{streamIsTTY:e,sniffFlags:r=!0}={}){let s=Zu();s!==void 0&&(Dt=s);let i=r?Dt:s;if(i===0)return 0;if(r){if(de("color=16m")||de("color=full")||de("color=truecolor"))return 3;if(de("color=256"))return 2}if("TF_BUILD"in X&&"AGENT_NAME"in X)return 1;if(t&&!e&&i===void 0)return 0;let n=i||0;if(X.TERM==="dumb")return n;if(Or.platform==="win32"){let o=Qu.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in X)return"GITHUB_ACTIONS"in X||"GITEA_ACTIONS"in X?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(o=>o in X)||X.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in X)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(X.TEAMCITY_VERSION)?1:0;if(X.COLORTERM==="truecolor"||X.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in X){let o=Number.parseInt((X.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(X.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(X.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(X.TERM)||"COLORTERM"in X?1:n}function Zn(t,e={}){let r=ec(t,{streamIsTTY:t&&t.isTTY,...e});return Ju(r)}var tc={stdout:Zn({isTTY:Qn.isatty(1)}),stderr:Zn({isTTY:Qn.isatty(2)})},Jn=tc;var eo=!0;function to(){eo=!1}function vr(t,e,r){let s=t.join(" ");return eo?`\x1B[${e}m${s}\x1B[${r}m`:s}var Pt=(...t)=>vr(t,31,39),Ut=(...t)=>vr(t,32,39);var ro=(...t)=>vr(t,35,39);var rc=t=>{let e=typeof t;return t!==null&&(e==="object"||e==="function")};var Ir=new Set(["__proto__","prototype","constructor"]),sc=new Set("0123456789");function ic(t){let e=[],r="",s="start",i=!1;for(let n of t)switch(n){case"\\":{if(s==="index")throw new Error("Invalid character in an index");if(s==="indexEnd")throw new Error("Invalid character after an index");i&&(r+=n),s="property",i=!i;break}case".":{if(s==="index")throw new Error("Invalid character in an index");if(s==="indexEnd"){s="property";break}if(i){i=!1,r+=n;break}if(Ir.has(r))return[];e.push(r),r="",s="property";break}case"[":{if(s==="index")throw new Error("Invalid character in an index");if(s==="indexEnd"){s="index";break}if(i){i=!1,r+=n;break}if(s==="property"){if(Ir.has(r))return[];e.push(r),r=""}s="index";break}case"]":{if(s==="index"){e.push(Number.parseInt(r,10)),r="",s="indexEnd";break}if(s==="indexEnd")throw new Error("Invalid character after an index")}default:{if(s==="index"&&!sc.has(n))throw new Error("Invalid character in an index");if(s==="indexEnd")throw new Error("Invalid character after an index");s==="start"&&(s="property"),i&&(i=!1,r+="\\"),r+=n}}switch(i&&(r+="\\"),s){case"property":{if(Ir.has(r))return[];e.push(r);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}function nc(t,e){if(typeof e!="number"&&Array.isArray(t)){let r=Number.parseInt(e,10);return Number.isInteger(r)&&t[r]===t[e]}return!1}function so(t,e,r){if(!rc(t)||typeof e!="string")return r===void 0?t:r;let s=ic(e);if(s.length===0)return r;for(let i=0;i<s.length;i++){let n=s[i];if(nc(t,n)?t=i===s.length-1?void 0:null:t=t[n],t==null){if(i!==s.length-1)return r;break}}return t===void 0?r:t}var Nr=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},io=t=>globalThis.DOMException===void 0?new Nr(t):new DOMException(t),no=t=>{let e=t.reason===void 0?io("This operation was aborted."):t.reason;return e instanceof Error?e:io(e)};async function Lr(t,e,{concurrency:r=Number.POSITIVE_INFINITY,stopOnError:s=!0,signal:i}={}){return new Promise((n,o)=>{if(t[Symbol.iterator]===void 0&&t[Symbol.asyncIterator]===void 0)throw new TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof t})`);if(typeof e!="function")throw new TypeError("Mapper function is required");if(!((Number.isSafeInteger(r)||r===Number.POSITIVE_INFINITY)&&r>=1))throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${r}\` (${typeof r})`);let a=[],l=[],h=new Map,c=!1,u=!1,d=!1,p=0,A=0,y=t[Symbol.iterator]===void 0?t[Symbol.asyncIterator]():t[Symbol.iterator](),I=C=>{c=!0,u=!0,o(C)};i&&(i.aborted&&I(no(i)),i.addEventListener("abort",()=>{I(no(i))}));let E=async()=>{if(u)return;let C=await y.next(),N=A;if(A++,C.done){if(d=!0,p===0&&!u){if(!s&&l.length>0){I(new AggregateError(l));return}if(u=!0,h.size===0){n(a);return}let w=[];for(let[S,H]of a.entries())h.get(S)!==oo&&w.push(H);n(w)}return}p++,(async()=>{try{let w=await C.value;if(u)return;let S=await e(w,N);S===oo&&h.set(N,S),a[N]=S,p--,await E()}catch(w){if(s)I(w);else{l.push(w),p--;try{await E()}catch(S){I(S)}}}})()};(async()=>{for(let C=0;C<r;C++){try{await E()}catch(N){I(N);break}if(d||c)break}})()})}var oo=Symbol("skip");async function Ft(t,e){return Lr(t,r=>r(),e)}function We(t,e){var r=0,s,i;e=e||{};function n(){var o=s,a=arguments.length,l,h;e:for(;o;){if(o.args.length!==arguments.length){o=o.next;continue}for(h=0;h<a;h++)if(o.args[h]!==arguments[h]){o=o.next;continue e}return o!==s&&(o===i&&(i=o.prev),o.prev.next=o.next,o.next&&(o.next.prev=o.prev),o.next=s,o.prev=null,s.prev=o,s=o),o.val}for(l=new Array(a),h=0;h<a;h++)l[h]=arguments[h];return o={args:l,val:t.apply(null,l)},s?(s.prev=o,o.next=s):i=o,r===e.maxSize?(i=i.prev,i.next=null):r++,s=o,o.val}return n.clear=function(){s=null,i=null,r=0},n}var Yr=Te(vo(),1),Kc=/^.*?:\/\/(.*?@)?(github\.com[:/])/i,Xc=/^([^/]+)\/([^/#]+)?.*?\/([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i,Qr=/^[0-9a-f]{7,}$/i,Qo=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,Xt=t=>t.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&"),Yc=We(fa.default.fromUrl),kr=We(ha.default),Yt=We(t=>t.endsWith("/")?t.substring(0,t.length-1):t),da="16.1.1",we="\0",B=(0,la.default)(Wc.slice(2),{boolean:["E","error-on-outdated","U","error-on-unchanged","h","help","j","json","n","no-color","u","update","v","version","V","verbose"],string:["d","allow-downgrade","f","file","g","greatest","m","minor","P","patch","p","prerelease","R","release","r","registry","t","types","githubapi","pypiapi"],alias:{d:"allow-downgrade",E:"error-on-outdated",U:"error-on-unchanged",e:"exclude",f:"file",g:"greatest",h:"help",i:"include",j:"json",m:"minor",n:"no-color",P:"patch",p:"prerelease",r:"registry",R:"release",s:"semver",S:"sockets",t:"types",u:"update",v:"version",V:"verbose"}});(B["no-color"]||!Jn.stdout)&&to();var Ve=pt(De(B.greatest)),Vr=pt(De(B.prerelease)),Kr=pt(De(B.release)),Zo=pt(De(B.patch)),Jo=pt(De(B.minor)),ea=De(B["allow-downgrade"]),ma=B.githubapi?Yt(B.githubapi):"https://api.github.com",Qc=B.pypiapi?Yt(B.pypiapi):"https://pypi.org",kt=t=>t.replace(/^v/,"");function He(t,e){for(let r of e instanceof Set?e:[])if(r.test(t))return!0;return!1}var Zc=We((t,e)=>{let r=e[`${t}:registry`]||e.registry;return r.endsWith("/")?r:`${r}/`});function ga(t,e){let r=Jr(e,t);try{return Vc(r),r}catch{}let s=pa(e);return s===e?null:ga(t,s)}function Jc(t,e,r,s){if(t.startsWith("@")){let i=(/@[a-z0-9][\w-.]+/.exec(t)||[])[0],n=Yt(Zc(i,s));if(n!==e)try{let o=kr(n,r);if(o?.token)return[o,n]}catch{}return[kr(e,r),e]}else return[kr(e,r),e]}var Ea=We((t,e,r)=>({...Object.keys(t).length&&{agentOpts:t},headers:{"user-agent":`updates/${da}`,...r&&{Authorization:`${e} ${r}`}}}));async function es(t,e){B.verbose&&console.error(`${ro("fetch")} ${t}`);let r=await fetch(t,e);return B.verbose&&console.error(`${r.ok?Ut("done"):Pt("error")} ${t}`),r}async function ef(t,e,r,s,i,n){let[o,a]=Jc(t,r,i,n),h=(e==="resolutions"?Vt(t):t).replace(/\//g,"%2f"),c=`${a}/${h}`,u=await es(c,Ea(s,o?.type,o?.token));if(u?.ok)return[await u.json(),e,a,t];throw u?.status&&u?.statusText?new Error(`Received ${u.status} ${u.statusText} for ${t} from ${a}`):new Error(`Unable to fetch ${t} from ${a}`)}async function tf(t,e,r){let s=`${Qc}/pypi/${t}/json`,i=await es(s,Ea(r));if(i?.ok)return[await i.json(),e,null,t];throw i?.status&&i?.statusText?new Error(`Received ${i.status} ${i.statusText} for ${t} from PyPi`):new Error(`Unable to fetch ${t} from PyPi`)}function ta({repository:t,homepage:e,info:r},s,i){r&&(t=r.project_urls.repository||r.project_urls.Repository||r.project_urls.repo||r.project_urls.Repo||r.project_urls.source||r.project_urls.Source||r.project_urls["source code"]||r.project_urls["Source Code"]||r.project_urls.homepage||r.project_urls.Homepage||`https://pypi.org/project/${i}/`);let n;if(s==="https://npm.pkg.github.com")return`https://github.com/${i.replace(/^@/,"")}`;if(t){let o=typeof t=="string"?t:t.url,a=Yc(o),l=a?.browse?.();l&&(n=l),n&&t.directory&&a.treepath&&(n=`${n}/${a.treepath}/HEAD/${t.directory}`),!n&&t?.url&&/^https?:/.test(t.url)&&(n=t.url),!n&&o&&(n=o)}return n||e||""}function ra(t){console.info(B.json?JSON.stringify({message:t}):t),Ke()}function Ke(t){if(t){let e=t.stack??t.message;console.info(B.json?JSON.stringify({error:e}):Pt(e))}process.exit(t?1:0)}function rf(t={}){for(let r of Object.keys(t))for(let s of Object.values(t[r]))"oldPrint"in s&&(s.old=s.oldPrint,delete s.oldPrint),"newPrint"in s&&(s.new=s.newPrint,delete s.newPrint),"oldOriginal"in s&&(s.old=s.oldOriginal,delete s.oldOriginal);let e=0;for(let r of Object.keys(t))e+=Object.keys(t[r]).length;if(B.json){let r={results:{}};for(let s of Object.keys(t))for(let[i,n]of Object.entries(t[s])){let[o,a]=i.split(we);r.results[s]||(r.results[s]={}),r.results[s][o]||(r.results[s][o]={}),r.results[s][o][a]=n}console.info(JSON.stringify(r))}else e&&console.info(nf(t));return B["error-on-outdated"]?e?2:0:B["error-on-unchanged"]?e?0:2:0}async function sf(t,e){let{platform:r}=await import("node:os"),s=r()==="win32";s&&zc(t,0),kc(t,e,s?{flag:"r+"}:void 0)}function sa(t,e,r){if(t===e)return t;let s=t.split(/\./),i=e.split(/\./),n=/^[0-9a-zA-Z-.]+$/,o="";for(let a=0;a<s.length;a++)if(s[a]!==i[a]){n.test(s[a])?o+=r(s.slice(a).join(".")):o+=s[a].split("").map(l=>n.test(l)?r(l):l).join("")+r(`.${s.slice(a+1).join(".")}`);break}else o+=`${s[a]}.`;return o}function nf(t){let e=[["NAME","OLD","NEW","AGE","INFO"]],r=new Set;for(let s of Object.keys(t))for(let[i,n]of Object.entries(t[s])){let o=i.split(we)[1],a=`${s}|${o}`;r.has(a)||(r.add(a),e.push([o,sa(n.old,n.new,Pt),sa(n.new,n.old,Ut),n.age||"",n.info]))}return(0,ca.default)(e,{hsep:" ",stringLength:s=>s.replace(Zt(),"").length})}function of(t,e){let r=t;for(let s of Object.keys(e)){let i=s.split(we)[1],n=e[s].oldOriginal||e[s].old,o=new RegExp(`"${Xt(i)}": *"${Xt(n)}"`,"g");r=r.replace(o,`"${i}": "${e[s].new}"`)}return r}function af(t,e){let r=t;for(let s of Object.keys(e)){let i=s.split(we)[1],n=e[s].oldOriginal||e[s].old,o=new RegExp(`${Xt(i)} *= *"${Xt(n)}"`,"g");r=r.replace(o,`${i} = "${e[s].new}"`)}return r}function lf(t,e){return t.replace(/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g,e)}function Xr(t){let e=(0,G.parse)(t);return e?!!e.prerelease.length:!1}function Aa(t){return/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(t)}function hf(t){try{return(0,G.coerce)(t).version}catch{return null}}function uf(t,e,{range:r,semvers:s,usePre:i,useRel:n,useGreatest:o}={}){let a=hf(r),l=0;s=new Set(s),i=Aa(r)||i,i&&(s.add("prerelease"),s.has("patch")&&s.add("prepatch"),s.has("minor")&&s.add("preminor"),s.has("major")&&s.add("premajor"));for(let h of e){let c=(0,G.parse)(h);if(c.prerelease.length&&(!i||n))continue;let u=(0,G.diff)(a,c.version);if(!(!u||!s.has(u)))if(o||!("time"in t))(0,G.gte)((0,G.coerce)(c.version).version,a)&&(a=c.version);else{let d=new Date(t.time[h]).getTime();d>=0&&d>l&&(a=c.version,l=d)}}return a||null}function cf(t,{mode:e,range:r,useGreatest:s,useRel:i,usePre:n,semvers:o}={}){if(r==="*"||r.includes("||"))return null;let a=Object.keys(e==="pypi"?t.releases:t.versions).filter(h=>(0,G.valid)(h)),l=uf(t,a,{range:r,semvers:o,usePre:n,useRel:i,useGreatest:s});if(s)return l;{let h,c;e==="pypi"?(c=t.info.version,h=(0,G.coerce)(t.info.version).version):h=t["dist-tags"].latest;let u=(0,G.coerce)(r).version,d=Aa(r),p=Xr(l),A=Xr(h),y=(0,G.gt)(l,u);if(!i&&n||d&&p||i&&!y&&d&&!p||d&&!p&&y)return l;if(d&&!p&&!y)return null;let I=(0,G.diff)(u,h);return I&&I!=="prerelease"&&!o.has(I.replace(/^pre/,""))||i&&Xr(h)?l:(0,G.lt)(h,u)&&!A?ea===!0||He(t.name,ea)?h:null:c??h}}function Ra(t){let e={},r=zt.UPDATES_GITHUB_API_TOKEN||zt.GITHUB_API_TOKEN||zt.GH_TOKEN||zt.HOMEBREW_GITHUB_API_TOKEN;return r&&(e.headers={Authorization:`Bearer ${r}`}),es(t,e)}async function ff(t,e){let r=`${ma}/repos/${t}/${e}/commits`,s=await Ra(r);if(!s||!s.ok)return;let i=await s.json(),{sha:n,commit:o}=i[0];return{hash:n,commit:o}}async function pf(t,e){let r=await Ra(`${ma}/repos/${t}/${e}/git/refs/tags`);return!r||!r.ok?void 0:(await r.json()).map(n=>n.ref.replace(/^refs\/tags\//,""))}function df(t,e,r){let s=kt(e);if((0,G.valid)(s))if(r){let i=e,n=kt(e);for(let o of t){let a=kt(o);(0,G.valid)(a)&&(!i||(0,G.gt)(a,n))&&(i=o,n=a)}if((0,G.neq)(s,n))return i}else{let i=t.at(-1),n=kt(i);if(!(0,G.valid)(n))return;if((0,G.neq)(s,n))return i}}async function mf([t,e],{useGreatest:r}={}){let s=e.old.replace(Kc,""),[i,n,o,a]=Xc.exec(s)||[];if(!(!n||!o||!a))if(Qr.test(a)){let{hash:l,commit:h}=await ff(n,o);if(!l?.length)return;let c=h?.committer?.date??h?.author?.date,u=l.substring(0,a.length);if(a!==u){let d=e.old.replace(a,u);return{key:t,newRange:d,user:n,repo:o,oldRef:a,newRef:u,newDate:c}}}else{let l=await pf(n,o),h=df(l,a,r);if(h)return{key:t,newRange:h,user:n,repo:o,oldRef:a,newRef:h}}}function gf(t){let e=t.match(Qo);return e?.length!==1?t:t.replace(Qo,(0,G.coerce)(e[0]))}function De(t){return t===void 0?!1:t===""?!0:typeof t=="string"?t.includes(",")?new Set(t.split(",")):new Set([t]):Array.isArray(t)?new Set(t):!1}function ia(t){return Array.from(t.matchAll(/(----BEGIN CERT[^]+?IFICATE----)/g),e=>e[0])}async function na(t=[]){return[...(await import("node:tls")).rootCertificates,...t]}function Zr(t,e){return e?/\/.+\//.test(t)?new RegExp(t.slice(1,-1)):Yr.default.makeRe(t):t instanceof RegExp?t:Yr.default.makeRe(t)}function pt(t){if(t instanceof Set){let e=new Set;for(let r of t)e.add(Zr(r,!0));return e}return t}function oa(t,e){let r=new Set;for(let s of t||[])r.add(Zr(s,!0));for(let s of e||[])r.add(Zr(s,!1));return r}function aa(t,e,{include:r,exclude:s}){if(e==="pypi"&&t==="python")return!1;if(!r.size&&!s.size)return!0;for(let i of s)if(i.test(t))return!1;for(let i of r)if(i.test(t))return!0;return!r.size}function Ef(t){let e=new Set;if(t)for(let r of t){let s;try{s=Xo(r)}catch(i){throw new Error(`Unable to open ${r}: ${i.message}`)}if(s?.isFile())e.add(Kt(r));else if(s?.isDirectory())for(let i of["package.json","pyproject.toml"]){let n=Jr(r,i),o;try{o=Xo(n)}catch{}o?.isFile()&&e.add(Kt(n))}else throw new Error(`${r} is neither a file nor directory`)}else for(let r of["package.json","pyproject.toml"]){let s=ga(r,Gc());s&&e.add(Kt(s))}return e}async function Af(){for(let A of[process.stdout,process.stderr])A?._handle?.setBlocking?.(!0);let t=96,e=typeof B.sockets=="number"?parseInt(B.sockets):t,{help:r,version:s,file:i,types:n,update:o}=B;r&&(jc.write(`usage: updates [options]
|
|
16
16
|
|
|
17
17
|
Options:
|
|
18
18
|
-u, --update Update versions and write package file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "updates",
|
|
3
|
-
"version": "16.1.
|
|
3
|
+
"version": "16.1.1",
|
|
4
4
|
"description": "Flexible npm and poetry dependency update tool",
|
|
5
5
|
"author": "silverwind",
|
|
6
6
|
"repository": "silverwind/updates",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"esbuild": "0.21.3",
|
|
21
21
|
"eslint": "8.57.0",
|
|
22
22
|
"eslint-config-silverwind": "85.1.2",
|
|
23
|
-
"execa": "
|
|
23
|
+
"execa": "8.0.1",
|
|
24
24
|
"glowie": "1.3.1",
|
|
25
25
|
"hosted-git-info": "7.0.2",
|
|
26
26
|
"memize": "2.1.0",
|