@baicie/ncu 0.1.25 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,22 +1,22 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n&&t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let u=require(`path`);u=l(u);let d=require(`prompts-ncu`);d=l(d);let f=require(`spawn-please`);f=l(f);let p=require(`fs`);p=l(p);let m=require(`os`);m=l(m);let h=require(`cli-table3`);h=l(h);let g=require(`fs/promises`);g=l(g);let _=require(`hosted-git-info`);_=l(_);let v=require(`url`),y=require(`parse-github-url`);y=l(y);let b=require(`semver`);b=l(b);let x=require(`semver-utils`);x=l(x);let S=require(`util`);S=l(S);let C=require(`camelcase`);C=l(C);let w=require(`fast-memoize`);w=l(w);let T=require(`ini`);T=l(T);let E=require(`npm-registry-fetch`);E=l(E);let D=require(`untildify`);D=l(D);let O=require(`find-up`),k=require(`node:fs`);k=l(k);let A=require(`node:os`);A=l(A);let j=require(`node:path`);j=l(j);let M=require(`js-yaml`);M=l(M);let N=require(`jsonlines`);N=l(N);let ee=require(`node:stream/consumers`),te=require(`fast-glob`);te=l(te);let ne=require(`picomatch`);ne=l(ne);let re=require(`rc-config-loader`),ie=require(`dequal`),ae=require(`node:child_process`);ae=l(ae);let oe=require(`node:util`),se=require(`fp-and-or`),ce=require(`p-map`);ce=l(ce);let le=require(`progress`);le=l(le);let ue=require(`jsonc-parser`);var de=`0.1.25`,fe=`https://github.com/baicie/npm-check-updates`,pe={url:`https://github.com/raineorshine/npm-check-updates/issues`},me={name:`@baicie/ncu`,version:de,author:`Tomas Junnonen <tomas1@gmail.com>`,license:`Apache-2.0`,type:`module`,contributors:[`Raine Revere (https://github.com/raineorshine)`,`Imamuzzaki Abu Salam <imamuzzaki@gmail.com>`],description:`Find newer versions of dependencies than what your package.json allows`,keywords:[`dependencies`,`npm`,`package.json`,`update`,`upgrade`,`versions`],engines:{node:`>=20.0.0`,npm:`>=8.12.1`},main:`dist/cjs/index.cjs`,types:`dist/esm/index.mjs`,exports:{".":{types:`./dist/esm/index.d.mts`,module:`./dist/esm/index.mjs`,import:`./dist/esm/index.mjs`,require:`./dist/esm/index.cjs`}},scripts:{dev:`rolldown --watch -c`,build:`rimraf dist && npm run build:options && rolldown -m -c`,"build:options":`vite-node src/scripts/build-options.ts`,"build:analyze":`rimraf dist && npm run build:options && ANALYZER=true vite build`,lint:`cross-env FORCE_COLOR=1 npm-run-all --parallel --aggregate-output lint:*`,"lint:markdown":`markdownlint "**/*.md" --ignore "**/node_modules/**/*.md" --ignore build --config .markdownlint.cjs`,"lint:src":`eslint --cache`,prepublishOnly:`npm run build`,prettier:`prettier . --check`,"prettier:fix":`prettier . --write`,test:`npm run test:unit && npm run test:e2e`,"test:bun":`test/bun-install.sh && mocha test/bun`,"test:unit":`mocha test test/package-managers/*`,"test:e2e":`./test/e2e.sh`,ncu:`node dist/cjs/cli.cjs`,release:`tsx scripts/release.ts`,"ci-publish":`tsx scripts/publish.ts`,postinstall:`simple-git-hooks`},"simple-git-hooks":{"pre-commit":`pnpm lint-staged`,"commit-msg":`node -e "import('@baicie/scripts').then(m => m.verifyCommit())"`},"lint-staged":{"*.{js,json}":[`prettier --write`],"*.ts?(x)":[`eslint --fix`,`prettier --parser=typescript --write`]},bin:{"npm-check-updates":`dist/cjs/cli.cjs`,ncu:`dist/cjs/cli.cjs`},repository:{type:`git`,url:`git+https://github.com/baicie/npm-check-updates.git`},homepage:fe,bugs:pe,overrides:{ip:`2.0.1`,jsonparse:`https://github.com/ARitz-Cracker/jsonparse/tree/patch-1`,"@yarnpkg/parsers":`2.6.0`},dependencies:{camelcase:`^9.0.0`,chalk:`^5.6.2`,"cli-table3":`^0.6.5`,commander:`^14.0.2`,dequal:`^2.0.3`,"fast-glob":`^3.3.3`,"fast-memoize":`^2.5.2`,"find-up":`8.0.0`,"fp-and-or":`^1.0.2`,"hosted-git-info":`^9.0.2`,ini:`^6.0.0`,"js-yaml":`^4.1.1`,"jsonc-parser":`^3.3.1`,jsonlines:`^0.1.1`,lodash:`^4.17.21`,"npm-registry-fetch":`^19.1.1`,"p-map":`^7.0.4`,"parse-github-url":`^1.0.3`,picomatch:`^4.0.3`,progress:`^2.0.3`,"prompts-ncu":`^3.0.2`,"rc-config-loader":`^4.1.3`,rfdc:`^1.4.1`,semver:`^7.7.3`,"semver-utils":`^1.1.4`,"spawn-please":`^3.0.0`,untildify:`^6.0.0`,"update-notifier":`^7.3.1`},devDependencies:{"@baicie/release":`^0.1.11`,"@baicie/scripts":`^0.1.2`,"@eslint/js":`^9.39.2`,"@trivago/prettier-plugin-sort-imports":`^6.0.2`,"@types/bun":`^1.3.6`,"@types/chai":`^5.2.3`,"@types/chai-as-promised":`^8.0.2`,"@types/chai-string":`^1.4.5`,"@types/cli-table":`^0.3.4`,"@types/hosted-git-info":`^3.0.5`,"@types/ini":`^4.1.1`,"@types/js-yaml":`^4.0.9`,"@types/jsonlines":`^0.1.5`,"@types/lodash":`^4.17.23`,"@types/mocha":`^10.0.10`,"@types/node":`^25.0.8`,"@types/npm-registry-fetch":`^8.0.9`,"@types/parse-github-url":`^1.0.3`,"@types/picomatch":`^4.0.2`,"@types/progress":`^2.0.7`,"@types/prompts":`^2.4.9`,"@types/semver":`^7.7.1`,"@types/semver-utils":`^1.1.3`,"@types/sinon":`^21.0.0`,"@types/update-notifier":`^6.0.8`,"@typescript-eslint/eslint-plugin":`^8.53.0`,"@typescript-eslint/parser":`^8.53.0`,chai:`^6.2.2`,"chai-as-promised":`^8.0.2`,"chai-string":`^1.6.0`,"cross-env":`^10.1.0`,eslint:`^9.39.2`,"eslint-config-prettier":`^10.1.8`,"eslint-config-raine":`^0.5.0`,"eslint-config-standard":`^17.1.0`,"eslint-plugin-import":`^2.32.0`,"eslint-plugin-jsdoc":`^62.0.0`,"eslint-plugin-n":`^17.23.2`,"eslint-plugin-promise":`^7.2.1`,"lint-staged":`^16.2.7`,"markdownlint-cli":`^0.47.0`,mocha:`^11.7.5`,"npm-run-all":`^4.1.5`,prettier:`^3.8.0`,rimraf:`^6.1.2`,rolldown:`1.0.0-beta.60`,"rolldown-plugin-dts":`^0.21.1`,"rollup-plugin-node-externals":`^8.1.2`,"rollup-plugin-visualizer":`^6.0.5`,should:`^13.2.3`,"simple-git-hooks":`^2.13.1`,sinon:`^21.0.1`,"source-map-support":`^0.5.21`,"strip-ansi":`^7.1.2`,"ts-node":`^10.9.2`,tsx:`^4.21.0`,typescript:`^5.9.3`,"typescript-eslint":`^8.53.0`,"typescript-json-schema":`^0.67.1`,verdaccio:`^6.2.4`,vite:`^7.3.1`,"vite-bundle-analyzer":`^1.3.2`,"vite-node":`^5.2.0`,"vite-plugin-dts":`^4.5.4`,yarn:`^1.22.22`},files:[`dist`,`!**/test/**`],mocha:{"check-leaks":!0,extension:[`test.ts`],require:[`source-map-support/register`,`ts-node/register`],timeout:6e4,"trace-deprecation":!0,"trace-warnings":!0,use_strict:!0},packageManager:`pnpm@10.28.0`,publishConfig:{access:`public`,registry:`https://registry.npmjs.org/`}};function P(e,t,n={}){let r=Array.isArray(e);return t||=(e=>({[e]:!0})),Object.entries(e||{}).forEach(([e,i],a)=>{let o=r?t(i,a,n):t(e,i,n);Object.entries(o||{}).forEach(e=>{n[e[0]]=e[1]})}),n}var F=P;const he={blue:!0,bold:!0,cyan:!0,gray:!0,green:!0,magenta:!0,red:!0,yellow:!0},ge=F(he,e=>({[e]:e=>e.toString()}));let _e;const ve=async e=>{let{default:t,Chalk:n}=await import(`chalk`);_e=e===!0?new n({level:1}):e===null?ge:t},ye=()=>{if(!_e)throw Error(`Chalk has not been imported yet. Chalk is a dynamic import and requires that you await { chalkInit } from './lib/chalk'.`)},be=F(he,e=>{let t=t=>(ye(),_e[e].bold(t)),n=t=>(ye(),_e[e](t));return n.bold=t,{[e]:n}});var I=be;const xe=(e,t)=>F(e,(e,n)=>t(e,n)?{[e]:n}:null);var L=xe;const Se=e=>g.default.stat(e).then(()=>!0,()=>!1);var Ce=Se;async function we(e,{pkgFile:t}={}){let n=require.resolve.paths(e)||[],r=t?[u.default.join(u.default.dirname(t),`node_modules`)]:[],i=[u.default.join(process.cwd(),`node_modules`)],a=[...r,...i,...n];for(let t of a){let n=u.default.join(t,e,`package.json`);if(await Ce(n))try{return JSON.parse(await g.default.readFile(n,`utf-8`))}catch{}}return null}var Te=we;async function Ee(e,t,{pkgFile:n}={}){return t?t.version:(await Te(e,{pkgFile:n}))?.version??null}var De=Ee;async function Oe(e,{pkgFile:t}={}){return(await Te(e,{pkgFile:t}))?.repository??null}async function ke(e,t,{pkgFile:n}={}){let r=t?t.repository?t.repository:null:await Oe(e,{pkgFile:n});if(!r)return null;let i,a=``;if(typeof r==`string`){i=r;try{let e=new v.URL(i);if(e.protocol===`https:`||e.protocol===`http:`)return i}catch{}}else typeof r.url==`string`&&(i=r.url,typeof r.directory==`string`&&(a=r.directory));if(typeof i==`string`&&typeof a==`string`){let e=_.default.fromUrl(i)?.browse(a);return e===void 0?i:e.replace(/\/$/,``).replace(/\/tree\/HEAD$/,``)}return null}var Ae=ke,R=o(((e,t)=>{t.exports=Array.isArray})),je=o(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),z=o(((e,t)=>{var n=je(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),Me=o(((e,t)=>{t.exports=z().Symbol})),Ne=o(((e,t)=>{var n=Me(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),Pe=o(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),Fe=o(((e,t)=>{var n=Me(),r=Ne(),i=Pe(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),Ie=o(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),Le=o(((e,t)=>{var n=Fe(),r=Ie(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),Re=o(((e,t)=>{var n=R(),r=Le(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function o(e,t){if(n(e))return!1;var o=typeof e;return o==`number`||o==`symbol`||o==`boolean`||e==null||r(e)?!0:a.test(e)||!i.test(e)||t!=null&&e in Object(t)}t.exports=o})),ze=o(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),Be=o(((e,t)=>{var n=Fe(),r=ze(),i=`[object AsyncFunction]`,a=`[object Function]`,o=`[object GeneratorFunction]`,s=`[object Proxy]`;function c(e){if(!r(e))return!1;var t=n(e);return t==a||t==o||t==i||t==s}t.exports=c})),Ve=o(((e,t)=>{t.exports=z()[`__core-js_shared__`]})),He=o(((e,t)=>{var n=Ve(),r=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function i(e){return!!r&&r in e}t.exports=i})),Ue=o(((e,t)=>{var n=Function.prototype.toString;function r(e){if(e!=null){try{return n.call(e)}catch{}try{return e+``}catch{}}return``}t.exports=r})),We=o(((e,t)=>{var n=Be(),r=He(),i=ze(),a=Ue(),o=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,f=RegExp(`^`+u.call(d).replace(o,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function p(e){return!i(e)||r(e)?!1:(n(e)?f:s).test(a(e))}t.exports=p})),Ge=o(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),Ke=o(((e,t)=>{var n=We(),r=Ge();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),qe=o(((e,t)=>{t.exports=Ke()(Object,`create`)})),Je=o(((e,t)=>{var n=qe();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),Ye=o(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}t.exports=n})),Xe=o(((e,t)=>{var n=qe(),r=`__lodash_hash_undefined__`,i=Object.prototype.hasOwnProperty;function a(e){var t=this.__data__;if(n){var a=t[e];return a===r?void 0:a}return i.call(t,e)?t[e]:void 0}t.exports=a})),Ze=o(((e,t)=>{var n=qe(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),Qe=o(((e,t)=>{var n=qe(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=n&&t===void 0?r:t,this}t.exports=i})),$e=o(((e,t)=>{var n=Je(),r=Ye(),i=Xe(),a=Ze(),o=Qe();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),et=o(((e,t)=>{function n(){this.__data__=[],this.size=0}t.exports=n})),tt=o(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),nt=o(((e,t)=>{var n=tt();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),rt=o(((e,t)=>{var n=nt(),r=Array.prototype.splice;function i(e){var t=this.__data__,i=n(t,e);return i<0?!1:(i==t.length-1?t.pop():r.call(t,i,1),--this.size,!0)}t.exports=i})),it=o(((e,t)=>{var n=nt();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),at=o(((e,t)=>{var n=nt();function r(e){return n(this.__data__,e)>-1}t.exports=r})),ot=o(((e,t)=>{var n=nt();function r(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}t.exports=r})),st=o(((e,t)=>{var n=et(),r=rt(),i=it(),a=at(),o=ot();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),ct=o(((e,t)=>{t.exports=Ke()(z(),`Map`)})),lt=o(((e,t)=>{var n=$e(),r=st(),i=ct();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),ut=o(((e,t)=>{function n(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}t.exports=n})),dt=o(((e,t)=>{var n=ut();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),ft=o(((e,t)=>{var n=dt();function r(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}t.exports=r})),pt=o(((e,t)=>{var n=dt();function r(e){return n(this,e).get(e)}t.exports=r})),mt=o(((e,t)=>{var n=dt();function r(e){return n(this,e).has(e)}t.exports=r})),ht=o(((e,t)=>{var n=dt();function r(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}t.exports=r})),gt=o(((e,t)=>{var n=lt(),r=ft(),i=pt(),a=mt(),o=ht();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),_t=o(((e,t)=>{var n=gt(),r=`Expected a function`;function i(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(r);var a=function(){var n=arguments,r=t?t.apply(this,n):n[0],i=a.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return a.cache=i.set(r,o)||i,o};return a.cache=new(i.Cache||n),a}i.Cache=n,t.exports=i})),vt=o(((e,t)=>{var n=_t(),r=500;function i(e){var t=n(e,function(e){return i.size===r&&i.clear(),e}),i=t.cache;return t}t.exports=i})),yt=o(((e,t)=>{var n=vt(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g;t.exports=n(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(r,function(e,n,r,a){t.push(r?a.replace(i,`$1`):n||e)}),t})})),bt=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}t.exports=n})),xt=o(((e,t)=>{var n=Me(),r=bt(),i=R(),a=Le(),o=1/0,s=n?n.prototype:void 0,c=s?s.toString:void 0;function l(e){if(typeof e==`string`)return e;if(i(e))return r(e,l)+``;if(a(e))return c?c.call(e):``;var t=e+``;return t==`0`&&1/e==-o?`-0`:t}t.exports=l})),St=o(((e,t)=>{var n=xt();function r(e){return e==null?``:n(e)}t.exports=r})),Ct=o(((e,t)=>{var n=R(),r=Re(),i=yt(),a=St();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),wt=o(((e,t)=>{var n=Le(),r=1/0;function i(e){if(typeof e==`string`||n(e))return e;var t=e+``;return t==`0`&&1/e==-r?`-0`:t}t.exports=i})),Tt=o(((e,t)=>{var n=Ct(),r=wt();function i(e,t){t=n(t,e);for(var i=0,a=t.length;e!=null&&i<a;)e=e[r(t[i++])];return i&&i==a?e:void 0}t.exports=i})),Et=o(((e,t)=>{var n=Tt();function r(e){return function(t){return e==null?void 0:n(e,t)}}t.exports=r}));function Dt(e,t){return e?e.map(e=>({item:e,key:t(e)})).sort((e,t)=>e.key>t.key?1:e.key<t.key?-1:0).map(({item:e})=>e):[]}var Ot=l(Et(),1);const kt=[`major`,`minor`,`patch`],At=[`release`,`build`],B=[...kt,...At],jt={major:``,minor:`.`,patch:`.`,release:`-`,build:`+`},Mt=`^`,Nt=[`^`,`~`,`.*`,`.x`],Pt=RegExp(`^(${[`^`,`~`,`^*`,`*`,`x`,`x.x`,`x.x.x`].join(`|`).replace(/\^/g,`\\^`).replace(/\*/g,`\\*`)})$`),Ft=/^npm:(.*)@(.*)/;function It(e){let[t]=x.default.parseRange(e);if(!t)throw Error(S.default.format(`semverutils.parseRange returned null when trying to parse "%s". This is probably a problem with the "semver-utils" dependency. Please report an issue at https://github.com/raineorshine/npm-check-updates/issues.`,e));return B.reduce((e,n)=>t[n]?e+1:e,0)}function V(e,t){return(t?B.slice(0,B.indexOf(t)+1):B).filter(n=>t&&kt.includes(t)||e[n]).map(t=>jt[t]+(e[t]||`0`)).join(``)}function Lt(e){let[t]=x.default.parseRange(e);return B.slice().reverse().find((0,Ot.default)(t))}function Rt(e,t){let[n]=x.default.parseRange(e);return V(n,t)}function zt(e,t){return t===`^`||t===`~`?t+e:Rt(e,`major`)+t}function Bt(e){return Pt.test(e)}function Vt(e){return e===`*`||e===`x`}function Ht(e,t){if(e===t)return`none`;/^[~^]/.test(t)&&t[0]===e[0]&&(t=t.slice(1),e=e.slice(1));let n=t.split(`.`),r=e.split(`.`),i=n.findIndex((e,t)=>e!==r[t]);return i=i>=0?i:n.length,n[0]===`0`?`majorVersionZero`:i===0?`major`:i===1?`minor`:`patch`}function Ut(e,t,n){let r=P(e,(r,i,a)=>{let o=t[r],s=Ht(o,i),c=n.groupFunction?.(r,s,(0,x.parseRange)(o),(0,x.parseRange)(i),(0,x.parse)(e[r]))??s;return c===`none`?a:{...a,[c]:{...a[c],[r]:i}}}),i={patch:I.green(I.bold(`Patch`)+` Backwards-compatible bug fixes`),minor:I.cyan(I.bold(`Minor`)+` Backwards-compatible features`),major:I.red(I.bold(`Major`)+` Potentially breaking API changes`),majorVersionZero:I.magenta(I.bold(`Major version zero`)+` Anything may change`)};return Array.from(new Set([`patch`,`minor`,`major`,`majorVersionZero`,...Object.keys(r).sort()])).filter(e=>e in r).map(e=>({groupName:e,heading:e in i?i[e]:e,packages:r[e]}))}function Wt(e,t){let n=``;/^[~^]/.test(t)&&t[0]===e[0]&&(n=t[0],t=t.slice(1),e=e.slice(1));let r=t.split(`.`),i=e.split(`.`),a=r.findIndex((e,t)=>e!==i[t]);a=a>=0?a:r.length;let o=a===0||r[0]===`0`?`red`:a===1?`cyan`:`green`,s=a>0&&a<r.length?`.`:``;return n+r.slice(0,a).join(`.`)+s+I[o](r.slice(a).join(`.`))}const Gt=e=>{let t=b.default.prerelease(e);return t&&t.slice(0,-1).join(`.`)};function Kt(e,t){let n=Gt(e),r=Gt(t);return typeof n!=`string`||typeof r!=`string`||n===r}function qt(e,t){return(b.default.valid(e)&&b.default.valid(t)?b.default.gt(e,t):e>t)?1:e===t?0:-1}function Jt(e,t,n){if(!b.default.validRange(t))return null;let r=b.default.minVersion(t);return[...e].sort(qt).filter(e=>{let t=b.default.parse(e);return t&&(n===`major`||t.major===r?.major)&&(n===`major`||n===`minor`||t.minor===r?.minor)}).at(-1)||null}function Yt(e){return Lt(e)===`release`}const Xt=e=>/^[vV]?\d+$/.test(e),Zt=e=>/^[vV]?\d+\.\d+$/.test(e),Qt=e=>e.replace(/^[vV]/,``),$t=e=>Xt(e)?e+`.0.0`:e,en=e=>Zt(e)?e+`.0`:e,tn=e=>en($t(Qt(e)));function nn(e){return e&&(e[0]===`v`||e[1]===`v`)?`v`:``}const rn=(e,t)=>`npm:${e}@${t}`,an=e=>{let t=e&&e.match&&e.match(Ft);return t&&t.slice(1)},on=e=>e&&!!e.match(Ft),sn=(e,t)=>{let n=an(e);return n?rn(n[0],t):null},cn=e=>{if(!e)return!1;let t=null;try{t=(0,y.default)(e)}catch{}if(!t||!t.branch)return!1;let n=decodeURIComponent(t.branch).replace(/^semver:/,``);return!!b.default.validRange(n)},ln=e=>{if(!e)return null;let t=(0,y.default)(e);if(!t||!t.branch)return null;let n=decodeURIComponent(t.branch).replace(/^semver:/,``);return t&&t.branch&&b.default.validRange(n)?n:null};function un(e,t,n={}){if(n.wildcard=n.wildcard||`^`,!t)return e;let[r]=x.default.parseRange(t);if(!r)return e;if(n.removeRange)return t;if(Bt(e))return e;let i=Dt(x.default.parseRange(e).filter(e=>e.operator!==`||`&&e.operator!==`-`),e=>It(V(e))),[a]=i;function o(e){return(Vt(a[e])?a[e]:kt.includes(e)&&a[e]||At.includes(e)?r[e]:null)||null}let s=V(P(B,e=>({[e]:o(e)}))),c=nn(a.semver)+s,l=Array.from(new Set(i.map(e=>e.operator))),u=l[0]||``,d=Nt.some(e=>s.includes(e)),f=l[0]===`<`||l[0]===`<=`,p=l[0]===`>`,m=l.length>1;return!d&&(f||m)?zt(c,n.wildcard):(p?`>=`:u)+c}const dn=(e,t)=>{let n=nn(e),r=n?n+t:t;return r=Xt(e)?r.slice(0,r.length-4):r,r=Zt(e)?r.slice(0,r.length-2):r,r},fn=(e,t)=>{let n=tn(t),r=(0,y.default)(e);if(!r)return e;let i=decodeURIComponent(r.branch).replace(/^semver:/,``);return e.replace(i,un(i,dn(i,n)))},pn={silent:0,error:1,minimal:2,warn:3,info:4,verbose:5,silly:6},mn=e=>!e.startsWith(`file:`)&&!e.startsWith(`link:`)&&!e.startsWith(`workspace:`)&&!/^[^/:@]+\/\w+/.test(e);function H(e,t,n=null,r=`log`){!e.json&&e.loglevel!==`silent`&&(n==null||pn[e.loglevel??`warn`]>=pn[n])&&console[r](t)}function hn(e,t){e.loglevel!==`silent`&&console.log(JSON.stringify(t,null,2))}function gn(e,t){console.log(Object.keys(e).map(t=>t+`@`+e[t]).join(t))}function U(e,t,n){H(e,Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}),n)}function _n(e){let t=new h.default({colAligns:[`left`,`right`,`right`,`right`,`left`,`left`],chars:{top:``,"top-mid":``,"top-left":``,"top-right":``,bottom:``,"bottom-mid":``,"bottom-left":``,"bottom-right":``,left:``,"left-mid":``,mid:``,"mid-mid":``,right:``,"right-mid":``,middle:``}});return t.push(...e),t.toString().split(`
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n&&t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let u=require(`path`);u=l(u);let d=require(`prompts-ncu`);d=l(d);let f=require(`spawn-please`);f=l(f);let p=require(`fs`);p=l(p);let m=require(`os`);m=l(m);let h=require(`cli-table3`);h=l(h);let g=require(`fs/promises`);g=l(g);let _=require(`hosted-git-info`);_=l(_),require(`url`);let v=require(`parse-github-url`);v=l(v);let y=require(`semver`);y=l(y);let b=require(`semver-utils`);b=l(b);let x=require(`util`);x=l(x);let S=require(`camelcase`);S=l(S);let C=require(`fast-memoize`);C=l(C);let w=require(`ini`);w=l(w);let T=require(`npm-registry-fetch`);T=l(T);let E=require(`untildify`);E=l(E);let D=require(`find-up`),ee=require(`node:fs`);ee=l(ee);let O=require(`node:os`);O=l(O);let k=require(`node:path`);k=l(k);let A=require(`js-yaml`);A=l(A);let j=require(`jsonlines`);j=l(j);let te=require(`node:stream/consumers`),M=require(`fast-glob`);M=l(M);let ne=require(`picomatch`);ne=l(ne);let re=require(`rc-config-loader`),ie=require(`dequal`),ae=require(`node:child_process`);ae=l(ae);let oe=require(`node:util`),se=require(`fp-and-or`),ce=require(`p-map`);ce=l(ce);let le=require(`progress`);le=l(le);let ue=require(`jsonc-parser`);var de=`0.1.29`,fe=`https://github.com/baicie/npm-check-updates`,pe={url:`https://github.com/raineorshine/npm-check-updates/issues`},me={name:`@baicie/ncu`,version:de,author:`Tomas Junnonen <tomas1@gmail.com>`,license:`Apache-2.0`,type:`module`,contributors:[`Raine Revere (https://github.com/raineorshine)`,`Imamuzzaki Abu Salam <imamuzzaki@gmail.com>`],description:`Find newer versions of dependencies than what your package.json allows`,keywords:[`dependencies`,`npm`,`package.json`,`update`,`upgrade`,`versions`],engines:{node:`>=20.0.0`,npm:`>=8.12.1`},main:`dist/cjs/index.cjs`,types:`dist/esm/index.mjs`,exports:{".":{types:`./dist/esm/index.d.mts`,module:`./dist/esm/index.mjs`,import:`./dist/esm/index.mjs`,require:`./dist/esm/index.cjs`}},scripts:{dev:`rolldown --watch -c`,build:`rimraf dist && npm run build:options && rolldown -m -c`,"build:options":`vite-node src/scripts/build-options.ts`,"build:analyze":`rimraf dist && npm run build:options && ANALYZER=true vite build`,lint:`cross-env FORCE_COLOR=1 npm-run-all --parallel --aggregate-output lint:*`,"lint:markdown":`markdownlint "**/*.md" --ignore "**/node_modules/**/*.md" --ignore build --config .markdownlint.cjs`,"lint:src":`eslint --cache`,"type-check":`tsc --noEmit --incremental`,prepublishOnly:`npm run build`,prettier:`prettier . --check`,"prettier:fix":`prettier . --write`,test:`npm run test:unit && npm run test:e2e`,"test:bun":`test/bun-install.sh && mocha test/bun`,"test:unit":`mocha test test/package-managers/*`,"test:e2e":`./test/e2e.sh`,ncu:`node dist/cjs/cli.cjs`,release:`tsx scripts/release.ts`,"ci-publish":`tsx scripts/publish.ts`,prepare:`simple-git-hooks`},"simple-git-hooks":{"pre-commit":`pnpm lint-staged`,"commit-msg":`node -e "import('@baicie/scripts').then(m => m.verifyCommit())"`},"lint-staged":{"*.{js,json}":[`prettier --write`],"*.ts?(x)":[`eslint --fix`,`prettier --parser=typescript --write`]},bin:{"npm-check-updates":`dist/cjs/cli.cjs`,ncu:`dist/cjs/cli.cjs`},repository:{type:`git`,url:`git+https://github.com/baicie/npm-check-updates.git`},homepage:fe,bugs:pe,overrides:{ip:`2.0.1`,jsonparse:`https://github.com/ARitz-Cracker/jsonparse/tree/patch-1`,"@yarnpkg/parsers":`2.6.0`},dependencies:{camelcase:`^9.0.0`,chalk:`^5.6.2`,"cli-table3":`^0.6.5`,commander:`^14.0.2`,dequal:`^2.0.3`,"fast-glob":`^3.3.3`,"fast-memoize":`^2.5.2`,"find-up":`8.0.0`,"fp-and-or":`^1.0.2`,"hosted-git-info":`^9.0.2`,ini:`^6.0.0`,"js-yaml":`^4.1.1`,"jsonc-parser":`^3.3.1`,jsonlines:`^0.1.1`,lodash:`^4.17.23`,"npm-registry-fetch":`^19.1.1`,"p-map":`^7.0.4`,"parse-github-url":`^1.0.3`,picomatch:`^4.0.3`,progress:`^2.0.3`,"prompts-ncu":`^3.0.2`,"rc-config-loader":`^4.1.3`,rfdc:`^1.4.1`,semver:`^7.7.3`,"semver-utils":`^1.1.4`,"spawn-please":`^3.0.0`,untildify:`^6.0.0`,"update-notifier":`^7.3.1`},devDependencies:{"@baicie/release":`^0.1.11`,"@baicie/scripts":`^0.1.2`,"@eslint/js":`^9.39.2`,"@trivago/prettier-plugin-sort-imports":`^6.0.2`,"@types/bun":`^1.3.6`,"@types/chai":`^5.2.3`,"@types/chai-as-promised":`^8.0.2`,"@types/chai-string":`^1.4.5`,"@types/cli-table":`^0.3.4`,"@types/hosted-git-info":`^3.0.5`,"@types/ini":`^4.1.1`,"@types/js-yaml":`^4.0.9`,"@types/jsonlines":`^0.1.5`,"@types/lodash":`^4.17.23`,"@types/mocha":`^10.0.10`,"@types/node":`^25.0.10`,"@types/npm-registry-fetch":`^8.0.9`,"@types/parse-github-url":`^1.0.3`,"@types/picomatch":`^4.0.2`,"@types/progress":`^2.0.7`,"@types/prompts":`^2.4.9`,"@types/semver":`^7.7.1`,"@types/semver-utils":`^1.1.3`,"@types/sinon":`^21.0.0`,"@types/update-notifier":`^6.0.8`,"@typescript-eslint/eslint-plugin":`^8.53.1`,"@typescript-eslint/parser":`^8.53.1`,chai:`^6.2.2`,"chai-as-promised":`^8.0.2`,"chai-string":`^1.6.0`,"cross-env":`^10.1.0`,eslint:`^9.39.2`,"eslint-config-prettier":`^10.1.8`,"eslint-config-raine":`^0.5.0`,"eslint-config-standard":`^17.1.0`,"eslint-plugin-import":`^2.32.0`,"eslint-plugin-jsdoc":`^62.4.1`,"eslint-plugin-n":`^17.23.2`,"eslint-plugin-promise":`^7.2.1`,"lint-staged":`^16.2.7`,"markdownlint-cli":`^0.47.0`,mocha:`^11.7.5`,"npm-run-all":`^4.1.5`,prettier:`^3.8.1`,rimraf:`^6.1.2`,rolldown:`1.0.0-rc.1`,"rolldown-plugin-dts":`^0.21.6`,"rollup-plugin-node-externals":`^8.1.2`,"rollup-plugin-visualizer":`^6.0.5`,should:`^13.2.3`,"simple-git-hooks":`^2.13.1`,sinon:`^21.0.1`,"source-map-support":`^0.5.21`,"strip-ansi":`^7.1.2`,"ts-node":`^10.9.2`,tsx:`^4.21.0`,typescript:`^5.9.3`,"typescript-eslint":`^8.53.1`,"typescript-json-schema":`^0.67.1`,verdaccio:`^6.2.4`,vite:`^7.3.1`,"vite-bundle-analyzer":`^1.3.2`,"vite-node":`^5.3.0`,"vite-plugin-dts":`^4.5.4`,yarn:`^1.22.22`},files:[`dist`,`!**/test/**`],mocha:{"check-leaks":!0,extension:[`test.ts`],require:[`source-map-support/register`,`ts-node/register`],timeout:6e4,"trace-deprecation":!0,"trace-warnings":!0,use_strict:!0},packageManager:`pnpm@10.28.1`,publishConfig:{access:`public`,registry:`https://registry.npmjs.org/`}};function N(e,t,n={}){let r=Array.isArray(e);return t||=(e=>({[e]:!0})),Object.entries(e||{}).forEach(([e,i],a)=>{let o=r?t(i,a,n):t(e,i,n);Object.entries(o||{}).forEach(e=>{n[e[0]]=e[1]})}),n}var P=N;const he={blue:!0,bold:!0,cyan:!0,gray:!0,green:!0,magenta:!0,red:!0,yellow:!0},ge=P(he,e=>({[e]:e=>e.toString()}));let _e;const ve=async e=>{let{default:t,Chalk:n}=await import(`chalk`);_e=e===!0?new n({level:1}):e===null?ge:t},ye=()=>{if(!_e)throw Error(`Chalk has not been imported yet. Chalk is a dynamic import and requires that you await { chalkInit } from './lib/chalk'.`)};var F=P(he,e=>{let t=t=>(ye(),_e[e].bold(t)),n=t=>(ye(),_e[e](t));return n.bold=t,{[e]:n}}),I=(e,t)=>P(e,(e,n)=>t(e,n)?{[e]:n}:null),be=e=>g.default.stat(e).then(()=>!0,()=>!1);async function xe(e,{pkgFile:t}={}){let n=require.resolve.paths(e)||[],r=t?[u.default.join(u.default.dirname(t),`node_modules`)]:[],i=[u.default.join(process.cwd(),`node_modules`)],a=[...r,...i,...n];for(let t of a){let n=u.default.join(t,e,`package.json`);if(await be(n))try{return JSON.parse(await g.default.readFile(n,`utf-8`))}catch{}}return null}var Se=xe;async function Ce(e,t,{pkgFile:n}={}){return t?t.version:(await Se(e,{pkgFile:n}))?.version??null}var we=Ce;async function Te(e,{pkgFile:t}={}){return(await Se(e,{pkgFile:t}))?.repository??null}async function Ee(e,t,{pkgFile:n}={}){let r=t?t.repository?t.repository:null:await Te(e,{pkgFile:n});if(!r)return null;let i,a=``;if(typeof r==`string`){i=r;try{let e=new e.URL(i);if(e.protocol===`https:`||e.protocol===`http:`)return i}catch{}}else typeof r.url==`string`&&(i=r.url,typeof r.directory==`string`&&(a=r.directory));if(typeof i==`string`&&typeof a==`string`){let e=_.default.fromUrl(i)?.browse(a);return e===void 0?i:e.replace(/\/$/,``).replace(/\/tree\/HEAD$/,``)}return null}var De=Ee,L=o(((e,t)=>{t.exports=Array.isArray})),Oe=o(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),R=o(((e,t)=>{var n=Oe(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),ke=o(((e,t)=>{t.exports=R().Symbol})),Ae=o(((e,t)=>{var n=ke(),r=Object.prototype,i=r.hasOwnProperty,a=r.toString,o=n?n.toStringTag:void 0;function s(e){var t=i.call(e,o),n=e[o];try{e[o]=void 0;var r=!0}catch{}var s=a.call(e);return r&&(t?e[o]=n:delete e[o]),s}t.exports=s})),je=o(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),Me=o(((e,t)=>{var n=ke(),r=Ae(),i=je(),a=`[object Null]`,o=`[object Undefined]`,s=n?n.toStringTag:void 0;function c(e){return e==null?e===void 0?o:a:s&&s in Object(e)?r(e):i(e)}t.exports=c})),Ne=o(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),Pe=o(((e,t)=>{var n=Me(),r=Ne(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),Fe=o(((e,t)=>{var n=L(),r=Pe(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;function o(e,t){if(n(e))return!1;var o=typeof e;return o==`number`||o==`symbol`||o==`boolean`||e==null||r(e)?!0:a.test(e)||!i.test(e)||t!=null&&e in Object(t)}t.exports=o})),Ie=o(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),Le=o(((e,t)=>{var n=Me(),r=Ie(),i=`[object AsyncFunction]`,a=`[object Function]`,o=`[object GeneratorFunction]`,s=`[object Proxy]`;function c(e){if(!r(e))return!1;var t=n(e);return t==a||t==o||t==i||t==s}t.exports=c})),Re=o(((e,t)=>{t.exports=R()[`__core-js_shared__`]})),ze=o(((e,t)=>{var n=Re(),r=function(){var e=/[^.]+$/.exec(n&&n.keys&&n.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function i(e){return!!r&&r in e}t.exports=i})),Be=o(((e,t)=>{var n=Function.prototype.toString;function r(e){if(e!=null){try{return n.call(e)}catch{}try{return e+``}catch{}}return``}t.exports=r})),Ve=o(((e,t)=>{var n=Le(),r=ze(),i=Ie(),a=Be(),o=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,f=RegExp(`^`+u.call(d).replace(o,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function p(e){return!i(e)||r(e)?!1:(n(e)?f:s).test(a(e))}t.exports=p})),He=o(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),Ue=o(((e,t)=>{var n=Ve(),r=He();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),We=o(((e,t)=>{t.exports=Ue()(Object,`create`)})),Ge=o(((e,t)=>{var n=We();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),Ke=o(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}t.exports=n})),qe=o(((e,t)=>{var n=We(),r=`__lodash_hash_undefined__`,i=Object.prototype.hasOwnProperty;function a(e){var t=this.__data__;if(n){var a=t[e];return a===r?void 0:a}return i.call(t,e)?t[e]:void 0}t.exports=a})),Je=o(((e,t)=>{var n=We(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),Ye=o(((e,t)=>{var n=We(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=n&&t===void 0?r:t,this}t.exports=i})),Xe=o(((e,t)=>{var n=Ge(),r=Ke(),i=qe(),a=Je(),o=Ye();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),Ze=o(((e,t)=>{function n(){this.__data__=[],this.size=0}t.exports=n})),Qe=o(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),$e=o(((e,t)=>{var n=Qe();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),et=o(((e,t)=>{var n=$e(),r=Array.prototype.splice;function i(e){var t=this.__data__,i=n(t,e);return i<0?!1:(i==t.length-1?t.pop():r.call(t,i,1),--this.size,!0)}t.exports=i})),tt=o(((e,t)=>{var n=$e();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),nt=o(((e,t)=>{var n=$e();function r(e){return n(this.__data__,e)>-1}t.exports=r})),rt=o(((e,t)=>{var n=$e();function r(e,t){var r=this.__data__,i=n(r,e);return i<0?(++this.size,r.push([e,t])):r[i][1]=t,this}t.exports=r})),it=o(((e,t)=>{var n=Ze(),r=et(),i=tt(),a=nt(),o=rt();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),at=o(((e,t)=>{t.exports=Ue()(R(),`Map`)})),ot=o(((e,t)=>{var n=Xe(),r=it(),i=at();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),st=o(((e,t)=>{function n(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}t.exports=n})),ct=o(((e,t)=>{var n=st();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),lt=o(((e,t)=>{var n=ct();function r(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}t.exports=r})),ut=o(((e,t)=>{var n=ct();function r(e){return n(this,e).get(e)}t.exports=r})),dt=o(((e,t)=>{var n=ct();function r(e){return n(this,e).has(e)}t.exports=r})),ft=o(((e,t)=>{var n=ct();function r(e,t){var r=n(this,e),i=r.size;return r.set(e,t),this.size+=r.size==i?0:1,this}t.exports=r})),pt=o(((e,t)=>{var n=ot(),r=lt(),i=ut(),a=dt(),o=ft();function s(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=n,s.prototype.delete=r,s.prototype.get=i,s.prototype.has=a,s.prototype.set=o,t.exports=s})),mt=o(((e,t)=>{var n=pt(),r=`Expected a function`;function i(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(r);var a=function(){var n=arguments,r=t?t.apply(this,n):n[0],i=a.cache;if(i.has(r))return i.get(r);var o=e.apply(this,n);return a.cache=i.set(r,o)||i,o};return a.cache=new(i.Cache||n),a}i.Cache=n,t.exports=i})),ht=o(((e,t)=>{var n=mt(),r=500;function i(e){var t=n(e,function(e){return i.size===r&&i.clear(),e}),i=t.cache;return t}t.exports=i})),gt=o(((e,t)=>{var n=ht(),r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g;t.exports=n(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(r,function(e,n,r,a){t.push(r?a.replace(i,`$1`):n||e)}),t})})),_t=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}t.exports=n})),vt=o(((e,t)=>{var n=ke(),r=_t(),i=L(),a=Pe(),o=1/0,s=n?n.prototype:void 0,c=s?s.toString:void 0;function l(e){if(typeof e==`string`)return e;if(i(e))return r(e,l)+``;if(a(e))return c?c.call(e):``;var t=e+``;return t==`0`&&1/e==-o?`-0`:t}t.exports=l})),yt=o(((e,t)=>{var n=vt();function r(e){return e==null?``:n(e)}t.exports=r})),bt=o(((e,t)=>{var n=L(),r=Fe(),i=gt(),a=yt();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),xt=o(((e,t)=>{var n=Pe(),r=1/0;function i(e){if(typeof e==`string`||n(e))return e;var t=e+``;return t==`0`&&1/e==-r?`-0`:t}t.exports=i})),St=o(((e,t)=>{var n=bt(),r=xt();function i(e,t){t=n(t,e);for(var i=0,a=t.length;e!=null&&i<a;)e=e[r(t[i++])];return i&&i==a?e:void 0}t.exports=i})),Ct=o(((e,t)=>{var n=St();function r(e){return function(t){return e==null?void 0:n(e,t)}}t.exports=r}));function wt(e,t){return e?e.map(e=>({item:e,key:t(e)})).sort((e,t)=>e.key>t.key?1:e.key<t.key?-1:0).map(({item:e})=>e):[]}var Tt=l(Ct(),1);const Et=[`major`,`minor`,`patch`],Dt=[`release`,`build`],Ot=[...Et,...Dt],kt={major:``,minor:`.`,patch:`.`,release:`-`,build:`+`},At=[`^`,`~`,`.*`,`.x`],jt=RegExp(`^(${[`^`,`~`,`^*`,`*`,`x`,`x.x`,`x.x.x`].join(`|`).replace(/\^/g,`\\^`).replace(/\*/g,`\\*`)})$`),Mt=/^npm:(.*)@(.*)/;function Nt(e){let[t]=b.default.parseRange(e);if(!t)throw Error(x.default.format(`semverutils.parseRange returned null when trying to parse "%s". This is probably a problem with the "semver-utils" dependency. Please report an issue at https://github.com/raineorshine/npm-check-updates/issues.`,e));return Ot.reduce((e,n)=>t[n]?e+1:e,0)}function z(e,t){return(t?Ot.slice(0,Ot.indexOf(t)+1):Ot).filter(n=>t&&Et.includes(t)||e[n]).map(t=>kt[t]+(e[t]||`0`)).join(``)}function Pt(e){let[t]=b.default.parseRange(e);return Ot.slice().reverse().find((0,Tt.default)(t))}function Ft(e,t){let[n]=b.default.parseRange(e);return z(n,t)}function It(e,t){return t===`^`||t===`~`?t+e:Ft(e,`major`)+t}function Lt(e){return jt.test(e)}function Rt(e){return e===`*`||e===`x`}function zt(e,t){if(e===t)return`none`;/^[~^]/.test(t)&&t[0]===e[0]&&(t=t.slice(1),e=e.slice(1));let n=t.split(`.`),r=e.split(`.`),i=n.findIndex((e,t)=>e!==r[t]);return i=i>=0?i:n.length,n[0]===`0`?`majorVersionZero`:i===0?`major`:i===1?`minor`:`patch`}function Bt(e,t,n){let r=N(e,(r,i,a)=>{let o=t[r],s=zt(o,i),c=n.groupFunction?.(r,s,(0,b.parseRange)(o),(0,b.parseRange)(i),(0,b.parse)(e[r]))??s;return c===`none`?a:{...a,[c]:{...a[c],[r]:i}}}),i={patch:F.green(F.bold(`Patch`)+` Backwards-compatible bug fixes`),minor:F.cyan(F.bold(`Minor`)+` Backwards-compatible features`),major:F.red(F.bold(`Major`)+` Potentially breaking API changes`),majorVersionZero:F.magenta(F.bold(`Major version zero`)+` Anything may change`)};return Array.from(new Set([`patch`,`minor`,`major`,`majorVersionZero`,...Object.keys(r).sort()])).filter(e=>e in r).map(e=>({groupName:e,heading:e in i?i[e]:e,packages:r[e]}))}function Vt(e,t){let n=``;/^[~^]/.test(t)&&t[0]===e[0]&&(n=t[0],t=t.slice(1),e=e.slice(1));let r=t.split(`.`),i=e.split(`.`),a=r.findIndex((e,t)=>e!==i[t]);a=a>=0?a:r.length;let o=a===0||r[0]===`0`?`red`:a===1?`cyan`:`green`;try{let n=y.default.valid(e)?e:y.default.minVersion(e)?.version??null,r=y.default.valid(t)?t:y.default.minVersion(t)?.version??null;n&&r&&y.default.gt(n,r)&&(o=`yellow`)}catch{}let s=a>0&&a<r.length?`.`:``;return n+r.slice(0,a).join(`.`)+s+F[o](r.slice(a).join(`.`))}const Ht=e=>{let t=y.default.prerelease(e);return t&&t.slice(0,-1).join(`.`)};function Ut(e,t){let n=Ht(e),r=Ht(t);return typeof n!=`string`||typeof r!=`string`||n===r}function Wt(e,t){return(y.default.valid(e)&&y.default.valid(t)?y.default.gt(e,t):e>t)?1:e===t?0:-1}function Gt(e,t,n){if(!y.default.validRange(t))return null;let r=y.default.minVersion(t);return[...e].sort(Wt).filter(e=>{let t=y.default.parse(e);return t&&(n===`major`||t.major===r?.major)&&(n===`major`||n===`minor`||t.minor===r?.minor)}).at(-1)||null}function Kt(e){return Pt(e)===`release`}const qt=e=>/^[vV]?\d+$/.test(e),Jt=e=>/^[vV]?\d+\.\d+$/.test(e),Yt=e=>e.replace(/^[vV]/,``),Xt=e=>qt(e)?e+`.0.0`:e,Zt=e=>Jt(e)?e+`.0`:e,Qt=e=>Zt(Xt(Yt(e)));function $t(e){return e&&(e[0]===`v`||e[1]===`v`)?`v`:``}const en=(e,t)=>`npm:${e}@${t}`,tn=e=>{let t=e&&e.match&&e.match(Mt);return t&&t.slice(1)},nn=e=>e&&!!e.match(Mt),rn=(e,t)=>{let n=tn(e);return n?en(n[0],t):null},an=e=>{if(!e)return!1;let t=null;try{t=(0,v.default)(e)}catch{}if(!t||!t.branch)return!1;let n=decodeURIComponent(t.branch).replace(/^semver:/,``);return!!y.default.validRange(n)},on=e=>{if(!e)return null;let t=(0,v.default)(e);if(!t||!t.branch)return null;let n=decodeURIComponent(t.branch).replace(/^semver:/,``);return t&&t.branch&&y.default.validRange(n)?n:null};function sn(e,t,n={}){if(n.wildcard=n.wildcard||`^`,!t)return e;let[r]=b.default.parseRange(t);if(!r)return e;if(n.removeRange)return t;if(Lt(e))return e;let i=wt(b.default.parseRange(e).filter(e=>e.operator!==`||`&&e.operator!==`-`),e=>Nt(z(e))),[a]=i;function o(e){return(Rt(a[e])?a[e]:Et.includes(e)&&a[e]||Dt.includes(e)?r[e]:null)||null}let s=z(N(Ot,e=>({[e]:o(e)}))),c=$t(a.semver)+s,l=Array.from(new Set(i.map(e=>e.operator))),u=l[0]||``,d=At.some(e=>s.includes(e)),f=l[0]===`<`||l[0]===`<=`,p=l[0]===`>`,m=l.length>1;return!d&&(f||m)?It(c,n.wildcard):(p?`>=`:u)+c}const cn=(e,t)=>{let n=$t(e),r=n?n+t:t;return r=qt(e)?r.slice(0,r.length-4):r,r=Jt(e)?r.slice(0,r.length-2):r,r},ln=(e,t)=>{let n=Qt(t),r=(0,v.default)(e);if(!r)return e;let i=decodeURIComponent(r.branch).replace(/^semver:/,``);return e.replace(i,sn(i,cn(i,n)))},un={silent:0,error:1,minimal:2,warn:3,info:4,verbose:5,silly:6},dn=e=>!e.startsWith(`file:`)&&!e.startsWith(`link:`)&&!e.startsWith(`workspace:`)&&!/^[^/:@]+\/\w+/.test(e);function B(e,t,n=null,r=`log`){!e.json&&e.loglevel!==`silent`&&(n==null||un[e.loglevel??`warn`]>=un[n])&&console[r](t)}function fn(e,t){e.loglevel!==`silent`&&console.log(JSON.stringify(t,null,2))}function pn(e,t){console.log(Object.keys(e).map(t=>t+`@`+e[t]).join(t))}function V(e,t,n){B(e,Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}),n)}function mn(e){let t=new h.default({colAligns:[`left`,`right`,`right`,`right`,`left`,`left`],chars:{top:``,"top-mid":``,"top-left":``,"top-right":``,bottom:``,"bottom-mid":``,"bottom-left":``,"bottom-right":``,left:``,"left-mid":``,mid:``,"mid-mid":``,right:``,"right-mid":``,middle:``}});return t.push(...e),t.toString().split(`
2
2
  `).map(e=>e.trimEnd()).join(`
3
- `)}function vn(e){return cn(e)?ln(e):on(e)?an(e)[1]:e}async function yn({from:e,to:t,format:n,ownersChangedDeps:r,pkgFile:i,time:a}){let o=n?.includes(`dep`)&&i?JSON.parse(await g.default.readFile(i,`utf-8`)):null;return _n(await Promise.all(Object.keys(t).sort().map(async s=>{let c=(n?.includes(`installedVersion`)?await De(s,void 0,{pkgFile:i}):e[s])||``,l=s in(o?.devDependencies??{})?`dev`:s in(o?.peerDependencies??{})?`peer`:s in(o?.optionalDependencies??{})?`optional`:``,u=vn(t[s]||``),d=r?s in r?r[s]?`*owner changed*`:``:`*unknown*`:``,f=Wt(vn(c),u),p=n?.includes(`repo`)&&await Ae(s,void 0,{pkgFile:i})||``,m=n?.includes(`time`)&&a?.[s]?a[s]:``;return[s,...n?.includes(`dep`)?[l?I.gray(l):``]:[],c,`→`,f,d,...[p,m].filter(e=>e)]})))}async function bn({current:e,upgraded:t,ownersChangedDeps:n,pkgFile:r,time:i},a){if(a.format?.includes(`group`)){let o=Ut(t,e,a);for(let{heading:t,packages:s}of o)H(a,`
4
- `+t),H(a,await yn({from:e,to:s,format:a.format,ownersChangedDeps:n,pkgFile:r,time:i}))}else a.format?.includes(`lines`)?gn(t,`
5
- `):H(a,await yn({from:e,to:t,format:a.format,ownersChangedDeps:n,pkgFile:r,time:i}))}function xn(e,t){if(t&&Object.keys(t).length>0){let n=new h.default({colAligns:[`left`,`right`,`right`,`right`,`left`,`left`],chars:{top:``,"top-mid":``,"top-left":``,"top-right":``,bottom:``,"bottom-mid":``,"bottom-left":``,"bottom-right":``,left:``,"left-mid":``,mid:``,"mid-mid":``,right:``,"right-mid":``,middle:``}});n.push(...Object.entries(t).map(([e,t])=>[e,I.yellow(t)])),H(e,`
6
- `+n.toString())}}async function Sn(e,{current:t,latest:n,upgraded:r,total:i,ownersChangedDeps:a,pkgFile:o,time:s,errors:c}){e.format?.includes(`group`)||H(e,``);let l=I.green.bold(`:)`),u=Object.keys(c||{}).length,d=typeof e.target==`string`?e.target:`target`,f=Object.keys(r).length;f===0&&i===0&&u===0?Object.keys(t).length===0?H(e,`No dependencies.`):n&&Object.keys(n).length===0&&Object.values(L(t,(e,t)=>mn(t))).length>0?H(e,`No package versions were returned. This may be a problem with your installed ${e.packageManager}, the npm registry, or your Internet connection. Make sure ${I.cyan(`npx pacote packument ncu-test-v2`)} is working before reporting an issue.`):e.global?H(e,`All global packages are up-to-date ${l}`):H(e,`All dependencies match the ${d} package versions ${l}`):f===0&&i>0?H(e,`No dependencies upgraded ${l}`):f>0&&await bn({current:t,upgraded:r,ownersChangedDeps:a,pkgFile:o,time:s},e),xn(e,c)}function Cn(e,t){H(e,`
3
+ `)}function hn(e){return an(e)?on(e):nn(e)?tn(e)[1]:e}async function gn({from:e,to:t,format:n,ownersChangedDeps:r,pkgFile:i,time:a}){let o=n?.includes(`dep`)&&i?JSON.parse(await g.default.readFile(i,`utf-8`)):null;return mn(await Promise.all(Object.keys(t).sort().map(async s=>{let c=(n?.includes(`installedVersion`)?await we(s,void 0,{pkgFile:i}):e[s])||``,l=s in(o?.devDependencies??{})?`dev`:s in(o?.peerDependencies??{})?`peer`:s in(o?.optionalDependencies??{})?`optional`:``,u=hn(t[s]||``),d=r?s in r?r[s]?`*owner changed*`:``:`*unknown*`:``,f=Vt(hn(c),u),p=n?.includes(`repo`)&&await De(s,void 0,{pkgFile:i})||``,m=n?.includes(`time`)&&a?.[s]?a[s]:``;return[s,...n?.includes(`dep`)?[l?F.gray(l):``]:[],c,`→`,f,d,...[p,m].filter(e=>e)]})))}async function _n({current:e,upgraded:t,ownersChangedDeps:n,pkgFile:r,time:i},a){if(a.format?.includes(`group`)){let o=Bt(t,e,a);for(let{heading:t,packages:s}of o)B(a,`
4
+ `+t),B(a,await gn({from:e,to:s,format:a.format,ownersChangedDeps:n,pkgFile:r,time:i}))}else a.format?.includes(`lines`)?pn(t,`
5
+ `):B(a,await gn({from:e,to:t,format:a.format,ownersChangedDeps:n,pkgFile:r,time:i}))}function vn(e,t){if(t&&Object.keys(t).length>0){let n=new h.default({colAligns:[`left`,`right`,`right`,`right`,`left`,`left`],chars:{top:``,"top-mid":``,"top-left":``,"top-right":``,bottom:``,"bottom-mid":``,"bottom-left":``,"bottom-right":``,left:``,"left-mid":``,mid:``,"mid-mid":``,right:``,"right-mid":``,middle:``}});n.push(...Object.entries(t).map(([e,t])=>[e,F.yellow(t)])),B(e,`
6
+ `+n.toString())}}async function yn(e,{current:t,latest:n,upgraded:r,total:i,ownersChangedDeps:a,pkgFile:o,time:s,errors:c}){e.format?.includes(`group`)||B(e,``);let l=F.green.bold(`:)`),u=Object.keys(c||{}).length,d=typeof e.target==`string`?e.target:`target`,f=Object.keys(r).length;f===0&&i===0&&u===0?Object.keys(t).length===0?B(e,`No dependencies.`):n&&Object.keys(n).length===0&&Object.values(I(t,(e,t)=>dn(t))).length>0?B(e,`No package versions were returned. This may be a problem with your installed ${e.packageManager}, the npm registry, or your Internet connection. Make sure ${F.cyan(`npx pacote packument ncu-test-v2`)} is working before reporting an issue.`):e.global?B(e,`All global packages are up-to-date ${l}`):B(e,`All dependencies match the ${d} package versions ${l}`):f===0&&i>0?B(e,`No dependencies upgraded ${l}`):f>0&&await _n({current:t,upgraded:r,ownersChangedDeps:a,pkgFile:o,time:s},e),vn(e,c)}function bn(e,t){B(e,`
7
7
  Ignored incompatible updates (peer dependencies):
8
- `),H(e,_n(Object.entries(t).map(([e,{from:t,to:n,reason:r}])=>{let i=`reason: `+Object.entries(r).map(([e,t])=>e+` requires `+t).join(`, `);return[e,t,`→`,Wt(t,n),i]})))}function wn(e,t){H(e,`
8
+ `),B(e,mn(Object.entries(t).map(([e,{from:t,to:n,reason:r}])=>{let i=`reason: `+Object.entries(r).map(([e,t])=>e+` requires `+t).join(`, `);return[e,t,`→`,Vt(t,n),i]})))}function xn(e,t){B(e,`
9
9
  Ignored incompatible updates (engines node):
10
- `),H(e,_n(Object.entries(t).map(([e,{from:t,to:n,enginesNode:r}])=>[e,t,`→`,Wt(t,n),`reason: requires node ${r}`])))}const Tn=`___`;function En(e,t=10){return typeof e.timestamp==`number`?e.timestamp+60*1e3*t<Date.now():!1}const Dn=`.ncu-cache.json`,On=`~/${Dn}`,kn=u.default.join(m.default.homedir(),Dn);function An(e){return e===On?kn:e}async function jn(e){e.cacheFile&&await p.default.promises.rm(An(e.cacheFile),{force:!0})}async function Mn(e){if(!e.cache||!e.cacheFile)return;let t=An(e.cacheFile),n={},r=new Set;try{n=JSON.parse(await p.default.promises.readFile(t,`utf-8`)),En(n,e.cacheExpiration)&&(p.default.promises.rm(t,{force:!0}),n={})}catch{}return typeof n.timestamp!=`number`&&(n.timestamp=Date.now()),n.packages||={},n.peers||={},{get:(e,t)=>{if(!n.packages)return;let i=`${e}___${t}`,a=n.packages[i];return a&&!i.includes(a)&&r.add(e),a},set:(e,t,r)=>{if(!n.packages)return;let i=`${e}___${t}`;n.packages[i]=r},getPeers:(e,t)=>{if(!n.peers)return;let i=`${e}___${t}`,a=n.peers[i];return a&&r.add(e),a},setPeers:(e,t,r)=>{let i=`${e}___${t}`;n.peers&&(n.peers[i]=r)},save:async()=>{await p.default.promises.writeFile(t,JSON.stringify(n))},log:t=>{let n=r.size;n!==0&&(H(e,`\nUsing ${n} cached package ${t?`peer`:`version`}${n>1?`s`:``}`,`warn`),H(e,r,`verbose`),r.clear())}}}const Nn=(e,t=92)=>{let n=e.split(`
10
+ `),B(e,mn(Object.entries(t).map(([e,{from:t,to:n,enginesNode:r}])=>[e,t,`→`,Vt(t,n),`reason: requires node ${r}`])))}function Sn(e,t=10){return typeof e.timestamp==`number`?e.timestamp+60*1e3*t<Date.now():!1}const Cn=`.ncu-cache.json`,wn=`~/${Cn}`,Tn=u.default.join(m.default.homedir(),Cn);function En(e){return e===wn?Tn:e}async function Dn(e){e.cacheFile&&await p.default.promises.rm(En(e.cacheFile),{force:!0})}async function On(e){if(!e.cache||!e.cacheFile)return;let t=En(e.cacheFile),n={},r=new Set;try{n=JSON.parse(await p.default.promises.readFile(t,`utf-8`)),Sn(n,e.cacheExpiration)&&(p.default.promises.rm(t,{force:!0}),n={})}catch{}return typeof n.timestamp!=`number`&&(n.timestamp=Date.now()),n.packages||={},n.peers||={},{get:(e,t)=>{if(!n.packages)return;let i=`${e}___${t}`,a=n.packages[i];return a&&!i.includes(a)&&r.add(e),a},set:(e,t,r)=>{if(!n.packages)return;let i=`${e}___${t}`;n.packages[i]=r},getPeers:(e,t)=>{if(!n.peers)return;let i=`${e}___${t}`,a=n.peers[i];return a&&r.add(e),a},setPeers:(e,t,r)=>{let i=`${e}___${t}`;n.peers&&(n.peers[i]=r)},save:async()=>{await p.default.promises.writeFile(t,JSON.stringify(n))},log:t=>{let n=r.size;n!==0&&(B(e,`\nUsing ${n} cached package ${t?`peer`:`version`}${n>1?`s`:``}`,`warn`),B(e,r,`verbose`),r.clear())}}}var kn=(e,t=92)=>{let n=e.split(`
11
11
  `),r=[];return n.forEach(e=>{let n=0;if(e.length===0){r.push(``);return}for(;n<e.length;){let i=e.slice(n,n+t+1),a=i.trimEnd();if(a.length<=t){r.push(a);break}let o=i.split(``).reverse().join(``).match(/[ -][^\W]/)?.index||0,s=i.slice(0,i.length-o);if(s.length===0)break;r.push(s.trimEnd()),n+=s.length}n=0}),r.join(`
12
- `).trim()};var Pn=Nn;const Fn=e=>e.map(([e,t])=>[e,Pn(t)]),In=e=>`
13
- <tr>`+e.map(e=>`<td>${e}</td>`).join(``)+`</tr>`,Ln=({colAligns:e,markdown:t,rows:n})=>{if(t)return`<table>${n.map(In).join(``)}\n</table>`;{let r=new h.default({...e?{colAligns:e}:null});return r.push(...t?n:Fn(n)),r.toString()}};var W=Ln;const Rn=[`latest`,`newest`,`greatest`,`minor`,`patch`,`semver`],G=(e,t)=>e.split(`
12
+ `).trim()};const An=e=>e.map(([e,t])=>[e,kn(t)]),jn=e=>`
13
+ <tr>`+e.map(e=>`<td>${e}</td>`).join(``)+`</tr>`;var H=({colAligns:e,markdown:t,rows:n})=>{if(t)return`<table>${n.map(jn).join(``)}\n</table>`;{let r=new h.default({...e?{colAligns:e}:null});return r.push(...t?n:An(n)),r.toString()}};const Mn=[`latest`,`newest`,`greatest`,`minor`,`patch`,`semver`],U=(e,t)=>e.split(`
14
14
  `).map(e=>`${``.padStart(t,` `)}${e}`).join(`
15
- `),K=(e,{markdown:t}={})=>`${t?"```js\n":``}${G(e,t?0:4)}${t?"\n```":``}`,zn=e=>e.replace(/`/g,``),Bn=(e,{markdown:t}={})=>{let n=``;if(e.cli!==!1&&(n=`Usage:
15
+ `),W=(e,{markdown:t}={})=>`${t?"```js\n":``}${U(e,t?0:4)}${t?"\n```":``}`,Nn=e=>e.replace(/`/g,``),Pn=(e,{markdown:t}={})=>{let n=``;if(e.cli!==!1&&(n=`Usage:
16
16
 
17
- ncu --${e.long}${e.arg?` [${e.arg}]`:``}${e.long===`doctor`?` -u`:``}\n`),e.type===`boolean`&&(n+=` ncu --no-${e.long}\n`),e.short&&(n+=` ncu -${e.short}${e.arg?` [${e.arg}]`:``}${e.long===`doctor`?`u`:``}\n`),e.default!==void 0&&!(Array.isArray(e.default)&&e.default.length===0)&&(n+=`\nDefault: ${e.default}\n`),e.help){let r=typeof e.help==`function`?t?e.help({markdown:t}):zn(e.help({markdown:t})):e.help;n+=`\n${r.trim()}\n\n`}else if(e.description){let r=t?e.description:zn(e.description);n+=`\n${r.replace(/`/g,``)}\n`}return n.trim()},Vn=({markdown:e})=>`Iteratively installs upgrades and runs your project's tests to identify breaking upgrades. Reverts broken upgrades and updates package.json with working upgrades.
17
+ ncu --${e.long}${e.arg?` [${e.arg}]`:``}${e.long===`doctor`?` -u`:``}\n`),e.type===`boolean`&&(n+=` ncu --no-${e.long}\n`),e.short&&(n+=` ncu -${e.short}${e.arg?` [${e.arg}]`:``}${e.long===`doctor`?`u`:``}\n`),e.default!==void 0&&!(Array.isArray(e.default)&&e.default.length===0)&&(n+=`\nDefault: ${e.default}\n`),e.help){let r=typeof e.help==`function`?t?e.help({markdown:t}):Nn(e.help({markdown:t})):e.help;n+=`\n${r.trim()}\n\n`}else if(e.description){let r=t?e.description:Nn(e.description);n+=`\n${r.replace(/`/g,``)}\n`}return n.trim()},Fn=[{long:`cache`,description:`Cache versions to a local cache file. Default \`--cacheFile\` is ${wn} and default \`--cacheExpiration\` is 10 minutes.`,type:`boolean`},{long:`cacheClear`,description:"Clear the default cache, or the cache file specified by `--cacheFile`.",type:`boolean`},{long:`cacheExpiration`,arg:`min`,description:"Cache expiration in minutes. Only works with `--cache`.",parse:e=>parseInt(e,10),default:10,type:`number`},{long:`cacheFile`,arg:`path`,description:"Filepath for the cache file. Only works with `--cache`.",parse:e=>u.default.isAbsolute(e)?e:u.default.join(process.cwd(),e),default:wn,type:`string`},{long:`color`,description:`Force color in terminal.`,type:`boolean`},{long:`concurrency`,arg:`n`,description:`Max number of concurrent HTTP requests to registry.`,parse:e=>parseInt(e,10),default:8,type:`number`},{long:`configFileName`,arg:`s`,description:`Config file name. (default: .ncurc.{json,yml,js,cjs})`,type:`string`},{long:`configFilePath`,arg:`path`,description:"Directory of .ncurc config file. (default: directory of `packageFile`)",type:`string`},{long:`cwd`,arg:`path`,description:`Working directory in which npm will be executed.`,type:`string`},{long:`deep`,description:"Run recursively in current working directory. Alias of (`--packageFile '**/package.json'`).",type:`boolean`},{long:`ignore`,arg:`dirs`,description:`Ignore directories containing package.json files (comma-delimited).`,type:`string | readonly string[]`,parse:e=>e&&typeof e==`string`?e.split(`,`):e},{long:`dep`,arg:`value`,description:`Check one or more sections of dependencies only: dev, optional, peer, prod, or packageManager (comma-delimited).`,default:[`prod`,`dev`,`optional`,`packageManager`],parse:e=>e&&typeof e==`string`?e.split(`,`):e,type:`string | readonly string[]`},{long:`deprecated`,default:!0,description:"Include deprecated packages. Use `--no-deprecated` to exclude deprecated packages (20–25% slower).",type:`boolean`},{long:`doctor`,short:`d`,description:"Iteratively installs upgrades and runs tests to identify breaking upgrades. Requires `-u` to execute.",type:`boolean`,help:({markdown:e})=>`Iteratively installs upgrades and runs your project's tests to identify breaking upgrades. Reverts broken upgrades and updates package.json with working upgrades.
18
18
 
19
- ${I.yellow("Requires `-u` to execute")} (modifies your package file, lock file, and node_modules)
19
+ ${F.yellow("Requires `-u` to execute")} (modifies your package file, lock file, and node_modules)
20
20
 
21
21
  To be more precise:
22
22
 
@@ -30,7 +30,7 @@ To be more precise:
30
30
 
31
31
  Additional options:
32
32
 
33
- ${W({markdown:e,rows:[[I.cyan(`--doctorInstall`),"specify a custom install script (default: `npm install` or `yarn`)"],[I.cyan(`--doctorTest`),"specify a custom test script (default: `npm test`)"]]})}
33
+ ${H({markdown:e,rows:[[F.cyan(`--doctorInstall`),"specify a custom install script (default: `npm install` or `yarn`)"],[F.cyan(`--doctorTest`),"specify a custom test script (default: `npm test`)"]]})}
34
34
 
35
35
  Example:
36
36
 
@@ -60,34 +60,7 @@ Example:
60
60
  npm run test
61
61
  ✓ react-dnd 10.0.0 → 11.1.3
62
62
  Saving partially upgraded package.json
63
- `,Hn=({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`Filters results based on a user provided predicate function after fetching new versions.
64
-
65
- ${t(`filterResults`)} runs _after_ new versions are fetched, in contrast to ${t(`filter`)}, ${t(`reject`)}, ${t(`filterVersion`)}, and ${t(`rejectVersion`)}, which run _before_. This allows you to exclude upgrades with ${t(`filterResults`)} based on how the version has changed (e.g. a major version change).
66
-
67
- > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions.
68
-
69
- ${K(`${I.gray(`/** Exclude major version updates. Note this could also be achieved with --target semver.
70
- @param {string} packageName The name of the dependency.
71
- @param {string} current Current version declaration (may be a range).
72
- @param {SemVer[]} currentVersionSemver Current version declaration in semantic versioning format (may be a range).
73
- @param {string} upgraded Upgraded version.
74
- @param {SemVer} upgradedVersionSemver Upgraded version in semantic versioning format.
75
- @returns {boolean} Return true if the upgrade should be kept; otherwise, it will be ignored.
76
- */`)}
77
- ${I.green(`filterResults`)}: (packageName, { current, currentVersionSemver, upgraded, upgradedVersionSemver }) ${I.cyan(`=>`)} {
78
- ${I.cyan(`const`)} currentMajor ${I.red(`=`)} parseInt(currentVersionSemver[${I.cyan(`0`)}]?.major, ${I.cyan(`10`)})
79
- ${I.cyan(`const`)} upgradedMajor ${I.red(`=`)} parseInt(upgradedVersionSemver?.major, ${I.cyan(`10`)})
80
- ${I.red(`if`)} (currentMajor ${I.red(`&&`)} upgradedMajor) {
81
- ${I.red(`return`)} currentMajor ${I.red(`>=`)} upgradedMajor
82
- }
83
- ${I.red(`return`)} ${I.cyan(`true`)}
84
- }`,{markdown:e})}
85
-
86
- For the SemVer type definition, see: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring
87
-
88
- `},Un=({markdown:e})=>`Modify the output formatting or show additional information. Specify one or more comma-delimited values.\n\n${G(W({colAligns:[`right`,`left`],markdown:e,rows:[[`dep`,`Prints the dependency type (dev, peer, optional) of each package.`],[`group`,`Groups packages by major, minor, patch, and major version zero updates.`],[`installedVersion`,`Prints the exact current version number instead of a range.`],[`lines`,`Prints name@version on separate lines. Useful for piping to npm install.`],[`ownerChanged`,`Shows if the package owner has changed.`],[`repo`,`Infers and displays links to the package's source code repository. Requires packages to be installed.`],[`time`,`Shows the publish time of each upgrade.`]]}),e?0:4)}
89
- `,Wn=({markdown:e})=>`Control the auto-install behavior.\n\n${G(W({colAligns:[`right`,`left`],markdown:e,rows:[[`always`,`Runs your package manager's install command automatically after upgrading.`],[`never`,`Does not install and does not prompt.`],[`prompt`,`Shows a message after upgrading that recommends an install, but does not install. In interactive mode, prompts for install. (default)`]]}),e?0:4)}
90
- `,Gn=({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`Include only package names matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function. Only included packages will be checked with ${t(`--peer`)}.
63
+ `},{long:`doctorInstall`,arg:`command`,description:"Specifies the install script to use in doctor mode. (default: `npm install` or the equivalent for your package manager)",type:`string`},{long:`doctorTest`,arg:`command`,description:"Specifies the test script to use in doctor mode. (default: `npm test`)",type:`string`},{long:`enginesNode`,description:`Include only packages that satisfy engines.node as specified in the package file.`,type:`boolean`},{long:`errorLevel`,short:`e`,arg:`n`,description:`Set the error level. 1: exits with error code 0 if no errors occur. 2: exits with error code 0 if no packages need updating (useful for continuous integration).`,parse:e=>parseInt(e,10),default:1,type:`number`},{long:`filter`,short:`f`,arg:`p`,description:`Include only package names matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function.`,type:`string | RegExp | readonly (string | RegExp)[] | FilterFunction`,parse:(e,t)=>[...t||[],e],help:({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`Include only package names matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function. Only included packages will be checked with ${t(`--peer`)}.
91
64
 
92
65
  ${t(`--filter`)} runs _before_ new versions are fetched, in contrast to ${t(`--filterResults`)} which runs _after_.
93
66
 
@@ -95,87 +68,71 @@ You can also specify a custom function in your .ncurc.js file, or when importing
95
68
 
96
69
  > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions.
97
70
 
98
- ${K(`${I.gray(`/**
99
- @param name The name of the dependency.
100
- @param semver A parsed Semver array of the current version.
101
- (See: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring)
102
- @returns True if the package should be included, false if it should be excluded.
103
- */`)}
104
- ${I.green(`filter`)}: (name, semver) ${I.cyan(`=>`)} {
105
- ${I.red(`if`)} (name.startsWith(${I.yellow(`'@myorg/'`)})) {
106
- ${I.red(`return`)} ${I.cyan(`false`)}
107
- }
108
- ${I.red(`return`)} ${I.cyan(`true`)}
109
- }`,{markdown:e})}
110
-
111
- `},Kn=({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`Include only versions matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function.
112
-
113
- ${t(`--filterVersion`)} runs _before_ new versions are fetched, in contrast to ${t(`--filterResults`)} which runs _after_.
114
-
115
- You can also specify a custom function in your .ncurc.js file, or when importing npm-check-updates as a module.
116
-
117
- > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions. This function is an alias for the ${t(`filter`)} option function.
118
-
119
- ${K(`${I.gray(`/**
71
+ ${W(`${F.gray(`/**
120
72
  @param name The name of the dependency.
121
73
  @param semver A parsed Semver array of the current version.
122
74
  (See: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring)
123
75
  @returns True if the package should be included, false if it should be excluded.
124
76
  */`)}
125
- ${I.green(`filterVersion`)}: (name, semver) ${I.cyan(`=>`)} {
126
- ${I.red(`if`)} (name.startsWith(${I.yellow(`'@myorg/'`)}) ${I.red(`&&`)} parseInt(semver[0]?.major) ${I.cyan(`>`)} ${I.cyan(`5`)}) {
127
- ${I.red(`return`)} ${I.cyan(`false`)}
77
+ ${F.green(`filter`)}: (name, semver) ${F.cyan(`=>`)} {
78
+ ${F.red(`if`)} (name.startsWith(${F.yellow(`'@myorg/'`)})) {
79
+ ${F.red(`return`)} ${F.cyan(`false`)}
128
80
  }
129
- ${I.red(`return`)} ${I.cyan(`true`)}
81
+ ${F.red(`return`)} ${F.cyan(`true`)}
130
82
  }`,{markdown:e})}
131
83
 
132
- `},qn=({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`The inverse of ${t(`--filter`)}. Exclude package names matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function. This will also exclude them from the ${t(`--peer`)} check.
133
-
134
- ${t(`--reject`)} runs _before_ new versions are fetched, in contrast to ${t(`--filterResults`)} which runs _after_.
84
+ `}},{long:`filterResults`,arg:`fn`,cli:!1,description:`Filters results based on a user provided predicate function after fetching new versions.`,type:`FilterResultsFunction`,help:({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`Filters results based on a user provided predicate function after fetching new versions.
135
85
 
136
- You can also specify a custom function in your .ncurc.js file, or when importing npm-check-updates as a module.
86
+ ${t(`filterResults`)} runs _after_ new versions are fetched, in contrast to ${t(`filter`)}, ${t(`reject`)}, ${t(`filterVersion`)}, and ${t(`rejectVersion`)}, which run _before_. This allows you to exclude upgrades with ${t(`filterResults`)} based on how the version has changed (e.g. a major version change).
137
87
 
138
88
  > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions.
139
89
 
140
- ${K(`${I.gray(`/**
141
- @param name The name of the dependency.
142
- @param semver A parsed Semver array of the current version.
143
- (See: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring)
144
- @returns True if the package should be excluded, false if it should be included.
90
+ ${W(`${F.gray(`/** Exclude major version updates. Note this could also be achieved with --target semver.
91
+ @param {string} packageName The name of the dependency.
92
+ @param {string} current Current version declaration (may be a range).
93
+ @param {SemVer[]} currentVersionSemver Current version declaration in semantic versioning format (may be a range).
94
+ @param {string} upgraded Upgraded version.
95
+ @param {SemVer} upgradedVersionSemver Upgraded version in semantic versioning format.
96
+ @returns {boolean} Return true if the upgrade should be kept; otherwise, it will be ignored.
145
97
  */`)}
146
- ${I.green(`reject`)}: (name, semver) ${I.cyan(`=>`)} {
147
- ${I.red(`if`)} (name.startsWith(${I.yellow(`'@myorg/'`)})) {
148
- ${I.red(`return`)} ${I.cyan(`true`)}
98
+ ${F.green(`filterResults`)}: (packageName, { current, currentVersionSemver, upgraded, upgradedVersionSemver }) ${F.cyan(`=>`)} {
99
+ ${F.cyan(`const`)} currentMajor ${F.red(`=`)} parseInt(currentVersionSemver[${F.cyan(`0`)}]?.major, ${F.cyan(`10`)})
100
+ ${F.cyan(`const`)} upgradedMajor ${F.red(`=`)} parseInt(upgradedVersionSemver?.major, ${F.cyan(`10`)})
101
+ ${F.red(`if`)} (currentMajor ${F.red(`&&`)} upgradedMajor) {
102
+ ${F.red(`return`)} currentMajor ${F.red(`>=`)} upgradedMajor
149
103
  }
150
- ${I.red(`return`)} ${I.cyan(`false`)}
104
+ ${F.red(`return`)} ${F.cyan(`true`)}
151
105
  }`,{markdown:e})}
152
106
 
153
- `},Jn=({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`The inverse of ${t(`--filterVersion`)}. Exclude versions matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function.
107
+ For the SemVer type definition, see: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring
154
108
 
155
- ${t(`--rejectVersion`)} runs _before_ new versions are fetched, in contrast to ${t(`--filterResults`)} which runs _after_.
109
+ `}},{long:`filterVersion`,arg:`p`,description:`Filter on package version using comma-or-space-delimited list, /regex/, or predicate function.`,type:`string | RegExp | readonly (string | RegExp)[] | FilterFunction`,parse:(e,t)=>[...t||[],e],help:({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`Include only versions matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function.
110
+
111
+ ${t(`--filterVersion`)} runs _before_ new versions are fetched, in contrast to ${t(`--filterResults`)} which runs _after_.
156
112
 
157
113
  You can also specify a custom function in your .ncurc.js file, or when importing npm-check-updates as a module.
158
114
 
159
- > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions. This function is an alias for the reject option function.
115
+ > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions. This function is an alias for the ${t(`filter`)} option function.
160
116
 
161
- ${K(`${I.gray(`/**
117
+ ${W(`${F.gray(`/**
162
118
  @param name The name of the dependency.
163
119
  @param semver A parsed Semver array of the current version.
164
120
  (See: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring)
165
- @returns True if the package should be excluded, false if it should be included.
121
+ @returns True if the package should be included, false if it should be excluded.
166
122
  */`)}
167
- ${I.green(`rejectVersion`)}: (name, semver) ${I.cyan(`=>`)} {
168
- ${I.red(`if`)} (name.startsWith(${I.yellow(`'@myorg/'`)}) ${I.red(`&&`)} parseInt(semver[0]?.major) ${I.cyan(`>`)} ${I.cyan(`5`)}) {
169
- ${I.red(`return`)} ${I.cyan(`true`)}
123
+ ${F.green(`filterVersion`)}: (name, semver) ${F.cyan(`=>`)} {
124
+ ${F.red(`if`)} (name.startsWith(${F.yellow(`'@myorg/'`)}) ${F.red(`&&`)} parseInt(semver[0]?.major) ${F.cyan(`>`)} ${F.cyan(`5`)}) {
125
+ ${F.red(`return`)} ${F.cyan(`false`)}
170
126
  }
171
- ${I.red(`return`)} ${I.cyan(`false`)}
127
+ ${F.red(`return`)} ${F.cyan(`true`)}
172
128
  }`,{markdown:e})}
173
129
 
174
- `},Yn=({markdown:e})=>`Customize how packages are divided into groups when using \`--format group\`.
130
+ `}},{long:`format`,arg:`value`,description:`Modify the output formatting or show additional information. Specify one or more comma-delimited values: dep, group, ownerChanged, repo, time, lines, installedVersion.`,parse:e=>typeof e==`string`?e.split(`,`):e,default:[],type:`readonly string[]`,choices:[`dep`,`group`,`ownerChanged`,`repo`,`time`,`lines`,`installedVersion`],help:({markdown:e})=>`Modify the output formatting or show additional information. Specify one or more comma-delimited values.\n\n${U(H({colAligns:[`right`,`left`],markdown:e,rows:[[`dep`,`Prints the dependency type (dev, peer, optional) of each package.`],[`group`,`Groups packages by major, minor, patch, and major version zero updates.`],[`installedVersion`,`Prints the exact current version number instead of a range.`],[`lines`,`Prints name@version on separate lines. Useful for piping to npm install.`],[`ownerChanged`,`Shows if the package owner has changed.`],[`repo`,`Infers and displays links to the package's source code repository. Requires packages to be installed.`],[`time`,`Shows the publish time of each upgrade.`]]}),e?0:4)}
131
+ `},{long:`global`,short:`g`,description:`Check global packages instead of in the current project.`,type:`boolean`},{long:`groupFunction`,arg:`fn`,cli:!1,description:"Customize how packages are divided into groups when using `--format group`.",type:`GroupFunction`,help:({markdown:e})=>`Customize how packages are divided into groups when using \`--format group\`.
175
132
 
176
133
  Only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions.
177
134
 
178
- ${K(`${I.gray(`/**
135
+ ${W(`${F.gray(`/**
179
136
  @param name The name of the dependency.
180
137
  @param defaultGroup The predefined group name which will be used by default.
181
138
  @param currentSpec The current version range in your package.json.
@@ -183,52 +140,65 @@ ${K(`${I.gray(`/**
183
140
  @param upgradedVersion The upgraded version number returned by the registry.
184
141
  @returns A predefined group name ('major' | 'minor' | 'patch' | 'majorVersionZero' | 'none') or a custom string to create your own group.
185
142
  */`)}
186
- ${I.green(`groupFunction`)}: (name, defaultGroup, currentSpec, upgradedSpec, upgradedVersion) ${I.cyan(`=>`)} {
187
- ${I.red(`if`)} (name ${I.red(`===`)} ${I.yellow(`'typescript'`)} ${I.red(`&&`)} defaultGroup ${I.red(`===`)} ${I.yellow(`'minor'`)}) {
188
- ${I.red(`return`)} ${I.yellow(`'major'`)}
143
+ ${F.green(`groupFunction`)}: (name, defaultGroup, currentSpec, upgradedSpec, upgradedVersion) ${F.cyan(`=>`)} {
144
+ ${F.red(`if`)} (name ${F.red(`===`)} ${F.yellow(`'typescript'`)} ${F.red(`&&`)} defaultGroup ${F.red(`===`)} ${F.yellow(`'minor'`)}) {
145
+ ${F.red(`return`)} ${F.yellow(`'major'`)}
189
146
  }
190
- ${I.red(`if`)} (name.startsWith(${I.yellow(`'@myorg/'`)})) {
191
- ${I.red(`return`)} ${I.yellow(`'My Org'`)}
147
+ ${F.red(`if`)} (name.startsWith(${F.yellow(`'@myorg/'`)})) {
148
+ ${F.red(`return`)} ${F.yellow(`'My Org'`)}
192
149
  }
193
- ${I.red(`return`)} defaultGroup
150
+ ${F.red(`return`)} defaultGroup
194
151
  }`,{markdown:e})}
195
152
 
196
- `,Xn=({markdown:e})=>`Determines the version to upgrade to. (default: "latest")
153
+ `},{long:`install`,arg:`value`,description:`Control the auto-install behavior: always, never, prompt.`,help:({markdown:e})=>`Control the auto-install behavior.\n\n${U(H({colAligns:[`right`,`left`],markdown:e,rows:[[`always`,`Runs your package manager's install command automatically after upgrading.`],[`never`,`Does not install and does not prompt.`],[`prompt`,`Shows a message after upgrading that recommends an install, but does not install. In interactive mode, prompts for install. (default)`]]}),e?0:4)}
154
+ `,default:`prompt`,choices:[`always`,`never`,`prompt`],type:`'always' | 'never' | 'prompt'`},{long:`interactive`,short:`i`,description:"Enable interactive prompts for each dependency; implies `-u` unless one of the json options are set.",type:`boolean`},{long:`jsonAll`,short:`j`,description:`Output new package file instead of human-readable message.`,type:`boolean`},{long:`jsonDeps`,description:"Like `jsonAll` but only lists `dependencies`, `devDependencies`, `optionalDependencies`, etc of the new package data.",type:`boolean`},{long:`jsonUpgraded`,description:`Output upgraded dependencies in json.`,type:`boolean`},{long:`loglevel`,short:`l`,arg:`n`,description:`Amount to log: silent, error, minimal, warn, info, verbose, silly.`,default:`warn`,type:`string`},{long:`mergeConfig`,description:"Merges nested configs with the root config file for `--deep` or `--packageFile` options. (default: false)",type:`boolean`},{long:`minimal`,short:`m`,description:`Do not upgrade newer versions that are already satisfied by the version range according to semver.`,type:`boolean`},{long:`packageData`,arg:`value`,description:`Package file data (you can also use stdin).`,type:`string | PackageFile`},{long:`packageFile`,arg:`path|glob`,description:`Package file(s) location. (default: ./package.json)`,type:`string`},{long:`packageManager`,short:`p`,arg:`s`,description:`npm, yarn, pnpm, deno, bun, staticRegistry (default: npm).`,help:({markdown:e})=>`Specifies the package manager to use when looking up versions.\n\n${U(H({colAligns:[`right`,`left`],markdown:e,rows:[[`npm`,`System-installed npm. Default.`],[`yarn`,`System-installed yarn. Automatically used if yarn.lock is present.`],[`pnpm`,`System-installed pnpm. Automatically used if pnpm-lock.yaml is present.`],[`bun`,`System-installed bun. Automatically used if bun.lock or bun.lockb is present.`]]}),e?0:4)}
155
+ `,type:`'npm' | 'yarn' | 'pnpm' | 'deno' | 'bun' | 'staticRegistry'`},{long:`peer`,description:`Check peer dependencies of installed packages and filter updates to compatible versions.`,type:`boolean`,help:({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`Check peer dependencies of installed packages and filter updates to compatible versions.
197
156
 
198
- ${G(W({colAligns:[`right`,`left`],markdown:e,rows:[[`greatest`,`Upgrade to the highest version number published, regardless of release date or tag. Includes prereleases.`],[`latest`,`Upgrade to whatever the package's "latest" git tag points to. Excludes prereleases unless --pre is specified.`],[`minor`,`Upgrade to the highest minor version without bumping the major version.`],[`newest`,`Upgrade to the version with the most recent publish date, even if there are other version numbers that are higher. Includes prereleases.`],[`patch`,`Upgrade to the highest patch version without bumping the minor or major versions.`],[`semver`,`Upgrade to the highest version within the semver range specified in your package.json.`],[`@[tag]`,`Upgrade to the version published to a specific tag, e.g. 'next' or 'beta'.`]]}),e?0:4)}
157
+ ${F.bold(`Example`)}:
199
158
 
200
- e.g.
159
+ The following example demonstrates how \`--peer\` works, and how it uses peer dependencies from upgraded modules.
201
160
 
202
- ${K(`ncu --target semver`)}
161
+ The package ${F.bold(`ncu-test-peer-update`)} has two versions published:
203
162
 
204
- You can also specify a custom function in your .ncurc.js file, or when importing npm-check-updates as a module.
163
+ - 1.0.0 has peer dependency ${t(`"ncu-test-return-version": "1.0.x"`)}
164
+ - 1.1.0 has peer dependency ${t(`"ncu-test-return-version": "1.1.x"`)}
205
165
 
206
- > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions.
166
+ Our test app has the following dependencies:
207
167
 
208
- ${K(`${I.gray(`/** Upgrade major version zero to the next minor version, and everything else to latest.
209
- @param name The name of the dependency.
210
- @param semver A parsed Semver object of the upgraded version.
211
- (See: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring)
212
- @returns One of the valid target values (specified in the table above).
213
- */`)}
214
- ${I.green(`target`)}: (name, semver) ${I.cyan(`=>`)} {
215
- ${I.red(`if`)} (parseInt(semver[0]?.major) ${I.red(`===`)} ${I.yellow(`'0'`)}) ${I.red(`return`)} ${I.yellow(`'minor'`)}
216
- ${I.red(`return`)} ${I.yellow(`'latest'`)}
217
- }`,{markdown:e})}
218
- `,Zn=({markdown:e})=>`Specifies the package manager to use when looking up versions.\n\n${G(W({colAligns:[`right`,`left`],markdown:e,rows:[[`npm`,`System-installed npm. Default.`],[`yarn`,`System-installed yarn. Automatically used if yarn.lock is present.`],[`pnpm`,`System-installed pnpm. Automatically used if pnpm-lock.yaml is present.`],[`bun`,`System-installed bun. Automatically used if bun.lock or bun.lockb is present.`]]}),e?0:4)}
219
- `,Qn=({markdown:e})=>`${`Specify whether ${(t=>e?`\`${t}\``:t)(`--registry`)} refers to a full npm registry or a simple JSON file.`}\n\n${G(W({colAligns:[`right`,`left`],markdown:e,rows:[[`npm`,`Default npm registry`],[`json`,`Checks versions from a file or url to a simple JSON registry. Must include the ${I.cyan("`--registry`")} option.
168
+ "ncu-test-peer-update": "1.0.0",
169
+ "ncu-test-return-version": "1.0.0"
170
+
171
+ The latest versions of these packages are:
172
+
173
+ "ncu-test-peer-update": "1.1.0",
174
+ "ncu-test-return-version": "2.0.0"
175
+
176
+ ${F.bold("With `--peer`")}:
177
+
178
+ ncu upgrades packages to the highest version that still adheres to the peer dependency constraints:
179
+
180
+ ncu-test-peer-update 1.0.0 → 1.${F.cyan(`1.0`)}
181
+ ncu-test-return-version 1.0.0 → 1.${F.cyan(`1.0`)}
182
+
183
+ ${F.bold("Without `--peer`")}:
184
+
185
+ As a comparison: without using the \`--peer\` option, ncu will suggest the latest versions, ignoring peer dependencies:
186
+
187
+ ncu-test-peer-update 1.0.0 → 1.${F.cyan(`1.0`)}
188
+ ncu-test-return-version 1.0.0 → ${F.red(`2.0.0`)}
189
+ `}},{long:`pre`,arg:`n`,description:"Include prerelease versions, e.g. -alpha.0, -beta.5, -rc.2. Automatically set to 1 when `--target` is newest or greatest, or when the current version is a prerelease. (default: 0)",parse:e=>!!parseInt(e,10),type:`number`},{long:`prefix`,arg:`path`,description:`Current working directory of npm.`,type:`string`},{long:`registry`,short:`r`,arg:`uri`,description:`Specify the registry to use when looking up package versions.`,type:`string`},{long:`registryType`,arg:`type`,description:`Specify whether --registry refers to a full npm registry or a simple JSON file or url: npm, json. (default: npm)`,help:({markdown:e})=>`${`Specify whether ${(t=>e?`\`${t}\``:t)(`--registry`)} refers to a full npm registry or a simple JSON file.`}\n\n${U(H({colAligns:[`right`,`left`],markdown:e,rows:[[`npm`,`Default npm registry`],[`json`,`Checks versions from a file or url to a simple JSON registry. Must include the ${F.cyan("`--registry`")} option.
220
190
 
221
191
  Example:
222
192
 
223
- ${I.gray(`// local file`)}
224
- ${I.cyan(`$`)} ncu --registryType json --registry ./registry.json
193
+ ${F.gray(`// local file`)}
194
+ ${F.cyan(`$`)} ncu --registryType json --registry ./registry.json
225
195
 
226
- ${I.gray(`// url`)}
227
- ${I.cyan(`$`)} ncu --registryType json --registry https://api.mydomain/registry.json
196
+ ${F.gray(`// url`)}
197
+ ${F.cyan(`$`)} ncu --registryType json --registry https://api.mydomain/registry.json
228
198
 
229
- ${I.gray(`// you can omit --registryType when the registry ends in .json`)}
230
- ${I.cyan(`$`)} ncu --registry ./registry.json
231
- ${I.cyan(`$`)} ncu --registry https://api.mydomain/registry.json
199
+ ${F.gray(`// you can omit --registryType when the registry ends in .json`)}
200
+ ${F.cyan(`$`)} ncu --registry ./registry.json
201
+ ${F.cyan(`$`)} ncu --registry https://api.mydomain/registry.json
232
202
 
233
203
  registry.json:
234
204
 
@@ -238,45 +208,75 @@ registry.json:
238
208
  }
239
209
 
240
210
  `]]}),e?0:4)}
241
- `,$n=({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`Check peer dependencies of installed packages and filter updates to compatible versions.
211
+ `,type:`'npm' | 'json'`},{long:`reject`,short:`x`,arg:`p`,description:`Exclude packages matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function.`,type:`string | RegExp | readonly (string | RegExp)[] | FilterFunction`,parse:(e,t)=>[...t||[],e],help:({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`The inverse of ${t(`--filter`)}. Exclude package names matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function. This will also exclude them from the ${t(`--peer`)} check.
242
212
 
243
- ${I.bold(`Example`)}:
213
+ ${t(`--reject`)} runs _before_ new versions are fetched, in contrast to ${t(`--filterResults`)} which runs _after_.
244
214
 
245
- The following example demonstrates how \`--peer\` works, and how it uses peer dependencies from upgraded modules.
215
+ You can also specify a custom function in your .ncurc.js file, or when importing npm-check-updates as a module.
246
216
 
247
- The package ${I.bold(`ncu-test-peer-update`)} has two versions published:
217
+ > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions.
248
218
 
249
- - 1.0.0 has peer dependency ${t(`"ncu-test-return-version": "1.0.x"`)}
250
- - 1.1.0 has peer dependency ${t(`"ncu-test-return-version": "1.1.x"`)}
219
+ ${W(`${F.gray(`/**
220
+ @param name The name of the dependency.
221
+ @param semver A parsed Semver array of the current version.
222
+ (See: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring)
223
+ @returns True if the package should be excluded, false if it should be included.
224
+ */`)}
225
+ ${F.green(`reject`)}: (name, semver) ${F.cyan(`=>`)} {
226
+ ${F.red(`if`)} (name.startsWith(${F.yellow(`'@myorg/'`)})) {
227
+ ${F.red(`return`)} ${F.cyan(`true`)}
228
+ }
229
+ ${F.red(`return`)} ${F.cyan(`false`)}
230
+ }`,{markdown:e})}
251
231
 
252
- Our test app has the following dependencies:
232
+ `}},{long:`rejectVersion`,arg:`p`,description:`Exclude package.json versions using comma-or-space-delimited list, /regex/, or predicate function.`,type:`string | RegExp | readonly (string | RegExp)[] | FilterFunction`,parse:(e,t)=>[...t||[],e],help:({markdown:e})=>{let t=t=>e?`\`${t}\``:t;return`The inverse of ${t(`--filterVersion`)}. Exclude versions matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function.
253
233
 
254
- "ncu-test-peer-update": "1.0.0",
255
- "ncu-test-return-version": "1.0.0"
234
+ ${t(`--rejectVersion`)} runs _before_ new versions are fetched, in contrast to ${t(`--filterResults`)} which runs _after_.
256
235
 
257
- The latest versions of these packages are:
236
+ You can also specify a custom function in your .ncurc.js file, or when importing npm-check-updates as a module.
258
237
 
259
- "ncu-test-peer-update": "1.1.0",
260
- "ncu-test-return-version": "2.0.0"
238
+ > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions. This function is an alias for the reject option function.
261
239
 
262
- ${I.bold("With `--peer`")}:
240
+ ${W(`${F.gray(`/**
241
+ @param name The name of the dependency.
242
+ @param semver A parsed Semver array of the current version.
243
+ (See: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring)
244
+ @returns True if the package should be excluded, false if it should be included.
245
+ */`)}
246
+ ${F.green(`rejectVersion`)}: (name, semver) ${F.cyan(`=>`)} {
247
+ ${F.red(`if`)} (name.startsWith(${F.yellow(`'@myorg/'`)}) ${F.red(`&&`)} parseInt(semver[0]?.major) ${F.cyan(`>`)} ${F.cyan(`5`)}) {
248
+ ${F.red(`return`)} ${F.cyan(`true`)}
249
+ }
250
+ ${F.red(`return`)} ${F.cyan(`false`)}
251
+ }`,{markdown:e})}
263
252
 
264
- ncu upgrades packages to the highest version that still adheres to the peer dependency constraints:
253
+ `}},{long:`removeRange`,description:`Remove version ranges from the final package version.`,type:`boolean`},{long:`root`,default:!0,description:"Runs updates on the root project in addition to specified workspaces. Only allowed with `--workspace` or `--workspaces`.",type:`boolean`},{long:`retry`,arg:`n`,description:`Number of times to retry failed requests for package info.`,parse:e=>parseInt(e,10),default:3,type:`number`},{long:`silent`,short:`s`,description:"Don't output anything. Alias for `--loglevel` silent.",type:`boolean`},{long:`stdin`,description:`Read package.json from stdin.`,type:`string`},{long:`target`,short:`t`,arg:`value`,description:"Determines the version to upgrade to: latest, newest, greatest, minor, patch, semver, `@[tag]`, or [function]. (default: latest)",help:({markdown:e})=>`Determines the version to upgrade to. (default: "latest")
254
+
255
+ ${U(H({colAligns:[`right`,`left`],markdown:e,rows:[[`greatest`,`Upgrade to the highest version number published, regardless of release date or tag. Includes prereleases.`],[`latest`,`Upgrade to whatever the package's "latest" git tag points to. Excludes prereleases unless --pre is specified.`],[`minor`,`Upgrade to the highest minor version without bumping the major version.`],[`newest`,`Upgrade to the version with the most recent publish date, even if there are other version numbers that are higher. Includes prereleases.`],[`patch`,`Upgrade to the highest patch version without bumping the minor or major versions.`],[`semver`,`Upgrade to the highest version within the semver range specified in your package.json.`],[`@[tag]`,`Upgrade to the version published to a specific tag, e.g. 'next' or 'beta'.`]]}),e?0:4)}
265
256
 
266
- ncu-test-peer-update 1.0.0 → 1.${I.cyan(`1.0`)}
267
- ncu-test-return-version 1.0.0 → 1.${I.cyan(`1.0`)}
257
+ e.g.
268
258
 
269
- ${I.bold("Without `--peer`")}:
259
+ ${W(`ncu --target semver`)}
270
260
 
271
- As a comparison: without using the \`--peer\` option, ncu will suggest the latest versions, ignoring peer dependencies:
261
+ You can also specify a custom function in your .ncurc.js file, or when importing npm-check-updates as a module.
272
262
 
273
- ncu-test-peer-update 1.0.0 → 1.${I.cyan(`1.0`)}
274
- ncu-test-return-version 1.0.0 → ${I.red(`2.0.0`)}
275
- `},er=({markdown:e})=>`The cooldown option helps protect against supply chain attacks by requiring package versions to be published at least the given number of days before considering them for upgrade.
263
+ > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions.
264
+
265
+ ${W(`${F.gray(`/** Upgrade major version zero to the next minor version, and everything else to latest.
266
+ @param name The name of the dependency.
267
+ @param semver A parsed Semver object of the upgraded version.
268
+ (See: https://git.coolaj86.com/coolaj86/semver-utils.js#semverutils-parse-semverstring)
269
+ @returns One of the valid target values (specified in the table above).
270
+ */`)}
271
+ ${F.green(`target`)}: (name, semver) ${F.cyan(`=>`)} {
272
+ ${F.red(`if`)} (parseInt(semver[0]?.major) ${F.red(`===`)} ${F.yellow(`'0'`)}) ${F.red(`return`)} ${F.yellow(`'minor'`)}
273
+ ${F.red(`return`)} ${F.yellow(`'latest'`)}
274
+ }`,{markdown:e})}
275
+ `,type:`${Mn.map(e=>`'${e}'`).join(` | `)} | \`@\${string}\` | TargetFunction`},{long:`timeout`,arg:`ms`,description:`Global timeout in milliseconds. (default: no global timeout and 30 seconds per npm-registry-fetch)`,parse:e=>parseInt(e,10),type:`number`},{long:`upgrade`,short:`u`,description:`Overwrite package file with upgraded versions instead of just outputting to console.`,type:`boolean`},{long:`verbose`,description:"Log additional information for debugging. Alias for `--loglevel` verbose.",type:`boolean`},{long:`workspace`,arg:`s`,parse:(e,t)=>[...t,e],default:[],description:"Run on one or more specified workspaces. Add `--no-root` to exclude the root project.",type:`readonly string[]`},{long:`workspaces`,short:`w`,description:"Run on all workspaces. Add `--no-root` to exclude the root project.",type:`boolean`},{long:`cooldown`,short:`c`,arg:`n`,description:`Sets a minimum age (in days) for package versions to be considered for upgrade, reducing the risk of installing newly published, potentially compromised packages.`,type:`number | CooldownFunction`,help:({markdown:e})=>`The cooldown option helps protect against supply chain attacks by requiring package versions to be published at least the given number of days before considering them for upgrade.
276
276
 
277
- Note that previous stable versions will ${I.bold(`not`)} be suggested. The package will be completely ignored if its latest published version is within the cooldown period. This is due to a limitation of the npm registry, which does not provide a way to query previous stable versions.
277
+ Note that previous stable versions will ${F.bold(`not`)} be suggested. The package will be completely ignored if its latest published version is within the cooldown period. This is due to a limitation of the npm registry, which does not provide a way to query previous stable versions.
278
278
 
279
- ${I.bold(`Example`)}:
279
+ ${F.bold(`Example`)}:
280
280
 
281
281
  Let's examine how cooldown works with a package that has these versions available:
282
282
 
@@ -290,9 +290,9 @@ Let's examine how cooldown works with a package that has these versions availabl
290
290
  2.0.0-beta.2 Released 3 days ago (beta release)
291
291
  2.0.0-beta.3 Released 2 days ago (beta release) [beta]
292
292
 
293
- ${I.bold(`With default target (latest)`)}:
293
+ ${F.bold(`With default target (latest)`)}:
294
294
 
295
- ${K(`${I.cyan(`$`)} ncu --cooldown 5`,{markdown:e})}
295
+ ${W(`${F.cyan(`$`)} ncu --cooldown 5`,{markdown:e})}
296
296
 
297
297
  No update will be suggested because:
298
298
 
@@ -300,9 +300,9 @@ No update will be suggested because:
300
300
  - Cooldown requires versions to be at least 5 days old
301
301
  - Use \`--cooldown 4\` or lower to allow this update
302
302
 
303
- ${I.bold("With `@beta`/`@tag` target")}:
303
+ ${F.bold("With `@beta`/`@tag` target")}:
304
304
 
305
- ${K(`${I.cyan(`$`)} ncu --cooldown 3 --target @beta`,{markdown:e})}
305
+ ${W(`${F.cyan(`$`)} ncu --cooldown 3 --target @beta`,{markdown:e})}
306
306
 
307
307
  No update will be suggested because:
308
308
 
@@ -310,9 +310,9 @@ No update will be suggested because:
310
310
  - Cooldown requires versions to be at least 3 days old
311
311
  - Use \`--cooldown 2\` or lower to allow this update
312
312
 
313
- ${I.bold(`With other targets`)}:
313
+ ${F.bold(`With other targets`)}:
314
314
 
315
- ${K(`${I.cyan(`$`)} ncu --cooldown 5 --target greatest|newest|minor|patch|semver`,{markdown:e})}
315
+ ${W(`${F.cyan(`$`)} ncu --cooldown 5 --target greatest|newest|minor|patch|semver`,{markdown:e})}
316
316
 
317
317
  Each target will select the best version that is at least 5 days old:
318
318
 
@@ -321,7 +321,7 @@ Each target will select the best version that is at least 5 days old:
321
321
  minor → 1.2.0 (highest minor version outside cooldown)
322
322
  patch → 1.1.1 (highest patch version outside cooldown)
323
323
 
324
- ${I.bold(`Note for latest/tag targets`)}:
324
+ ${F.bold(`Note for latest/tag targets`)}:
325
325
 
326
326
  > :warning: For packages that update frequently (e.g. daily releases), using a long cooldown period (7+ days) with the default \`--target latest\` or \`--target @tag\` may prevent all updates since new versions will be published before older ones meet the cooldown requirement. Please consider this when setting your cooldown period.
327
327
 
@@ -329,46 +329,46 @@ You can also provide a custom function in your .ncurc.js file or when importing
329
329
 
330
330
  > :warning: The predicate function is only available in .ncurc.js or when importing npm-check-updates as a module, not on the command line. To convert a JSON config to a JS config, follow the instructions at https://github.com/raineorshine/npm-check-updates#config-functions.
331
331
 
332
- ${K(`${I.gray(`/** Set cooldown to 3 days but skip it for \`@my-company\` packages.
332
+ ${W(`${F.gray(`/** Set cooldown to 3 days but skip it for \`@my-company\` packages.
333
333
  @param packageName The name of the dependency.
334
334
  @returns Cooldown days restriction for given package.
335
335
  */`)}
336
- ${I.green(`cooldown`)}: packageName ${I.cyan(`=>`)} (packageName.startsWith(${I.yellow(`'@my-company'`)}) ? ${I.cyan(`0`)} : ${I.cyan(`3`)})`,{markdown:e})}
337
- `,tr=[{long:`cache`,description:`Cache versions to a local cache file. Default \`--cacheFile\` is ${On} and default \`--cacheExpiration\` is 10 minutes.`,type:`boolean`},{long:`cacheClear`,description:"Clear the default cache, or the cache file specified by `--cacheFile`.",type:`boolean`},{long:`cacheExpiration`,arg:`min`,description:"Cache expiration in minutes. Only works with `--cache`.",parse:e=>parseInt(e,10),default:10,type:`number`},{long:`cacheFile`,arg:`path`,description:"Filepath for the cache file. Only works with `--cache`.",parse:e=>u.default.isAbsolute(e)?e:u.default.join(process.cwd(),e),default:On,type:`string`},{long:`color`,description:`Force color in terminal.`,type:`boolean`},{long:`concurrency`,arg:`n`,description:`Max number of concurrent HTTP requests to registry.`,parse:e=>parseInt(e,10),default:8,type:`number`},{long:`configFileName`,arg:`s`,description:`Config file name. (default: .ncurc.{json,yml,js,cjs})`,type:`string`},{long:`configFilePath`,arg:`path`,description:"Directory of .ncurc config file. (default: directory of `packageFile`)",type:`string`},{long:`cwd`,arg:`path`,description:`Working directory in which npm will be executed.`,type:`string`},{long:`deep`,description:"Run recursively in current working directory. Alias of (`--packageFile '**/package.json'`).",type:`boolean`},{long:`ignore`,arg:`dirs`,description:`Ignore directories containing package.json files (comma-delimited).`,type:`string | readonly string[]`,parse:e=>e&&typeof e==`string`?e.split(`,`):e},{long:`dep`,arg:`value`,description:`Check one or more sections of dependencies only: dev, optional, peer, prod, or packageManager (comma-delimited).`,default:[`prod`,`dev`,`optional`,`packageManager`],parse:e=>e&&typeof e==`string`?e.split(`,`):e,type:`string | readonly string[]`},{long:`deprecated`,default:!0,description:"Include deprecated packages. Use `--no-deprecated` to exclude deprecated packages (20–25% slower).",type:`boolean`},{long:`doctor`,short:`d`,description:"Iteratively installs upgrades and runs tests to identify breaking upgrades. Requires `-u` to execute.",type:`boolean`,help:Vn},{long:`doctorInstall`,arg:`command`,description:"Specifies the install script to use in doctor mode. (default: `npm install` or the equivalent for your package manager)",type:`string`},{long:`doctorTest`,arg:`command`,description:"Specifies the test script to use in doctor mode. (default: `npm test`)",type:`string`},{long:`enginesNode`,description:`Include only packages that satisfy engines.node as specified in the package file.`,type:`boolean`},{long:`errorLevel`,short:`e`,arg:`n`,description:`Set the error level. 1: exits with error code 0 if no errors occur. 2: exits with error code 0 if no packages need updating (useful for continuous integration).`,parse:e=>parseInt(e,10),default:1,type:`number`},{long:`filter`,short:`f`,arg:`p`,description:`Include only package names matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function.`,type:`string | RegExp | readonly (string | RegExp)[] | FilterFunction`,parse:(e,t)=>[...t||[],e],help:Gn},{long:`filterResults`,arg:`fn`,cli:!1,description:`Filters results based on a user provided predicate function after fetching new versions.`,type:`FilterResultsFunction`,help:Hn},{long:`filterVersion`,arg:`p`,description:`Filter on package version using comma-or-space-delimited list, /regex/, or predicate function.`,type:`string | RegExp | readonly (string | RegExp)[] | FilterFunction`,parse:(e,t)=>[...t||[],e],help:Kn},{long:`format`,arg:`value`,description:`Modify the output formatting or show additional information. Specify one or more comma-delimited values: dep, group, ownerChanged, repo, time, lines, installedVersion.`,parse:e=>typeof e==`string`?e.split(`,`):e,default:[],type:`readonly string[]`,choices:[`dep`,`group`,`ownerChanged`,`repo`,`time`,`lines`,`installedVersion`],help:Un},{long:`global`,short:`g`,description:`Check global packages instead of in the current project.`,type:`boolean`},{long:`groupFunction`,arg:`fn`,cli:!1,description:"Customize how packages are divided into groups when using `--format group`.",type:`GroupFunction`,help:Yn},{long:`install`,arg:`value`,description:`Control the auto-install behavior: always, never, prompt.`,help:Wn,default:`prompt`,choices:[`always`,`never`,`prompt`],type:`'always' | 'never' | 'prompt'`},{long:`interactive`,short:`i`,description:"Enable interactive prompts for each dependency; implies `-u` unless one of the json options are set.",type:`boolean`},{long:`jsonAll`,short:`j`,description:`Output new package file instead of human-readable message.`,type:`boolean`},{long:`jsonDeps`,description:"Like `jsonAll` but only lists `dependencies`, `devDependencies`, `optionalDependencies`, etc of the new package data.",type:`boolean`},{long:`jsonUpgraded`,description:`Output upgraded dependencies in json.`,type:`boolean`},{long:`loglevel`,short:`l`,arg:`n`,description:`Amount to log: silent, error, minimal, warn, info, verbose, silly.`,default:`warn`,type:`string`},{long:`mergeConfig`,description:"Merges nested configs with the root config file for `--deep` or `--packageFile` options. (default: false)",type:`boolean`},{long:`minimal`,short:`m`,description:`Do not upgrade newer versions that are already satisfied by the version range according to semver.`,type:`boolean`},{long:`packageData`,arg:`value`,description:`Package file data (you can also use stdin).`,type:`string | PackageFile`},{long:`packageFile`,arg:`path|glob`,description:`Package file(s) location. (default: ./package.json)`,type:`string`},{long:`packageManager`,short:`p`,arg:`s`,description:`npm, yarn, pnpm, deno, bun, staticRegistry (default: npm).`,help:Zn,type:`'npm' | 'yarn' | 'pnpm' | 'deno' | 'bun' | 'staticRegistry'`},{long:`peer`,description:`Check peer dependencies of installed packages and filter updates to compatible versions.`,type:`boolean`,help:$n},{long:`pre`,arg:`n`,description:"Include prerelease versions, e.g. -alpha.0, -beta.5, -rc.2. Automatically set to 1 when `--target` is newest or greatest, or when the current version is a prerelease. (default: 0)",parse:e=>!!parseInt(e,10),type:`number`},{long:`prefix`,arg:`path`,description:`Current working directory of npm.`,type:`string`},{long:`registry`,short:`r`,arg:`uri`,description:`Specify the registry to use when looking up package versions.`,type:`string`},{long:`registryType`,arg:`type`,description:`Specify whether --registry refers to a full npm registry or a simple JSON file or url: npm, json. (default: npm)`,help:Qn,type:`'npm' | 'json'`},{long:`reject`,short:`x`,arg:`p`,description:`Exclude packages matching the given string, wildcard, glob, comma-or-space-delimited list, /regex/, or predicate function.`,type:`string | RegExp | readonly (string | RegExp)[] | FilterFunction`,parse:(e,t)=>[...t||[],e],help:qn},{long:`rejectVersion`,arg:`p`,description:`Exclude package.json versions using comma-or-space-delimited list, /regex/, or predicate function.`,type:`string | RegExp | readonly (string | RegExp)[] | FilterFunction`,parse:(e,t)=>[...t||[],e],help:Jn},{long:`removeRange`,description:`Remove version ranges from the final package version.`,type:`boolean`},{long:`root`,default:!0,description:"Runs updates on the root project in addition to specified workspaces. Only allowed with `--workspace` or `--workspaces`.",type:`boolean`},{long:`retry`,arg:`n`,description:`Number of times to retry failed requests for package info.`,parse:e=>parseInt(e,10),default:3,type:`number`},{long:`silent`,short:`s`,description:"Don't output anything. Alias for `--loglevel` silent.",type:`boolean`},{long:`stdin`,description:`Read package.json from stdin.`,type:`string`},{long:`target`,short:`t`,arg:`value`,description:"Determines the version to upgrade to: latest, newest, greatest, minor, patch, semver, `@[tag]`, or [function]. (default: latest)",help:Xn,type:`${Rn.map(e=>`'${e}'`).join(` | `)} | \`@\${string}\` | TargetFunction`},{long:`timeout`,arg:`ms`,description:`Global timeout in milliseconds. (default: no global timeout and 30 seconds per npm-registry-fetch)`,parse:e=>parseInt(e,10),type:`number`},{long:`upgrade`,short:`u`,description:`Overwrite package file with upgraded versions instead of just outputting to console.`,type:`boolean`},{long:`verbose`,description:"Log additional information for debugging. Alias for `--loglevel` verbose.",type:`boolean`},{long:`workspace`,arg:`s`,parse:(e,t)=>[...t,e],default:[],description:"Run on one or more specified workspaces. Add `--no-root` to exclude the root project.",type:`readonly string[]`},{long:`workspaces`,short:`w`,description:"Run on all workspaces. Add `--no-root` to exclude the root project.",type:`boolean`},{long:`cooldown`,short:`c`,arg:`n`,description:`Sets a minimum age (in days) for package versions to be considered for upgrade, reducing the risk of installing newly published, potentially compromised packages.`,type:`number | CooldownFunction`,help:er,parse:e=>typeof e==`function`?e:parseInt(e,10)}],q=tr.reduce((e,t)=>({...e,...t.short?{[t.short]:t}:null,...t.long?{[t.long]:t}:null}),{}),nr=Dt(tr,e=>e.long);var rr=nr;const ir=[`package-lock.json`,`yarn.lock`,`pnpm-lock.yaml`,`deno.json`,`deno.jsonc`,`bun.lock`,`bun.lockb`];async function ar(e,t=g.default.readdir){try{let n=m.default.homedir(),r=m.default.tmpdir(),i=e.cwd?e.cwd:e.packageFile?u.default.dirname(e.packageFile):`.`;for(i=u.default.resolve(i);;){let e=await t(i);for(let t of ir)if(e.includes(t))return{directoryPath:i,filename:t};let a=u.default.resolve(i,`..`);if(a===i||a===n||a===r)break;i=a}}catch{}return null}const or={"package-lock":`npm`,yarn:`yarn`,"pnpm-lock":`pnpm`,deno:`deno`,bun:`bun`},sr=()=>{let e=process.env.npm_config_user_agent??``,t=process.env.npm_execpath??``;return e.startsWith(`yarn/`)||t.includes(`yarn`)||__dirname.includes(`/yarn/`)||__dirname.includes(`\\Yarn\\`)?`yarn`:e.startsWith(`pnpm/`)||t.includes(`pnpm`)||__dirname.includes(`/pnpm/`)||__dirname.includes(`\\pnpm\\`)?`pnpm`:e.startsWith(`bun/`)||typeof Bun<`u`||process.versions.bun||__dirname.includes(`/.bun/`)||__dirname.includes(`\\.bun\\`)?`bun`:`npm`},cr=async(e,t=g.default.readdir)=>{if(e.packageManager)return e.packageManager;if(e.global)return sr();let n=(await ar(e,t))?.filename;return n?or[n.split(`.`)[0]]:`npm`};var lr=cr,ur=class e{constructor(e,t,n){this.__specs=e||{},this.__opts=t||{},this.__providers=hr(n.filter(e=>typeof e==`object`&&!!e)),this.__isFiggyPudding=!0}get(e){return dr(this,e,!0)}toJSON(){let e={};return this.forEach((t,n)=>{e[n]=t}),e}forEach(e,t=this){for(let[n,r]of this.entries())e.call(t,r,n,this)}*entries(e){for(let e of Object.keys(this.__specs))yield[e,this.get(e)];let t=e||this.__opts.other;if(t){let e=new Set;for(let n of this.__providers){let r=n.entries?n.entries(t):gr(n);for(let[n,i]of r)t(n)&&!e.has(n)&&(e.add(n),yield[n,i])}}}concat(...t){return new Proxy(new e(this.__specs,this.__opts,hr(this.__providers).concat(t)),pr)}};function dr(e,t,n){let r=e.__specs[t];r||={};let i;for(let n of e.__providers)if(i=fr(t,n),i!==void 0)break;return i===void 0&&r.default!==void 0?typeof r.default==`function`?r.default(e):r.default:i}function fr(e,t){let n;return n=t.__isFiggyPudding?dr(t,e,!1):t[e],n}const pr={get(e,t){return typeof t==`symbol`||t.slice(0,2)===`__`||t in ur.prototype?e[t]:e.get(t)}};function mr(e,t){function n(...n){return new Proxy(new ur(e,t,n),pr)}return n}function hr(e){let t=[];return e.forEach(e=>t.unshift(e)),t}function gr(e){return Object.keys(e).map(t=>[t,e[t]])}const _r=mr({},{other(){return!0}}),vr=mr({cache:{default:j.default.join(process.env.HOME||A.default.homedir(),`.npm`)},configNames:{default:[`npmrc`,`.npmrc`]},envPrefix:{default:/^npm_config_/i},cwd:{default:()=>process.cwd()},globalconfig:{default:()=>j.default.join(xr(),`etc`,`npmrc`)},userconfig:{default:j.default.join(process.env.HOME||A.default.homedir(),`.npmrc`)}});function yr(e,t){let n=vr(t),r={};Object.keys(process.env).forEach(e=>{if(!e.match(n.envPrefix))return;let t=e.toLowerCase().replace(n.envPrefix,``).replace(/(?!^)_/g,`-`);r[t]=process.env[e]});let i=_r(e),a=n.userconfig||i.userconfig||r.userconfig,o=a&&br(a),s=n.globalconfig||i.globalconfig||r.globalconfig,c=s&&br(s),l=(0,O.findUpSync)(n.configNames,{cwd:n.cwd}),u={};l&&l!==a&&(u=br(l));let d=_r(n,c,o,u,r,i);return d.cache?d.concat({cache:j.default.resolve(i.cache||r.cache?n.cwd:u.cache?j.default.dirname(l):o.cache?j.default.dirname(a):c.cache?j.default.dirname(s):j.default.dirname(a),d.cache)}):d}function br(e){let t;try{t=k.default.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return``;throw e}return T.default.parse(t)}function xr(){if(process.env.PREFIX)return process.env.PREFIX;if(process.platform===`win32`)return j.default.dirname(process.execPath);{let e=j.default.dirname(j.default.dirname(process.execPath));return process.env.DESTDIR&&(e=j.default.join(process.env.DESTDIR,e)),e}}var Sr=yr;function Cr(e,t){return t.deprecated||!e.deprecated}function wr(e,t){return t.pre?!0:!e.version||!Yt(e.version)}function Tr(e,t){if(!t)return!0;let n=b.default.minVersion(t)?.version;if(!n)return!0;let r=e?.engines?.node;return!r||b.default.satisfies(n,r)}function Er(e,t){return t?Object.values(t).every(t=>t[e.name]===void 0||b.default.satisfies(e.version,t[e.name])):!0}function Dr(e,t){let n=e.version,r=e?.time?.[n];if(!t)return!0;if(!r)return!1;let i=new Date(r),a=typeof t==`function`?t(e.name)??0:t;return Date.now()-i.getTime()>=a*864e5}function Or(e){let t=[t=>Cr(t,e),t=>wr(t,e),e.enginesNode?t=>Tr(t,e.nodeEngineVersion):null,e.peerDependencies?t=>Er(t,e.peerDependencies):null,e.cooldown?t=>Dr(t,e.cooldown):null];return e=>t.every(t=>t?t(e):!0)}var kr=s({default:()=>ni,defaultPrefix:()=>Gr,distTag:()=>Xr,fetchUpgradedPackumentMemo:()=>J,getEngines:()=>Jr,getPeerDependencies:()=>qr,greatest:()=>Kr,latest:()=>Zr,list:()=>Yr,minor:()=>$r,mockFetchUpgradedPackument:()=>Vr,newest:()=>Qr,normalizeNpmConfig:()=>Fr,packageAuthorChanged:()=>zr,parseJson:()=>Rr,patch:()=>ei,semver:()=>ti});const Ar=new Set([`-`,`||`,`&&`,`<`,`<=`,`>`,`>=`]),jr=e=>(0,x.parseRange)(e).some(e=>Ar.has(e.operator||``)),Mr=e=>e&&(!b.default.validRange(e)||Bt(e)),Nr=async(e,t,n,r={},i)=>{let a=E.default.pickRegistry(e,r),o={"user-agent":r.userAgent||`npm-check-updates/${de} node/${process.version}`,"ncu-version":de,"ncu-pkg-id":`registry:${e}`,accept:r.fullMetadata?`application/json`:`application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*`,...r.headers},s=new URL(encodeURIComponent(e),a.endsWith(`/`)?a:`${a}/`);i&&(s.pathname+=`/${i}`);let c={...r,headers:o,spec:e};try{if(r.fullMetadata)return E.default.json(s.href,c);{n||=`latest`;let r=E.default.json.stream(s.href,`$*`,c),i={name:e};for await(let{key:e,value:n}of r)if(t.includes(e)&&(i[e]=n,Object.keys(i).length===t.length+1))break;return i}}catch(a){if(a.code!==`E404`||r.fullMetadata)throw a;return Nr(e,t,n,{...r,fullMetadata:!0},i)}},Pr=(e,t)=>{let n=e.version;return{...e,name:t.name,...t?.time?.[n]?{time:t.time}:null}},Fr=(e,t)=>{let n={cafile:e=>{if(!e)return;let n=p.default.readFileSync(u.default.resolve(t||``,(0,D.default)(e)),`utf8`),r=`-----END CERTIFICATE-----`;return{ca:n.split(r).filter(e=>!!e.trim()).map(e=>`${e.trimStart()}${r}`)}},maxsockets:`maxSockets`,"strict-ssl":`strictSSL`},r={all:`boolean`,allowsameversion:`boolean`,audit:`boolean`,binlinks:`boolean`,color:`boolean`,commithooks:`boolean`,description:`boolean`,dev:`boolean`,diffignoreallspace:`boolean`,diffnameonly:`boolean`,diffnoprefix:`boolean`,difftext:`boolean`,dryrun:`boolean`,enginestrict:`boolean`,force:`boolean`,foregroundscripts:`boolean`,formatpackagelock:`boolean`,fund:`boolean`,gittagversion:`boolean`,global:`boolean`,globalstyle:`boolean`,ifpresent:`boolean`,ignorescripts:`boolean`,includestaged:`boolean`,includeworkspaceroot:`boolean`,installlinks:`boolean`,json:`boolean`,legacybundling:`boolean`,legacypeerdeps:`boolean`,link:`boolean`,long:`boolean`,offline:`boolean`,omitlockfileregistryresolved:`boolean`,packagelock:`boolean`,packagelockonly:`boolean`,parseable:`boolean`,preferoffline:`boolean`,preferonline:`boolean`,progress:`boolean`,readonly:`boolean`,rebuildbundle:`boolean`,save:`boolean`,savebundle:`boolean`,savedev:`boolean`,saveexact:`boolean`,saveoptional:`boolean`,savepeer:`boolean`,saveprod:`boolean`,shrinkwrap:`boolean`,signgitcommit:`boolean`,signgittag:`boolean`,strictpeerdeps:`boolean`,strictssl:`boolean`,timing:`boolean`,unicode:`boolean`,updatenotifier:`boolean`,usage:`boolean`,version:`boolean`,versions:`boolean`,workspacesupdate:`boolean`,diffunified:`number`,fetchretries:`number`,fetchretryfactor:`number`,fetchretrymaxtimeout:`number`,fetchretrymintimeout:`number`,fetchtimeout:`number`,logsmax:`number`,maxsockets:`number`,searchlimit:`number`,searchstaleness:`number`,ssopollfrequency:`number`,timeout:`number`},i=e=>!!e&&e!==`false`&&e!==`0`,a=e=>parseInt(e)||0;return P(e,(e,t)=>{let o=typeof t==`string`?r[e.replace(/-/g,``).toLowerCase()]===`boolean`?i(t):r[e.replace(/-/g,``).toLowerCase()]===`number`?a(t):t.replace(/\${([^}]+)}/,(e,t)=>process.env[t]):t,{[e]:s}=n;return typeof s==`string`?{[s]:o}:typeof s==`function`?{...s(o.toString())}:{[e.match(/^[a-z]/i)?(0,C.default)(e):e]:o}})},Ir=(0,w.default)(e=>{let t;if(e)try{t=T.default.parse(p.default.readFileSync(e,`utf-8`))}catch(e){if(e.code===`ENOENT`)return null;throw e}else t={...Sr(null,{userconfig:process.env.npm_config_userconfig||process.env.NPM_CONFIG_USERCONFIG}).toJSON(),cache:!1};return Fr(t,e)}),Lr=Ir();function Rr(e,t){let n;try{n=JSON.parse(e)}catch{throw Error(`Expected JSON from "${t.command}".${t.packageName?` There could be problems with the ${t.packageName} package.`:``} ${e?`Instead received: `+e:`Received empty response.`}`)}return n}async function zr(e,t,n,r={},i){let a=await Nr(e,[`versions`],null,{...i,...Lr,fullMetadata:!0,...r.registry?{registry:r.registry,silent:!0}:null});if(a.versions){let e=Object.keys(a.versions),r=b.default.minSatisfying(e,t),i=b.default.maxSatisfying(e,n);if(r&&i&&a.versions[r]._npmUser&&a.versions[i]._npmUser)return a.versions[r]._npmUser?.name!==a.versions[i]._npmUser?.name}return!1}const Br=e=>!!(e&&(e.name||e.engines||e.version||e.versions)),Vr=e=>(t,n,r,i)=>{let a=typeof e==`function`?e(i)?.[t]:typeof e==`string`||Br(e)?e:e[t],o=Br(a)?a.version:a;if(!o)throw Error(`fetchUpgradedPackument is mocked, but no mock version was supplied for ${t}. Make sure that all dependencies are mocked. `);let s=Br(a)&&a.time?.[o]||new Date().toISOString(),c={name:t,"dist-tags":{[i.distTag||`latest`]:o},engines:{node:``},time:{[o]:s},version:o,versions:{},...Br(a)?a:null},{versions:l,...u}=c;return Promise.resolve({...c,versions:{...Br(a)&&a.versions||{[o]:u}}})},Hr=(0,w.default)(({npmConfigLocal:e,npmConfigUser:t,npmConfigWorkspaceProject:n},r)=>{let i=r.packageFile?u.default.join(r.packageFile,`../.npmrc`):null,a=r.packageFile?Ir(i||void 0):null,o=r.cwd?u.default.join(r.cwd,`.npmrc`):null,s=r.cwd?Ir(o):null;if(n&&Object.keys(n).length>0){H(r,`
338
- npm config (workspace project):`,`verbose`);let{cache:e,...t}=n;U(r,t,`verbose`)}if(t&&Object.keys(t).length>0){H(r,`
339
- npm config (user):`,`verbose`);let{cache:e,...n}=t;U(r,n,`verbose`)}if(e&&Object.keys(e).length>0){H(r,`
340
- npm config (local override):`,`verbose`);let{cache:t,...n}=e;U(r,n,`verbose`)}if(a&&Object.keys(a).length>0){H(r,`\nnpm config (project: ${i}):`,`verbose`);let{cache:e,...t}=a;U(r,t,`verbose`)}if(s&&Object.keys(s).length>0){H(r,`\nnpm config (cwd: ${o}):`,`verbose`);let{cache:e,...t}=s;U(r,t,`verbose`)}let c={...n,...t,...e,...a,...s,...r.registry?{registry:r.registry,silent:!0}:null,...r.timeout?{timeout:r.timeout}:null};if(n||e||a||s){H(r,`
341
- merged npm config:`,`verbose`);let{cache:e,...t}=c;U(r,t,`verbose`)}return c});async function Ur(e,t,n,r,i=0,a,o){if(process.env.STUB_VERSIONS)return Vr(JSON.parse(process.env.STUB_VERSIONS))(e,t,n,r);if(Mr(n))return Promise.resolve({});let s=r.format?.includes(`time`)&&!t.includes(`time`)?[...t,`time`]:t,c=s.includes(`time`),l=Hr({npmConfigUser:{...Lr,fullMetadata:c},npmConfigLocal:a,npmConfigWorkspaceProject:o},r),u;try{let n=r.distTag||`latest`;u=await Nr(e,Array.from(new Set([`dist-tags`,...t,...r.deprecated?[]:[`deprecated`,`versions`],...r.enginesNode?[`engines`,`versions`]:[]])),c?null:n,l)}catch(t){if(r.retry&&++i<=r.retry)return Ur(e,s,n,r,i,a);throw t}return u}const J=(0,w.default)(Ur,{serializer:(([e,t,n,r,i,a,o])=>{let{packageFile:s,...c}=r;return JSON.stringify([e,t,Mr(n),c,i,a,o])})});async function Wr(e,t={},n={},r={}){let{stdout:i}=await(0,f.default)(process.platform===`win32`?`npm.cmd`:`npm`,[...t.global?[`--global`]:[],...t.prefix?[`--prefix=${t.prefix}`]:[],`--json`,...Array.isArray(e)?e:[e]],n,r);return i}async function Gr(e){if(e.prefix)return Promise.resolve(e.prefix);let t=process.platform===`win32`?`npm.cmd`:`npm`,n;try{let{stdout:e}=await(0,f.default)(t,[`config`,`get`,`prefix`]);n=e}catch(t){H(e,"Error executing `npm config get prefix`. Caught and ignored. Unsolved: https://github.com/raineorshine/npm-check-updates/issues/703. ERROR: "+(t.message||t||``).toString(),`verbose`,`error`)}return e.global&&n?.match(`Cellar`)?`/usr/local`:process.platform===`win32`&&e.global&&!process.env.prefix?n?n.trim():`${process.env.AppData}\\npm`:void 0}const Kr=async(e,t,n={},r,i)=>{let a=[`versions`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.versions;return{version:Object.values(s||{}).filter(e=>Or(n)(Pr(e,o))).map(e=>e.version).sort(qt).at(-1)||null}},qr=async(e,t,n)=>{let r=[`view`,`${e}@${t}`,`peerDependencies`],i=await Wr(r,{},{rejectOnError:!1},n);return i?Rr(i,{command:[...r,`--json`].join(` `)}):{}},Jr=async(e,t,n={},r)=>(await Nr(e,[`engines`],null,{...r,...Lr,...n.registry?{registry:n.registry,silent:!0}:null},t)).engines||{},Yr=async(e={})=>{let t=Rr(await Wr([`ls`,`--depth=0`],{...e.global?{global:!0}:null,...e.prefix?{prefix:e.prefix}:null},{rejectOnError:!1},{...e.cwd?{cwd:e.cwd}:null}),{command:`npm${process.platform===`win32`?`.cmd`:``} ls --json${e.global?` --global`:``}`}).dependencies;return P(t,(e,t)=>({[e]:t.version||t.required?.version}))},Xr=async(e,t,n={},r,i)=>{let a=[`dist-tags`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.[`dist-tags`]?.[n.distTag||`latest`],c=o?.versions?o.versions?.[s]:{name:e,version:s},l=Pr(c,o);return c&&Or(n)(l)?{version:c.version,...o?.time?.[s]?{time:o.time[s]}:null}:n.cooldown||n.distTag&&n.distTag!==`latest`?{}:Kr(e,t,n,r,i)},Zr=async(e,t,n={},r,i)=>Xr(e,t,{...n,distTag:`latest`},r,i),Qr=async(e,t,n={},r,i)=>{let a=await J(e,[`time`,`versions`],t,n,0,r,i),o=P(a?.versions||{},(e,t)=>Tr(t,n.nodeEngineVersion)?{[t.version]:!0}:null),s=L(a?.time||{},e=>o[e]&&(n.pre!==!1||!Yt(e))),c=Dt(Object.entries(s),e=>e[1]).map(([e])=>e);return n.cooldown?{version:c.filter(e=>Dr(Pr(a.versions[e],a),n.cooldown)).at(-1)}:{version:c.at(-1)}},$r=async(e,t,n={},r,i)=>{let a=[`versions`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.versions;return{version:Jt(Object.values(s||{}).filter(e=>Or(n)(Pr(e,o))).map(e=>e.version),t,`minor`)}},ei=async(e,t,n={},r,i)=>{let a=[`versions`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.versions;return{version:Jt(Object.values(s||{}).filter(e=>Or(n)(Pr(e,o))).map(e=>e.version),t,`patch`)}},ti=async(e,t,n={},r,i)=>{let a=[`versions`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.versions;if(jr(t))return{version:null};let c=Object.values(s||{}).filter(e=>Or(n)(Pr(e,o))).map(e=>e.version);return{version:b.default.maxSatisfying(c,t)}};var ni=Wr,ri=s({default:()=>si,defaultPrefix:()=>ai,distTag:()=>Xr,getEngines:()=>Jr,getPeerDependencies:()=>qr,greatest:()=>Kr,latest:()=>Zr,list:()=>oi,minor:()=>$r,newest:()=>Qr,packageAuthorChanged:()=>zr,patch:()=>ei,semver:()=>ti});async function ii(e,t={},n={},r={}){return(0,f.default)(`bun`,[...t.global?[`--global`]:[],...t.prefix?[`--prefix=${t.prefix}`]:[],...Array.isArray(e)?e:[e]],n,r)}const ai=async e=>e.global?e.prefix||process.env.BUN_INSTALL||u.default.dirname((await(0,f.default)(`bun`,[`pm`,`-g`,`bin`])).stdout):void 0,oi=async(e={})=>{let{default:t}=await Promise.resolve().then(()=>require(`./strip-ansi.cjs`)),{stdout:n}=await ii([`pm`,`ls`],{...e.global?{global:!0}:null,...e.prefix?{prefix:e.prefix}:null},{rejectOnError:!1},{env:{...process.env,NO_COLOR:`1`},...e.cwd?{cwd:e.cwd}:null});return F(t(n).split(`
342
- `),e=>{let t=e.match(/.* (.+?)@(.+)/);if(t){let[,e,n]=t;return{[e]:n}}return null})};var si=ii,ci=s({default:()=>yi,defaultPrefix:()=>Gr,distTag:()=>di,getEngines:()=>Jr,getPeerDependencies:()=>qr,greatest:()=>fi,latest:()=>pi,list:()=>ui,minor:()=>mi,newest:()=>hi,packageAuthorChanged:()=>zr,patch:()=>gi,semver:()=>_i});const li=(0,w.default)(async e=>{let t=await(0,O.findUp)(`pnpm-workspace.yaml`);if(!t)return{};let n=u.default.dirname(t),r=u.default.join(n,`.npmrc`),i;try{i=await g.default.readFile(r,`utf-8`)}catch{return{}}H(e,`\nUsing pnpm workspace config at ${r}:`,`verbose`);let a=Fr(T.default.parse(i),n);return H(e,a,`verbose`),a}),ui=async(e={})=>{if(!e.global)return Yr(e);let{stdout:t}=await(0,f.default)(process.platform===`win32`?`pnpm.cmd`:`pnpm`,[`ls`,`-g`,`--json`]);return F(JSON.parse(t)[0].dependencies||{},(e,{version:t})=>({[e]:t}))},Y=e=>async(t,n,r={})=>e(t,n,r,{},await li(r)),di=Y(Xr),fi=Y(Kr),pi=Y(Zr),mi=Y($r),hi=Y(Qr),gi=Y(ei),_i=Y(ti);async function vi(e,t={},n,r){let{stdout:i}=await(0,f.default)(process.platform===`win32`?`pnpm.cmd`:`pnpm`,[...t.global?`global`:[],...Array.isArray(e)?e:[e],...t.prefix?`--prefix=${t.prefix}`:[]],r,n);return i}var yi=vi,bi=o(((e,t)=>{function n(e){return e}t.exports=n})),xi=o(((e,t)=>{t.exports=Ke()(z(),`WeakMap`)})),Si=o(((e,t)=>{var n=xi();t.exports=n&&new n})),Ci=o(((e,t)=>{var n=bi(),r=Si();t.exports=r?function(e,t){return r.set(e,t),e}:n})),wi=o(((e,t)=>{var n=ze(),r=Object.create;t.exports=function(){function e(){}return function(t){if(!n(t))return{};if(r)return r(t);e.prototype=t;var i=new e;return e.prototype=void 0,i}}()})),Ti=o(((e,t)=>{var n=wi(),r=ze();function i(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var i=n(e.prototype),a=e.apply(i,t);return r(a)?a:i}}t.exports=i})),Ei=o(((e,t)=>{var n=Ti(),r=z(),i=1;function a(e,t,a){var o=t&i,s=n(e);function c(){return(this&&this!==r&&this instanceof c?s:e).apply(o?a:this,arguments)}return c}t.exports=a})),Di=o(((e,t)=>{function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}t.exports=n})),Oi=o(((e,t)=>{var n=Math.max;function r(e,t,r,i){for(var a=-1,o=e.length,s=r.length,c=-1,l=t.length,u=n(o-s,0),d=Array(l+u),f=!i;++c<l;)d[c]=t[c];for(;++a<s;)(f||a<o)&&(d[r[a]]=e[a]);for(;u--;)d[c++]=e[a++];return d}t.exports=r})),ki=o(((e,t)=>{var n=Math.max;function r(e,t,r,i){for(var a=-1,o=e.length,s=-1,c=r.length,l=-1,u=t.length,d=n(o-c,0),f=Array(d+u),p=!i;++a<d;)f[a]=e[a];for(var m=a;++l<u;)f[m+l]=t[l];for(;++s<c;)(p||a<o)&&(f[m+r[s]]=e[a++]);return f}t.exports=r})),Ai=o(((e,t)=>{function n(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}t.exports=n})),ji=o(((e,t)=>{function n(){}t.exports=n})),Mi=o(((e,t)=>{var n=wi(),r=ji(),i=4294967295;function a(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=i,this.__views__=[]}a.prototype=n(r.prototype),a.prototype.constructor=a,t.exports=a})),Ni=o(((e,t)=>{function n(){}t.exports=n})),Pi=o(((e,t)=>{var n=Si(),r=Ni();t.exports=n?function(e){return n.get(e)}:r})),Fi=o(((e,t)=>{t.exports={}})),Ii=o(((e,t)=>{var n=Fi(),r=Object.prototype.hasOwnProperty;function i(e){for(var t=e.name+``,i=n[t],a=r.call(n,t)?i.length:0;a--;){var o=i[a],s=o.func;if(s==null||s==e)return o.name}return t}t.exports=i})),Li=o(((e,t)=>{var n=wi(),r=ji();function i(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}i.prototype=n(r.prototype),i.prototype.constructor=i,t.exports=i})),Ri=o(((e,t)=>{function n(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}t.exports=n})),zi=o(((e,t)=>{var n=Mi(),r=Li(),i=Ri();function a(e){if(e instanceof n)return e.clone();var t=new r(e.__wrapped__,e.__chain__);return t.__actions__=i(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}t.exports=a})),Bi=o(((e,t)=>{var n=Mi(),r=Li(),i=ji(),a=R(),o=Ie(),s=zi(),c=Object.prototype.hasOwnProperty;function l(e){if(o(e)&&!a(e)&&!(e instanceof n)){if(e instanceof r)return e;if(c.call(e,`__wrapped__`))return s(e)}return new r(e)}l.prototype=i.prototype,l.prototype.constructor=l,t.exports=l})),Vi=o(((e,t)=>{var n=Mi(),r=Pi(),i=Ii(),a=Bi();function o(e){var t=i(e),o=a[t];if(typeof o!=`function`||!(t in n.prototype))return!1;if(e===o)return!0;var s=r(o);return!!s&&e===s[0]}t.exports=o})),Hi=o(((e,t)=>{var n=800,r=16,i=Date.now;function a(e){var t=0,a=0;return function(){var o=i(),s=r-(o-a);if(a=o,s>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}t.exports=a})),Ui=o(((e,t)=>{var n=Ci();t.exports=Hi()(n)})),Wi=o(((e,t)=>{var n=/\{\n\/\* \[wrapped with (.+)\] \*/,r=/,? & /;function i(e){var t=e.match(n);return t?t[1].split(r):[]}t.exports=i})),Gi=o(((e,t)=>{var n=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function r(e,t){var r=t.length;if(!r)return e;var i=r-1;return t[i]=(r>1?`& `:``)+t[i],t=t.join(r>2?`, `:` `),e.replace(n,`{
336
+ ${F.green(`cooldown`)}: packageName ${F.cyan(`=>`)} (packageName.startsWith(${F.yellow(`'@my-company'`)}) ? ${F.cyan(`0`)} : ${F.cyan(`3`)})`,{markdown:e})}
337
+ `,parse:e=>typeof e==`function`?e:parseInt(e,10)}],G=Fn.reduce((e,t)=>({...e,...t.short?{[t.short]:t}:null,...t.long?{[t.long]:t}:null}),{});var In=wt(Fn,e=>e.long);const Ln=[`package-lock.json`,`yarn.lock`,`pnpm-lock.yaml`,`deno.json`,`deno.jsonc`,`bun.lock`,`bun.lockb`];async function Rn(e,t=g.default.readdir){try{let n=m.default.homedir(),r=m.default.tmpdir(),i=e.cwd?e.cwd:e.packageFile?u.default.dirname(e.packageFile):`.`;for(i=u.default.resolve(i);;){let e=await t(i);for(let t of Ln)if(e.includes(t))return{directoryPath:i,filename:t};let a=u.default.resolve(i,`..`);if(a===i||a===n||a===r)break;i=a}}catch{}return null}const zn={"package-lock":`npm`,yarn:`yarn`,"pnpm-lock":`pnpm`,deno:`deno`,bun:`bun`},Bn=()=>{let e=process.env.npm_config_user_agent??``,t=process.env.npm_execpath??``;return e.startsWith(`yarn/`)||t.includes(`yarn`)||__dirname.includes(`/yarn/`)||__dirname.includes(`\\Yarn\\`)?`yarn`:e.startsWith(`pnpm/`)||t.includes(`pnpm`)||__dirname.includes(`/pnpm/`)||__dirname.includes(`\\pnpm\\`)?`pnpm`:e.startsWith(`bun/`)||typeof Bun<`u`||process.versions.bun||__dirname.includes(`/.bun/`)||__dirname.includes(`\\.bun\\`)?`bun`:`npm`};var Vn=async(e,t=g.default.readdir)=>{if(e.packageManager)return e.packageManager;if(e.global)return Bn();let n=(await Rn(e,t))?.filename;return n?zn[n.split(`.`)[0]]:`npm`},Hn=class e{constructor(e,t,n){this.__specs=e||{},this.__opts=t||{},this.__providers=qn(n.filter(e=>typeof e==`object`&&!!e)),this.__isFiggyPudding=!0}get(e){return Un(this,e,!0)}toJSON(){let e={};return this.forEach((t,n)=>{e[n]=t}),e}forEach(e,t=this){for(let[n,r]of this.entries())e.call(t,r,n,this)}*entries(e){for(let e of Object.keys(this.__specs))yield[e,this.get(e)];let t=e||this.__opts.other;if(t){let e=new Set;for(let n of this.__providers){let r=n.entries?n.entries(t):Jn(n);for(let[n,i]of r)t(n)&&!e.has(n)&&(e.add(n),yield[n,i])}}}concat(...t){return new Proxy(new e(this.__specs,this.__opts,qn(this.__providers).concat(t)),Gn)}};function Un(e,t,n){let r=e.__specs[t];r||={};let i;for(let n of e.__providers)if(i=Wn(t,n),i!==void 0)break;return i===void 0&&r.default!==void 0?typeof r.default==`function`?r.default(e):r.default:i}function Wn(e,t){let n;return n=t.__isFiggyPudding?Un(t,e,!1):t[e],n}const Gn={get(e,t){return typeof t==`symbol`||t.slice(0,2)===`__`||t in Hn.prototype?e[t]:e.get(t)}};function Kn(e,t){function n(...n){return new Proxy(new Hn(e,t,n),Gn)}return n}function qn(e){let t=[];return e.forEach(e=>t.unshift(e)),t}function Jn(e){return Object.keys(e).map(t=>[t,e[t]])}const Yn=Kn({},{other(){return!0}}),Xn=Kn({cache:{default:k.default.join(process.env.HOME||O.default.homedir(),`.npm`)},configNames:{default:[`npmrc`,`.npmrc`]},envPrefix:{default:/^npm_config_/i},cwd:{default:()=>process.cwd()},globalconfig:{default:()=>k.default.join($n(),`etc`,`npmrc`)},userconfig:{default:k.default.join(process.env.HOME||O.default.homedir(),`.npmrc`)}});function Zn(e,t){let n=Xn(t),r={};Object.keys(process.env).forEach(e=>{if(!e.match(n.envPrefix))return;let t=e.toLowerCase().replace(n.envPrefix,``).replace(/(?!^)_/g,`-`);r[t]=process.env[e]});let i=Yn(e),a=n.userconfig||i.userconfig||r.userconfig,o=a&&Qn(a),s=n.globalconfig||i.globalconfig||r.globalconfig,c=s&&Qn(s),l=(0,D.findUpSync)(n.configNames,{cwd:n.cwd}),u={};l&&l!==a&&(u=Qn(l));let d=Yn(n,c,o,u,r,i);return d.cache?d.concat({cache:k.default.resolve(i.cache||r.cache?n.cwd:u.cache?k.default.dirname(l):o.cache?k.default.dirname(a):c.cache?k.default.dirname(s):k.default.dirname(a),d.cache)}):d}function Qn(e){let t;try{t=ee.default.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return``;throw e}return w.default.parse(t)}function $n(){if(process.env.PREFIX)return process.env.PREFIX;if(process.platform===`win32`)return k.default.dirname(process.execPath);{let e=k.default.dirname(k.default.dirname(process.execPath));return process.env.DESTDIR&&(e=k.default.join(process.env.DESTDIR,e)),e}}var er=Zn;function tr(e,t){return t.deprecated||!e.deprecated}function nr(e,t){return t.pre?!0:!e.version||!Kt(e.version)}function rr(e,t){if(!t)return!0;let n=y.default.minVersion(t)?.version;if(!n)return!0;let r=e?.engines?.node;return!r||y.default.satisfies(n,r)}function ir(e,t){return t?Object.values(t).every(t=>t[e.name]===void 0||y.default.satisfies(e.version,t[e.name])):!0}function ar(e,t){let n=e.version,r=e?.time?.[n];if(!t)return!0;if(!r)return!1;let i=new Date(r),a=typeof t==`function`?t(e.name)??0:t;return Date.now()-i.getTime()>=a*864e5}function or(e){let t=[t=>tr(t,e),t=>nr(t,e),e.enginesNode?t=>rr(t,e.nodeEngineVersion):null,e.peerDependencies?t=>ir(t,e.peerDependencies):null,e.cooldown?t=>ar(t,e.cooldown):null];return e=>t.every(t=>t?t(e):!0)}var sr=s({default:()=>Mr,defaultPrefix:()=>xr,distTag:()=>Er,fetchUpgradedPackumentMemo:()=>J,getEngines:()=>wr,getPeerDependencies:()=>Cr,greatest:()=>Sr,latest:()=>Dr,list:()=>Tr,minor:()=>kr,mockFetchUpgradedPackument:()=>_r,newest:()=>Or,normalizeNpmConfig:()=>fr,packageAuthorChanged:()=>hr,parseJson:()=>q,patch:()=>Ar,semver:()=>jr});const cr=new Set([`-`,`||`,`&&`,`<`,`<=`,`>`,`>=`]),lr=e=>(0,b.parseRange)(e).some(e=>cr.has(e.operator||``)),ur=e=>e&&(!y.default.validRange(e)||Lt(e)),dr=async(e,t,n,r={},i)=>{let a=T.default.pickRegistry(e,r),o={"user-agent":r.userAgent||`npm-check-updates/${de} node/${process.version}`,"ncu-version":de,"ncu-pkg-id":`registry:${e}`,accept:r.fullMetadata?`application/json`:`application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*`,...r.headers},s=new URL(encodeURIComponent(e),a.endsWith(`/`)?a:`${a}/`);i&&(s.pathname+=`/${i}`);let c={...r,headers:o,spec:e};try{if(r.fullMetadata)return T.default.json(s.href,c);{n||=`latest`;let r=T.default.json.stream(s.href,`$*`,c),i={name:e};for await(let{key:e,value:n}of r)if(t.includes(e)&&(i[e]=n,Object.keys(i).length===t.length+1))break;return i}}catch(a){if(a.code!==`E404`||r.fullMetadata)throw a;return dr(e,t,n,{...r,fullMetadata:!0},i)}},K=(e,t)=>{let n=e.version;return{...e,name:t.name,...t?.time?.[n]?{time:t.time}:null}},fr=(e,t)=>{let n={cafile:e=>{if(!e)return;let n=p.default.readFileSync(u.default.resolve(t||``,(0,E.default)(e)),`utf8`),r=`-----END CERTIFICATE-----`;return{ca:n.split(r).filter(e=>!!e.trim()).map(e=>`${e.trimStart()}${r}`)}},maxsockets:`maxSockets`,"strict-ssl":`strictSSL`},r={all:`boolean`,allowsameversion:`boolean`,audit:`boolean`,binlinks:`boolean`,color:`boolean`,commithooks:`boolean`,description:`boolean`,dev:`boolean`,diffignoreallspace:`boolean`,diffnameonly:`boolean`,diffnoprefix:`boolean`,difftext:`boolean`,dryrun:`boolean`,enginestrict:`boolean`,force:`boolean`,foregroundscripts:`boolean`,formatpackagelock:`boolean`,fund:`boolean`,gittagversion:`boolean`,global:`boolean`,globalstyle:`boolean`,ifpresent:`boolean`,ignorescripts:`boolean`,includestaged:`boolean`,includeworkspaceroot:`boolean`,installlinks:`boolean`,json:`boolean`,legacybundling:`boolean`,legacypeerdeps:`boolean`,link:`boolean`,long:`boolean`,offline:`boolean`,omitlockfileregistryresolved:`boolean`,packagelock:`boolean`,packagelockonly:`boolean`,parseable:`boolean`,preferoffline:`boolean`,preferonline:`boolean`,progress:`boolean`,readonly:`boolean`,rebuildbundle:`boolean`,save:`boolean`,savebundle:`boolean`,savedev:`boolean`,saveexact:`boolean`,saveoptional:`boolean`,savepeer:`boolean`,saveprod:`boolean`,shrinkwrap:`boolean`,signgitcommit:`boolean`,signgittag:`boolean`,strictpeerdeps:`boolean`,strictssl:`boolean`,timing:`boolean`,unicode:`boolean`,updatenotifier:`boolean`,usage:`boolean`,version:`boolean`,versions:`boolean`,workspacesupdate:`boolean`,diffunified:`number`,fetchretries:`number`,fetchretryfactor:`number`,fetchretrymaxtimeout:`number`,fetchretrymintimeout:`number`,fetchtimeout:`number`,logsmax:`number`,maxsockets:`number`,searchlimit:`number`,searchstaleness:`number`,ssopollfrequency:`number`,timeout:`number`},i=e=>!!e&&e!==`false`&&e!==`0`,a=e=>parseInt(e)||0;return N(e,(e,t)=>{let o=typeof t==`string`?r[e.replace(/-/g,``).toLowerCase()]===`boolean`?i(t):r[e.replace(/-/g,``).toLowerCase()]===`number`?a(t):t.replace(/\${([^}]+)}/,(e,t)=>process.env[t]):t,{[e]:s}=n;return typeof s==`string`?{[s]:o}:typeof s==`function`?{...s(o.toString())}:{[e.match(/^[a-z]/i)?(0,S.default)(e):e]:o}})},pr=(0,C.default)(e=>{let t;if(e)try{t=w.default.parse(p.default.readFileSync(e,`utf-8`))}catch(e){if(e.code===`ENOENT`)return null;throw e}else t={...er(null,{userconfig:process.env.npm_config_userconfig||process.env.NPM_CONFIG_USERCONFIG}).toJSON(),cache:!1};return fr(t,e)}),mr=pr();function q(e,t){let n;try{n=JSON.parse(e)}catch{throw Error(`Expected JSON from "${t.command}".${t.packageName?` There could be problems with the ${t.packageName} package.`:``} ${e?`Instead received: `+e:`Received empty response.`}`)}return n}async function hr(e,t,n,r={},i){let a=await dr(e,[`versions`],null,{...i,...mr,fullMetadata:!0,...r.registry?{registry:r.registry,silent:!0}:null});if(a.versions){let e=Object.keys(a.versions),r=y.default.minSatisfying(e,t),i=y.default.maxSatisfying(e,n);if(r&&i&&a.versions[r]._npmUser&&a.versions[i]._npmUser)return a.versions[r]._npmUser?.name!==a.versions[i]._npmUser?.name}return!1}const gr=e=>!!(e&&(e.name||e.engines||e.version||e.versions)),_r=e=>(t,n,r,i)=>{let a=typeof e==`function`?e(i)?.[t]:typeof e==`string`||gr(e)?e:e[t],o=gr(a)?a.version:a;if(!o)throw Error(`fetchUpgradedPackument is mocked, but no mock version was supplied for ${t}. Make sure that all dependencies are mocked. `);let s=gr(a)&&a.time?.[o]||new Date().toISOString(),c={name:t,"dist-tags":{[i.distTag||`latest`]:o},engines:{node:``},time:{[o]:s},version:o,versions:{},...gr(a)?a:null},{versions:l,...u}=c;return Promise.resolve({...c,versions:{...gr(a)&&a.versions||{[o]:u}}})},vr=(0,C.default)(({npmConfigLocal:e,npmConfigUser:t,npmConfigWorkspaceProject:n},r)=>{let i=r.packageFile?u.default.join(r.packageFile,`../.npmrc`):null,a=r.packageFile?pr(i||void 0):null,o=r.cwd?u.default.join(r.cwd,`.npmrc`):null,s=r.cwd?pr(o):null;if(n&&Object.keys(n).length>0){B(r,`
338
+ npm config (workspace project):`,`verbose`);let{cache:e,...t}=n;V(r,t,`verbose`)}if(t&&Object.keys(t).length>0){B(r,`
339
+ npm config (user):`,`verbose`);let{cache:e,...n}=t;V(r,n,`verbose`)}if(e&&Object.keys(e).length>0){B(r,`
340
+ npm config (local override):`,`verbose`);let{cache:t,...n}=e;V(r,n,`verbose`)}if(a&&Object.keys(a).length>0){B(r,`\nnpm config (project: ${i}):`,`verbose`);let{cache:e,...t}=a;V(r,t,`verbose`)}if(s&&Object.keys(s).length>0){B(r,`\nnpm config (cwd: ${o}):`,`verbose`);let{cache:e,...t}=s;V(r,t,`verbose`)}let c={...n,...t,...e,...a,...s,...r.registry?{registry:r.registry,silent:!0}:null,...r.timeout?{timeout:r.timeout}:null};if(n||e||a||s){B(r,`
341
+ merged npm config:`,`verbose`);let{cache:e,...t}=c;V(r,t,`verbose`)}return c});async function yr(e,t,n,r,i=0,a,o){if(process.env.STUB_VERSIONS)return _r(JSON.parse(process.env.STUB_VERSIONS))(e,t,n,r);if(ur(n))return Promise.resolve({});let s=r.format?.includes(`time`)&&!t.includes(`time`)?[...t,`time`]:t,c=s.includes(`time`),l=vr({npmConfigUser:{...mr,fullMetadata:c},npmConfigLocal:a,npmConfigWorkspaceProject:o},r),u;try{let n=r.distTag||`latest`;u=await dr(e,Array.from(new Set([`dist-tags`,...t,...r.deprecated?[]:[`deprecated`,`versions`],...r.enginesNode?[`engines`,`versions`]:[]])),c?null:n,l)}catch(t){if(r.retry&&++i<=r.retry)return yr(e,s,n,r,i,a);throw t}return u}const J=(0,C.default)(yr,{serializer:(([e,t,n,r,i,a,o])=>{let{packageFile:s,...c}=r;return JSON.stringify([e,t,ur(n),c,i,a,o])})});async function br(e,t={},n={},r={}){let{stdout:i}=await(0,f.default)(process.platform===`win32`?`npm.cmd`:`npm`,[...t.global?[`--global`]:[],...t.prefix?[`--prefix=${t.prefix}`]:[],`--json`,...Array.isArray(e)?e:[e]],n,r);return i}async function xr(e){if(e.prefix)return Promise.resolve(e.prefix);let t=process.platform===`win32`?`npm.cmd`:`npm`,n;try{let{stdout:e}=await(0,f.default)(t,[`config`,`get`,`prefix`]);n=e}catch(t){B(e,"Error executing `npm config get prefix`. Caught and ignored. Unsolved: https://github.com/raineorshine/npm-check-updates/issues/703. ERROR: "+(t.message||t||``).toString(),`verbose`,`error`)}return e.global&&n?.match(`Cellar`)?`/usr/local`:process.platform===`win32`&&e.global&&!process.env.prefix?n?n.trim():`${process.env.AppData}\\npm`:void 0}const Sr=async(e,t,n={},r,i)=>{let a=[`versions`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.versions;return{version:Object.values(s||{}).filter(e=>or(n)(K(e,o))).map(e=>e.version).sort(Wt).at(-1)||null}},Cr=async(e,t,n)=>{let r=[`view`,`${e}@${t}`,`peerDependencies`],i=await br(r,{},{rejectOnError:!1},n);return i?q(i,{command:[...r,`--json`].join(` `)}):{}},wr=async(e,t,n={},r)=>(await dr(e,[`engines`],null,{...r,...mr,...n.registry?{registry:n.registry,silent:!0}:null},t)).engines||{},Tr=async(e={})=>{let t=q(await br([`ls`,`--depth=0`],{...e.global?{global:!0}:null,...e.prefix?{prefix:e.prefix}:null},{rejectOnError:!1},{...e.cwd?{cwd:e.cwd}:null}),{command:`npm${process.platform===`win32`?`.cmd`:``} ls --json${e.global?` --global`:``}`}).dependencies;return N(t,(e,t)=>({[e]:t.version||t.required?.version}))},Er=async(e,t,n={},r,i)=>{let a=[`dist-tags`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.[`dist-tags`]?.[n.distTag||`latest`],c=o?.versions?o.versions?.[s]:{name:e,version:s},l=K(c,o);return c&&or(n)(l)?{version:c.version,...o?.time?.[s]?{time:o.time[s]}:null}:n.cooldown||n.distTag&&n.distTag!==`latest`?{}:Sr(e,t,n,r,i)},Dr=async(e,t,n={},r,i)=>Er(e,t,{...n,distTag:`latest`},r,i),Or=async(e,t,n={},r,i)=>{let a=await J(e,[`time`,`versions`],t,n,0,r,i),o=N(a?.versions||{},(e,t)=>rr(t,n.nodeEngineVersion)?{[t.version]:!0}:null),s=I(a?.time||{},e=>o[e]&&(n.pre!==!1||!Kt(e))),c=wt(Object.entries(s),e=>e[1]).map(([e])=>e);return n.cooldown?{version:c.filter(e=>ar(K(a.versions[e],a),n.cooldown)).at(-1)}:{version:c.at(-1)}},kr=async(e,t,n={},r,i)=>{let a=[`versions`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.versions;return{version:Gt(Object.values(s||{}).filter(e=>or(n)(K(e,o))).map(e=>e.version),t,`minor`)}},Ar=async(e,t,n={},r,i)=>{let a=[`versions`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.versions;return{version:Gt(Object.values(s||{}).filter(e=>or(n)(K(e,o))).map(e=>e.version),t,`patch`)}},jr=async(e,t,n={},r,i)=>{let a=[`versions`];n.cooldown&&a.push(`time`);let o=await J(e,a,t,n,0,r,i),s=o?.versions;if(lr(t))return{version:null};let c=Object.values(s||{}).filter(e=>or(n)(K(e,o))).map(e=>e.version);return{version:y.default.maxSatisfying(c,t)}};var Mr=br,Nr=s({default:()=>Lr,defaultPrefix:()=>Fr,distTag:()=>Er,getEngines:()=>wr,getPeerDependencies:()=>Cr,greatest:()=>Sr,latest:()=>Dr,list:()=>Ir,minor:()=>kr,newest:()=>Or,packageAuthorChanged:()=>hr,patch:()=>Ar,semver:()=>jr});async function Pr(e,t={},n={},r={}){return(0,f.default)(`bun`,[...t.global?[`--global`]:[],...t.prefix?[`--prefix=${t.prefix}`]:[],...Array.isArray(e)?e:[e]],n,r)}const Fr=async e=>e.global?e.prefix||process.env.BUN_INSTALL||u.default.dirname((await(0,f.default)(`bun`,[`pm`,`-g`,`bin`])).stdout):void 0,Ir=async(e={})=>{let{default:t}=await Promise.resolve().then(()=>require(`./strip-ansi.cjs`)),{stdout:n}=await Pr([`pm`,`ls`],{...e.global?{global:!0}:null,...e.prefix?{prefix:e.prefix}:null},{rejectOnError:!1},{env:{...process.env,NO_COLOR:`1`},...e.cwd?{cwd:e.cwd}:null});return P(t(n).split(`
342
+ `),e=>{let t=e.match(/.* (.+?)@(.+)/);if(t){let[,e,n]=t;return{[e]:n}}return null})};var Lr=Pr,Rr=s({default:()=>Yr,defaultPrefix:()=>xr,distTag:()=>Vr,getEngines:()=>wr,getPeerDependencies:()=>Cr,greatest:()=>Hr,latest:()=>Ur,list:()=>Br,minor:()=>Wr,newest:()=>Gr,packageAuthorChanged:()=>hr,patch:()=>Kr,semver:()=>qr});const zr=(0,C.default)(async e=>{let t=await(0,D.findUp)(`pnpm-workspace.yaml`);if(!t)return{};let n=u.default.dirname(t),r=u.default.join(n,`.npmrc`),i;try{i=await g.default.readFile(r,`utf-8`)}catch{return{}}B(e,`\nUsing pnpm workspace config at ${r}:`,`verbose`);let a=fr(w.default.parse(i),n);return B(e,a,`verbose`),a}),Br=async(e={})=>{if(!e.global)return Tr(e);let{stdout:t}=await(0,f.default)(process.platform===`win32`?`pnpm.cmd`:`pnpm`,[`ls`,`-g`,`--json`]);return P(JSON.parse(t)[0].dependencies||{},(e,{version:t})=>({[e]:t}))},Y=e=>async(t,n,r={})=>e(t,n,r,{},await zr(r)),Vr=Y(Er),Hr=Y(Sr),Ur=Y(Dr),Wr=Y(kr),Gr=Y(Or),Kr=Y(Ar),qr=Y(jr);async function Jr(e,t={},n,r){let{stdout:i}=await(0,f.default)(process.platform===`win32`?`pnpm.cmd`:`pnpm`,[...t.global?`global`:[],...Array.isArray(e)?e:[e],...t.prefix?`--prefix=${t.prefix}`:[]],r,n);return i}var Yr=Jr,Xr=o(((e,t)=>{function n(e){return e}t.exports=n})),Zr=o(((e,t)=>{t.exports=Ue()(R(),`WeakMap`)})),Qr=o(((e,t)=>{var n=Zr();t.exports=n&&new n})),$r=o(((e,t)=>{var n=Xr(),r=Qr();t.exports=r?function(e,t){return r.set(e,t),e}:n})),ei=o(((e,t)=>{var n=Ie(),r=Object.create;t.exports=function(){function e(){}return function(t){if(!n(t))return{};if(r)return r(t);e.prototype=t;var i=new e;return e.prototype=void 0,i}}()})),ti=o(((e,t)=>{var n=ei(),r=Ie();function i(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var i=n(e.prototype),a=e.apply(i,t);return r(a)?a:i}}t.exports=i})),ni=o(((e,t)=>{var n=ti(),r=R(),i=1;function a(e,t,a){var o=t&i,s=n(e);function c(){return(this&&this!==r&&this instanceof c?s:e).apply(o?a:this,arguments)}return c}t.exports=a})),ri=o(((e,t)=>{function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}t.exports=n})),ii=o(((e,t)=>{var n=Math.max;function r(e,t,r,i){for(var a=-1,o=e.length,s=r.length,c=-1,l=t.length,u=n(o-s,0),d=Array(l+u),f=!i;++c<l;)d[c]=t[c];for(;++a<s;)(f||a<o)&&(d[r[a]]=e[a]);for(;u--;)d[c++]=e[a++];return d}t.exports=r})),ai=o(((e,t)=>{var n=Math.max;function r(e,t,r,i){for(var a=-1,o=e.length,s=-1,c=r.length,l=-1,u=t.length,d=n(o-c,0),f=Array(d+u),p=!i;++a<d;)f[a]=e[a];for(var m=a;++l<u;)f[m+l]=t[l];for(;++s<c;)(p||a<o)&&(f[m+r[s]]=e[a++]);return f}t.exports=r})),oi=o(((e,t)=>{function n(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}t.exports=n})),si=o(((e,t)=>{function n(){}t.exports=n})),ci=o(((e,t)=>{var n=ei(),r=si(),i=4294967295;function a(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=i,this.__views__=[]}a.prototype=n(r.prototype),a.prototype.constructor=a,t.exports=a})),li=o(((e,t)=>{function n(){}t.exports=n})),ui=o(((e,t)=>{var n=Qr(),r=li();t.exports=n?function(e){return n.get(e)}:r})),di=o(((e,t)=>{t.exports={}})),fi=o(((e,t)=>{var n=di(),r=Object.prototype.hasOwnProperty;function i(e){for(var t=e.name+``,i=n[t],a=r.call(n,t)?i.length:0;a--;){var o=i[a],s=o.func;if(s==null||s==e)return o.name}return t}t.exports=i})),pi=o(((e,t)=>{var n=ei(),r=si();function i(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}i.prototype=n(r.prototype),i.prototype.constructor=i,t.exports=i})),mi=o(((e,t)=>{function n(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}t.exports=n})),hi=o(((e,t)=>{var n=ci(),r=pi(),i=mi();function a(e){if(e instanceof n)return e.clone();var t=new r(e.__wrapped__,e.__chain__);return t.__actions__=i(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}t.exports=a})),gi=o(((e,t)=>{var n=ci(),r=pi(),i=si(),a=L(),o=Ne(),s=hi(),c=Object.prototype.hasOwnProperty;function l(e){if(o(e)&&!a(e)&&!(e instanceof n)){if(e instanceof r)return e;if(c.call(e,`__wrapped__`))return s(e)}return new r(e)}l.prototype=i.prototype,l.prototype.constructor=l,t.exports=l})),_i=o(((e,t)=>{var n=ci(),r=ui(),i=fi(),a=gi();function o(e){var t=i(e),o=a[t];if(typeof o!=`function`||!(t in n.prototype))return!1;if(e===o)return!0;var s=r(o);return!!s&&e===s[0]}t.exports=o})),vi=o(((e,t)=>{var n=800,r=16,i=Date.now;function a(e){var t=0,a=0;return function(){var o=i(),s=r-(o-a);if(a=o,s>0){if(++t>=n)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}t.exports=a})),yi=o(((e,t)=>{var n=$r();t.exports=vi()(n)})),bi=o(((e,t)=>{var n=/\{\n\/\* \[wrapped with (.+)\] \*/,r=/,? & /;function i(e){var t=e.match(n);return t?t[1].split(r):[]}t.exports=i})),xi=o(((e,t)=>{var n=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function r(e,t){var r=t.length;if(!r)return e;var i=r-1;return t[i]=(r>1?`& `:``)+t[i],t=t.join(r>2?`, `:` `),e.replace(n,`{
343
343
  /* [wrapped with `+t+`] */
344
- `)}t.exports=r})),Ki=o(((e,t)=>{function n(e){return function(){return e}}t.exports=n})),qi=o(((e,t)=>{var n=Ke();t.exports=function(){try{var e=n(Object,`defineProperty`);return e({},``,{}),e}catch{}}()})),Ji=o(((e,t)=>{var n=Ki(),r=qi(),i=bi();t.exports=r?function(e,t){return r(e,`toString`,{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:i})),Yi=o(((e,t)=>{var n=Ji();t.exports=Hi()(n)})),Xi=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}t.exports=n})),Zi=o(((e,t)=>{function n(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}t.exports=n})),Qi=o(((e,t)=>{function n(e){return e!==e}t.exports=n})),$i=o(((e,t)=>{function n(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}t.exports=n})),ea=o(((e,t)=>{var n=Zi(),r=Qi(),i=$i();function a(e,t,a){return t===t?i(e,t,a):n(e,r,a)}t.exports=a})),ta=o(((e,t)=>{var n=ea();function r(e,t){return!!(e!=null&&e.length)&&n(e,t,0)>-1}t.exports=r})),na=o(((e,t)=>{var n=Xi(),r=ta(),i=[[`ary`,128],[`bind`,1],[`bindKey`,2],[`curry`,8],[`curryRight`,16],[`flip`,512],[`partial`,32],[`partialRight`,64],[`rearg`,256]];function a(e,t){return n(i,function(n){var i=`_.`+n[0];t&n[1]&&!r(e,i)&&e.push(i)}),e.sort()}t.exports=a})),ra=o(((e,t)=>{var n=Wi(),r=Gi(),i=Yi(),a=na();function o(e,t,o){var s=t+``;return i(e,r(s,a(n(s),o)))}t.exports=o})),ia=o(((e,t)=>{var n=Vi(),r=Ui(),i=ra(),a=1,o=2,s=4,c=8,l=32,u=64;function d(e,t,d,f,p,m,h,g,_,v){var y=t&c,b=y?h:void 0,x=y?void 0:h,S=y?m:void 0,C=y?void 0:m;t|=y?l:u,t&=~(y?u:l),t&s||(t&=~(a|o));var w=[e,t,p,S,b,C,x,g,_,v],T=d.apply(void 0,w);return n(e)&&r(T,w),T.placeholder=f,i(T,e,t)}t.exports=d})),aa=o(((e,t)=>{function n(e){return e.placeholder}t.exports=n})),oa=o(((e,t)=>{var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function i(e,t){var i=typeof e;return t??=n,!!t&&(i==`number`||i!=`symbol`&&r.test(e))&&e>-1&&e%1==0&&e<t}t.exports=i})),sa=o(((e,t)=>{var n=Ri(),r=oa(),i=Math.min;function a(e,t){for(var a=e.length,o=i(t.length,a),s=n(e);o--;){var c=t[o];e[o]=r(c,a)?s[c]:void 0}return e}t.exports=a})),ca=o(((e,t)=>{var n=`__lodash_placeholder__`;function r(e,t){for(var r=-1,i=e.length,a=0,o=[];++r<i;){var s=e[r];(s===t||s===n)&&(e[r]=n,o[a++]=r)}return o}t.exports=r})),la=o(((e,t)=>{var n=Oi(),r=ki(),i=Ai(),a=Ti(),o=ia(),s=aa(),c=sa(),l=ca(),u=z(),d=1,f=2,p=8,m=16,h=128,g=512;function _(e,t,v,y,b,x,S,C,w,T){var E=t&h,D=t&d,O=t&f,k=t&(p|m),A=t&g,j=O?void 0:a(e);function M(){for(var d=arguments.length,f=Array(d),p=d;p--;)f[p]=arguments[p];if(k)var m=s(M),h=i(f,m);if(y&&(f=n(f,y,b,k)),x&&(f=r(f,x,S,k)),d-=h,k&&d<T){var g=l(f,m);return o(e,t,_,M.placeholder,v,f,g,C,w,T-d)}var N=D?v:this,ee=O?N[e]:e;return d=f.length,C?f=c(f,C):A&&d>1&&f.reverse(),E&&w<d&&(f.length=w),this&&this!==u&&this instanceof M&&(ee=j||a(ee)),ee.apply(N,f)}return M}t.exports=_})),ua=o(((e,t)=>{var n=Di(),r=Ti(),i=la(),a=ia(),o=aa(),s=ca(),c=z();function l(e,t,l){var u=r(e);function d(){for(var r=arguments.length,f=Array(r),p=r,m=o(d);p--;)f[p]=arguments[p];var h=r<3&&f[0]!==m&&f[r-1]!==m?[]:s(f,m);return r-=h.length,r<l?a(e,t,i,d.placeholder,void 0,f,h,void 0,void 0,l-r):n(this&&this!==c&&this instanceof d?u:e,this,f)}return d}t.exports=l})),da=o(((e,t)=>{var n=Di(),r=Ti(),i=z(),a=1;function o(e,t,o,s){var c=t&a,l=r(e);function u(){for(var t=-1,r=arguments.length,a=-1,d=s.length,f=Array(d+r),p=this&&this!==i&&this instanceof u?l:e;++a<d;)f[a]=s[a];for(;r--;)f[a++]=arguments[++t];return n(p,c?o:this,f)}return u}t.exports=o})),fa=o(((e,t)=>{var n=Oi(),r=ki(),i=ca(),a=`__lodash_placeholder__`,o=1,s=2,c=4,l=8,u=128,d=256,f=Math.min;function p(e,t){var p=e[1],m=t[1],h=p|m,g=h<(o|s|u),_=m==u&&p==l||m==u&&p==d&&e[7].length<=t[8]||m==(u|d)&&t[7].length<=t[8]&&p==l;if(!(g||_))return e;m&o&&(e[2]=t[2],h|=p&o?0:c);var v=t[3];if(v){var y=e[3];e[3]=y?n(y,v,t[4]):v,e[4]=y?i(e[3],a):t[4]}return v=t[5],v&&(y=e[5],e[5]=y?r(y,v,t[6]):v,e[6]=y?i(e[5],a):t[6]),v=t[7],v&&(e[7]=v),m&u&&(e[8]=e[8]==null?t[8]:f(e[8],t[8])),e[9]??=t[9],e[0]=t[0],e[1]=h,e}t.exports=p})),pa=o(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),ma=o(((e,t)=>{var n=pa(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),ha=o(((e,t)=>{var n=ma(),r=ze(),i=Le(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),ga=o(((e,t)=>{var n=ha(),r=1/0,i=17976931348623157e292;function a(e){return e?(e=n(e),e===r||e===-r?(e<0?-1:1)*i:e===e?e:0):e===0?e:0}t.exports=a})),_a=o(((e,t)=>{var n=ga();function r(e){var t=n(e),r=t%1;return t===t?r?t-r:t:0}t.exports=r})),va=o(((e,t)=>{var n=Ci(),r=Ei(),i=ua(),a=la(),o=da(),s=Pi(),c=fa(),l=Ui(),u=ra(),d=_a(),f=`Expected a function`,p=1,m=2,h=8,g=16,_=32,v=64,y=Math.max;function b(e,t,b,x,S,C,w,T){var E=t&m;if(!E&&typeof e!=`function`)throw TypeError(f);var D=x?x.length:0;if(D||(t&=~(_|v),x=S=void 0),w=w===void 0?w:y(d(w),0),T=T===void 0?T:d(T),D-=S?S.length:0,t&v){var O=x,k=S;x=S=void 0}var A=E?void 0:s(e),j=[e,t,b,x,S,O,k,C,w,T];if(A&&c(j,A),e=j[0],t=j[1],b=j[2],x=j[3],S=j[4],T=j[9]=j[9]===void 0?E?0:e.length:y(j[9]-D,0),!T&&t&(h|g)&&(t&=~(h|g)),!t||t==p)var M=r(e,t,b);else M=t==h||t==g?i(e,t,T):(t==_||t==(p|_))&&!S.length?o(e,t,b,x):a.apply(void 0,j);return u((A?n:l)(M,j),e,t)}t.exports=b})),ya=o(((e,t)=>{var n=va(),r=8;function i(e,t,a){t=a?void 0:t;var o=n(e,r,void 0,void 0,void 0,void 0,void 0,t);return o.placeholder=i.placeholder,o}i.placeholder={},t.exports=i})),ba=s({default:()=>Ua,defaultPrefix:()=>ja,distTag:()=>Na,getEngines:()=>Va,getPathToLookForYarnrc:()=>Ta,getPeerDependencies:()=>Ba,greatest:()=>Pa,latest:()=>Fa,list:()=>Ma,minor:()=>Ia,newest:()=>La,npmAuthTokenKeyValue:()=>Ca,packageAuthorChanged:()=>Ha,patch:()=>Ra,semver:()=>za}),xa=l(ya(),1);const Sa=(e,t)=>e.replace(/\$\{([^:-]+)(?:(:)?-([^}]*))?\}/g,(e,n,r,i,a)=>t[n]||(i?a:``)),Ca=(0,xa.default)((e,t,n)=>{if(n.npmAuthToken){let r=n.npmRegistryServer||e[`@${t}:registry`];if(r){let e=r.replace(/^https?:/,``);return e.endsWith(`/`)&&(e=e.slice(0,-1)),{[`${e}/:_authToken`]:Sa(n.npmAuthToken,process.env)}}}return null}),wa=(e,t)=>t.npmRegistryServer?{[`@${e}:registry`]:Sa(t.npmRegistryServer,process.env)}:null;async function Ta(e,t=g.default.readdir){if(e.global)return;let n=(await ar(e,t))?.directoryPath;if(n)return u.default.join(n,`.yarnrc.yml`)}const Ea=(0,w.default)(async e=>{let t=await Ta(e),n=u.default.join(m.default.homedir(),`.yarnrc.yml`),r=typeof t==`string`&&await Ce(t),i=await Ce(n),a=r?await g.default.readFile(t,`utf-8`):``,o=i?await g.default.readFile(n,`utf-8`):``,s=M.default.load(a),c=M.default.load(o),l={...P(c?.npmScopes||{},wa),...P(s?.npmScopes||{},wa)};return l={...l,...P(c?.npmScopes||{},Ca(l)),...P(s?.npmScopes||{},Ca(l))},r&&(H(e,`\nUsing local yarn config at ${t}:`,`verbose`),H(e,s,`verbose`)),i&&(H(e,`\nUsing user yarn config at ${n}:`,`verbose`),H(e,s,`verbose`)),Object.keys(l)&&(H(e,`
345
- Merged yarn config in npm format:`,`verbose`),H(e,l,`verbose`)),l});function Da(e){return new Promise((t,n)=>{let r={},i=N.default.parse();i.on(`data`,e=>{if(e.type===`info`&&!e.data.match(/^Visit/)){let[,t,n]=e.data.match(/"(@?.*)@(.*)"/)||[];r[t]={version:n,from:t}}else e.type===`error`&&n(Error(e.data))}),i.on(`end`,()=>{t({dependencies:r})}),i.on(`error`,n),i.write(e),i.end()})}function Oa(e){return new Promise((t,n)=>{let r=N.default.parse(),i=!1;r.on(`data`,e=>{i||(i=!0,t(JSON.stringify(e)))}),r.on(`error`,n),r.write(e),r.end()})}const ka=process.platform===`win32`?`yarn.cmd`:`yarn`;async function Aa(e,t={},n={},r={}){let{stdout:i}=await(0,f.default)(ka,[...t.global?[`global`]:[],...t.prefix?[`--prefix=${t.prefix}`]:[],`--depth=0`,`--json`,`--no-progress`,...Array.isArray(e)?e:[e]],n,r);return i}async function ja(e){if(e.prefix)return Promise.resolve(e.prefix);let{stdout:t}=await(0,f.default)(ka,[`global`,`dir`]).catch(()=>({stdout:null}));return e.global&&t&&t.match(`Cellar`)?`/usr/local`:process.platform===`win32`&&e.global&&!process.env.prefix?t?t.trim():`${process.env.LOCALAPPDATA}\\Yarn\\Data\\global`:null}const Ma=async(e={},t)=>P((await Da(await Aa(`list`,e,{},{...e.cwd?{cwd:e.cwd}:{},...t}))).dependencies,(e,t)=>({[e]:t.version||t.required?.version})),X=e=>async(t,n,r={})=>e(t,n,r,await Ea(r)),Na=X(Xr),Pa=X(Kr),Fa=X(Zr),Ia=X($r),La=X(Qr),Ra=X(ei),za=X(ti),Ba=async(e,t,n)=>{let{stdout:r}=await(0,f.default)(ka,[`--version`],{rejectOnError:!1},n);if(r.startsWith(`1`)){let r=[`--json`,`info`,`${e}@${t}`,`peerDependencies`],{stdout:i}=await(0,f.default)(ka,r,{rejectOnError:!1},n);return i&&Rr(i,{command:r.join(` `)}).data||{}}else{let r=[`--json`,`npm`,`info`,`${e}@${t}`,`--fields`,`peerDependencies`],{stdout:i}=await(0,f.default)(ka,r,{rejectOnError:!1},n);if(!i)return{};try{return Rr(i,{command:r.join(` `)}).peerDependencies||{}}catch(e){try{let e=await Oa(i);if(e)return Rr(e,{command:r.join(` `)}).peerDependencies||{}}catch{}throw e}}},Va=async(e,t,n={})=>Jr(e,t,n,await Ea(n)),Ha=async(e,t,n,r={})=>zr(e,t,n,r,await Ea(r));var Ua=Aa;function Wa(e,t,{color:n=!0}={}){if(e.cli)H(e,n?I.red(t):t,null,`error`),process.exit(1);else throw Error(t)}var Z=Wa;const Ga=async(e,t)=>{let n,r;try{r=await g.default.readFile(t,`utf-8`),n=JSON.parse(r)}catch{Z(e,`Missing or invalid ${t}`)}return{name:void 0,pkg:n,pkgFile:r,filepath:t}};var Ka=Ga;const qa={dev:`devDependencies`,peer:`peerDependencies`,prod:`dependencies`,optional:`optionalDependencies`},Ja=e=>(e?typeof e==`string`?e.split(`,`):e:q.dep.default).map(e=>qa[e]||e);var Ya=Ja;function Xa(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`)}async function Za(e,t,n){let r=await g.default.readFile(e,`utf-8`);return Object.entries(n).filter(([e])=>t[e]).reduce((e,[n,r])=>{let i=t[n],a=`(${Xa(n)}\\s*:\\s*["'])(${Xa(i)})(["'])`,o=`(${Xa(n)}\\s*:\\s*)(${Xa(i)})(\\s*(?:\\n|$))`,s=new RegExp(a,`g`),c=new RegExp(o,`g`);return e.replace(s,`$1${r}$3`).replace(c,`$1${r}$3`)},r)}async function Qa(e,t,n){let r=await g.default.readFile(e,`utf-8`);return Object.entries(n).filter(([e])=>t[e]).reduce((e,[n,r])=>{let i=t[n],a=`("${Xa(n)}"\\s*:\\s*")(${Xa(i)})(")`,o=new RegExp(a,`g`);return e.replace(o,`$1${r}$3`)},r)}async function $a(e,t,n){let r=u.default.extname(e);if(r===`.yaml`||r===`.yml`)return Za(e,t,n);if(r===`.json`)return Qa(e,t,n);throw Error(`Unsupported catalog file type: ${e}`)}var eo=$a;function to(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`)}async function no(e,t,n,r,i){if(i){let r=u.default.basename(i),a=u.default.extname(i);if(i.includes(`#catalog`)){let e=i.replace(`#catalog`,``);if(u.default.extname(e)===`.json`)return eo(e,t,n)}if(r===`pnpm-workspace.yaml`||r.includes(`catalog`)&&(a===`.yaml`||a===`.yml`)){let r=JSON.parse(e);if(typeof r==`object`&&r.name===`catalog-dependencies`&&typeof r.dependencies==`object`&&Object.keys(r).length<=3){let e=await g.default.readFile(i,`utf-8`),t=M.default.load(e);if(t.catalogs&&=Object.entries(t.catalogs).reduce((e,[t,r])=>({...e,[t]:{...r,...Object.entries(n).filter(([e])=>r[e]).reduce((e,[t,n])=>({...e,[t]:n}),{})}}),{}),t.catalog){let e=t.catalog;t.catalog={...e,...Object.entries(n).filter(([t])=>e[t]).reduce((e,[t,n])=>({...e,[t]:n}),{})}}return t.catalogs?.default&&(t.catalog=t.catalogs.default),JSON.stringify(t,null,2)}return eo(i,t,n)}if(a===`.json`){let r=JSON.parse(e),a=r.catalog||r.catalogs,o=r.workspaces&&!Array.isArray(r.workspaces)&&(r.workspaces.catalog||r.workspaces.catalogs);if(a||o)return eo(i,t,n)}}let a=[...Ya(r.dep),`overrides`],o=RegExp(`"(${a.join(`|`)})"s*:[^}]*`,`g`),s=e.replace(o,e=>Object.entries(n).reduce((e,[r])=>{let i=`"${r}"\\s*:\\s*("|{\\s*"."\\s*:\\s*")(${to(t[r])})"`,a=new RegExp(i,`g`);return e.replace(a,(e,t)=>`"${r}${t?`": ${t}`:`: `}${n[r]}"`)},e));if(a.includes(`packageManager`)){let t=JSON.parse(e);if(t.packageManager){let[e]=t.packageManager.split(`@`);n[e]&&(s=s.replace(/"packageManager"\s*:\s*".*?@[^"]*"/,`"packageManager": "${e}@${n[e]}"`))}}return s}var ro=no;const io=(e,t,n,{spawnOptions:r,spawnPleaseOptions:i}={})=>{n&&console.log(I.blue([t.packageManager,...e].join(` `)));let a={cwd:t.cwd||process.cwd(),env:{...process.env,...t.packageManager===`pnpm`?null:{CI:`1`},FORCE_COLOR:`1`,...r?.env},...r},o={...t.global?{global:!0}:null,...t.prefix?{prefix:t.prefix}:null};return(t.packageManager===`pnpm`?yi:t.packageManager===`yarn`?Ua:t.packageManager===`bun`?si:ni)(e,o,i,a)},ao=async e=>{(e.packageData||e.packageFile)&&(console.error(`--packageData and --packageFile are not allowed with --doctor. You must execute "ncu --doctor" in a directory with a package file so it can install dependencies and test them.`),process.exit(1));let t;try{t=await Ka(e,`package.json`)}catch{console.error(`Missing or invalid package.json`),process.exit(1)}return!e.doctorTest&&!t.pkg.scripts?.test&&(console.error(`No npm "test" script defined. You must define a "test" script in the "scripts" section of your package.json to use --doctor.`),process.exit(1)),t},oo=async(e,t)=>{await ve();let n=t.packageManager===`yarn`?`yarn.lock`:t.packageManager===`pnpm`?`pnpm-lock.yaml`:t.packageManager===`bun`?`bun.lock`:`package-lock.json`,{pkg:r,pkgFile:i}=await ao(t),a={...r.dependencies,...r.devDependencies,...r.optionalDependencies},o=async()=>{if(t.doctorInstall){let[e,...n]=t.doctorInstall.split(` `);console.log(I.blue(t.doctorInstall)),await(0,f.default)(e,n)}else await io([`install`],{packageManager:t.packageManager},!0)},s=async()=>{let e={stderr:e=>{console.error(I.red(e.toString()))},stdout:e=>{process.stdout.write(e.toString())}};if(t.doctorTest){let n=t.doctorTest.matchAll(/"(.+?)"|'(.+?)'|[^ ]+/g),r=[];for(let e of n)r=[...r,e[2]||e[1]||e[0]];let[i,...a]=r;console.log(I.blue(t.doctorTest)),await(0,f.default)(i,a,e)}else await io([`run`,`test`],{packageManager:t.packageManager},!0,{spawnPleaseOptions:e})};console.log(`Running tests before upgrading`),await o();let c=``;try{c=await g.default.readFile(n,`utf-8`)}catch{if(t.packageManager===`bun`){n=`bun.lockb`;try{c=await g.default.readFile(n,`utf-8`)}catch{}}}try{await s()}catch{console.error(`Tests failed before we even got started!`),process.exit(1)}t.interactive||console.log(`Upgrading all dependencies and re-running tests`),console.log(I.blue(`ncu `+process.argv.slice(2).filter(e=>e!==`--doctor`).join(` `))),process.env.NCU_DOCTOR=`1`;let l=await e({...t,silent:!0,doctor:!1});if(Object.keys(l||{}).length===0){console.log(`All dependencies are up-to-date `+I.green.bold(`:)`));return}let u=!1;try{await o(),u=!0,await s(),console.log(`${I.green(`✓`)} Tests pass`),await Sn(t,{current:a,upgraded:l,total:Object.keys(l||{}).length}),console.log(`\n${t.interactive?`Chosen`:`All`} dependencies upgraded and installed ${I.green(`:)`)}`)}catch{console.error(I.red(u?`Tests failed`:`Install failed`)),console.log(`Identifying broken dependencies`),await g.default.writeFile(`package.json`,i),c?await g.default.writeFile(n,c):await g.default.rm(n,{recursive:!0,force:!0});let e=i;if(u)try{await o()}catch{let e=(t.packageManager||`npm`)+` install`;throw Error(`Error: Doctor mode was about to test individual upgrades, but ${I.cyan(e)} failed after rolling back to your existing package and lock files. This is unexpected since the initial install before any upgrades succeeded. Either npm failed to revert a partial install, or failed anomalously on the second run. Please check your internet connection and retry. If doctor mode fails consistently, report a bug with your complete list of dependency versions at https://github.com/raineorshine/npm-check-updates/issues.`)}let d,f;for([d,f]of Object.entries(l))try{if(await io([...t.packageManager===`yarn`||t.packageManager===`pnpm`||t.packageManager===`bun`?[`add`]:[`install`,`--no-save`],`${d}@${f}`],{packageManager:t.packageManager},!0),r.scripts?.prepare)try{await io([`run`,`prepare`],{packageManager:t.packageManager},!0)}catch(e){throw console.error(I.red(`Prepare script failed`)),e}await s(),console.log(` ${I.green(`✓`)} ${d} ${a[d]} → ${f}`),e=await ro(e,{[d]:a[d]},{[d]:f},t),c=await g.default.readFile(n,`utf-8`)}catch(r){console.error(` ${I.red(`✗`)} ${d} ${a[d]} → ${f}\n`),console.error(I.red(r)),await g.default.writeFile(n,c),(t.packageManager===`yarn`||t.packageManager===`pnpm`||t.packageManager===`bun`)&&await g.default.writeFile(`package.json`,e)}e!==i&&(console.log(`Saving partially upgraded package.json`),await g.default.writeFile(`package.json`,e)),await o()}};var so=oo;async function co(e){let t,n=null,r=e.packageFile||`package.json`;function i(t,n){if(t!=null){let n=u.default.resolve(t);H(e,`${e.upgrade?`Upgrading`:`Checking`} ${n}`)}else Z(e,`${I.red(`No ${n}`)}\n\nPlease add a ${n} to the current directory, specify the ${I.cyan(`--packageFile`)} or ${I.cyan(`--packageData`)} options, or pipe a ${n} to stdin and specify ${I.cyan(`--stdin`)}.`,{color:!1});return g.default.readFile(t,`utf-8`).catch(t=>{Z(e,t)})}if(H(e,`Running in local mode`,`verbose`),H(e,`Finding package file data`,`verbose`),e.packageData)n=null,t=Promise.resolve(e.packageData);else if(e.packageFile)n=e.packageFile,t=i(n,r);else if(e.stdin){H(e,`Waiting for package data on stdin`,`verbose`);let a=await(0,ee.text)(process.stdin),o=a.trim().length>0?a:null;n=o||!r?null:await(0,O.findUp)(r),t=o||i(await n,r)}else n=r?await(0,O.findUp)(!e.packageFile&&e.packageManager===`deno`?[`deno.json`,`deno.jsonc`]:r,{cwd:e.cwd||process.cwd()}):null,t=i(n,r);return{pkgData:await t,pkgFile:n||null,pkgPath:r}}var lo=co;function uo(e){return{ignore:[`**/node_modules/**`,...typeof e.ignore==`string`?[e.ignore]:e.ignore||[]]}}const fo=async e=>{let t=u.default.join(u.default.dirname(e),`pnpm-workspace.yaml`),n;try{n=await g.default.readFile(t,`utf-8`)}catch{return null}return M.default.load(n)},po=async(e,t)=>{let n={};if(e.packageManager===`pnpm`){let e=await fo(t);e&&!Array.isArray(e)&&(e.catalog&&Object.assign(n,e.catalog),e.catalogs&&Object.assign(n,...Object.values(e.catalogs)))}let r=JSON.parse(await g.default.readFile(t,`utf-8`));return Object.assign(n,r.catalog,...Object.values(r.catalogs??{})),r.workspaces&&!Array.isArray(r.workspaces)&&Object.assign(n,r.workspaces.catalog,...Object.values(r.workspaces.catalogs??{})),Object.keys(n).length>0?n:null};async function mo(e,t,n,r){let{pkgData:i,pkgPath:a}=await lo({...e,packageFile:n,loglevel:`silent`}),o=(typeof i==`string`?JSON.parse(i):i).workspaces||await fo(a||``),s=Array.isArray(o)?o:o?.packages;s||Z(e,`workspaces property missing from package.json. --workspace${e.workspaces?`s`:``} only works when you specify a "workspaces" property in your package.json.`);let c=(s||[]).map(e=>u.default.join(r,e,`package.json`).replace(/\\/g,`/`)),l=uo(e),d=te.default.sync(c,l),f=await Promise.all(d.map(async t=>{let n=await Ka(e,t);return n.name=n.pkg.name||t.split(`/`).slice(-2)[0],n})),p=f.map(e=>e.name||``);return e.workspaces===!0?[f,p]:[f.filter(n=>e.workspace?.some(e=>s?.some(i=>n.name===e||n.filepath===u.default.join(r,u.default.dirname(i),e,t).replace(/\\/g,`/`)))),p]}async function ho(e,t){if(!t)return null;let n=await po(e,t);if(!n)return null;let r={name:`catalog-dependencies`,version:`1.0.0`,dependencies:n};return{filepath:e.packageManager===`pnpm`?u.default.join(u.default.dirname(t),`pnpm-workspace.yaml`):`${t}#catalog`,pkg:r,pkgFile:JSON.stringify(r,null,2),name:`catalogs`}}async function go(e){let t=e.packageFile||`package.json`,n=e.cwd?(0,D.default)(e.cwd):`./`,r=e.packageFile||(e.cwd?u.default.join(n,`package.json`):`package.json`),i=e.workspaces===!0||e.workspace!==void 0&&e.workspace.length!==0,a=[];if(!i||e.root===!0){let t=r.replace(/\\/g,`/`),n=uo(e),i=te.default.sync(t,n),o=await Promise.all(i.map(async t=>await Ka(e,t)));a=[...a,...o]}if(!i)return[a,[]];let o=null;if(i){let{pkgPath:t}=await lo({...e,packageFile:r,loglevel:`silent`});t&&(o=await ho(e,t))}let[s,c]=await mo(e,t,r,n);if(a=[...a,...s],o&&(a=[...a,o]),e.ignore){let t=Array.isArray(e.ignore)?e.ignore:[e.ignore];a=a.filter(e=>{let r=u.default.relative(n,e.filepath).replace(/\\/g,`/`),i=u.default.dirname(r).replace(/\\/g,`/`);return!t.some(e=>{let t=(0,ne.default)(e);return t(r)||t(i)||t(`${i}/`)})})}return[a,c]}var _o=go;async function vo({configFileName:e,configFilePath:t,packageFile:n,global:r,options:i}){let{default:a,Chalk:o}=await import(`chalk`),s=i?.color?new o({level:1}):a,c=(0,re.rcFile)(`ncurc`,{configFileName:e||`.ncurc`,defaultExtension:[`.json`,`.yml`,`.js`],cwd:t||(r?m.default.homedir():n?u.default.dirname(n):void 0)}),l=c?.filePath;e&&!l&&Z(i,`Config file ${e} not found in ${t||process.cwd()}`);let{$schema:d,...f}=c?.config||{},p=f;typeof p.format==`string`&&(p.format=q.format.parse(p.format));let h=Object.keys(p).filter(e=>!q[e]);return h.length>0&&(console.error(s.red(`Unknown option${h.length===1?``:`s`} found in config file:`),s.gray(h.join(`, `))),console.info(`Using config file `+l),console.info(`You can change the config file path with ${s.blue(`--configFilePath`)}`)),{filePath:l,args:Object.entries(p).flatMap(([e,t])=>typeof t==`boolean`||q[e]?.type===`boolean`?t?[`--${e}`]:[]:[`--${e}`,t]),config:p}}var yo=vo,bo=s({greatest:()=>To,greatestLevel:()=>Eo,latest:()=>wo,minor:()=>Do,newest:()=>Ao,patch:()=>Oo,semver:()=>ko});const xo=(0,oe.promisify)(ae.default.execFile);async function So(e){let t=(await xo(`git`,[`ls-remote`,`--tags`,e])).stdout,n={};for(let e of t.trim().split(`
346
- `)){let t=e.split(` `);n[t[1].replace(/^refs\/tags\/|\^{}$/g,``)]=t[0]}return n}async function Co(e,t,n){t=t.replace(/^github:/,``);let{auth:r,protocol:i,host:a,path:o}=(0,y.default)(t),s;try{if(i!==null)s=await So(`${i?i.replace(`git+`,``):`https:`}//${r?r+`@`:``}${a}/${o?.replace(/^:/,``)}`);else try{s=await So(`ssh://git@${a}/${o?.replace(/^:/,``)}`)}catch{s=await So(`https://${r?r+`@`:``}${a}/${o}`)}}catch{H(n??{},`Invalid, private repo, or no tags for ${e}: ${t}`,`verbose`);return}return Object.keys(s).map(tn).filter(e=>(0,b.valid)(e)).sort(qt)}const wo=async(e,t,n)=>{let r=await Co(e,t,n);if(!r)return{version:null};let i=n?.pre?r:r.filter(e=>!Yt(e)),a=i[i.length-1];return{version:a?fn(t,a):null}},To=async(e,t,n)=>{let r=await Co(e,t,n);if(!r)return{version:null};let i=r[r.length-1];return{version:i?fn(t,i):null}},Eo=e=>async(t,n,r={})=>{let i=decodeURIComponent((0,y.default)(n).branch).replace(/^semver:/,``),a=await Co(t,n,r);if(!a)return{version:null};let o=Jt(a.map(e=>e.replace(/^v/,``)),i,e);return{version:o?fn(n,o):null}},Do=Eo(`minor`),Oo=Eo(`patch`),ko=async(e,t,n)=>({version:null}),Ao=To;var jo=s({latest:()=>Fo});const Mo=e=>e&&e.startsWith(`http://`)||e.startsWith(`https://`),No=async e=>{let t=e.registry,n;if(Mo(t))n=await(await fetch(t)).text();else try{n=await g.default.readFile(t,`utf8`)}catch{Z(e,`\nThe specified static registry file does not exist: ${e.registry}`)}return JSON.parse(n)},Po=(0,w.default)(No),Fo=async(e,t,n)=>({version:(await Po(n||{}))[e]||null});var Q={npm:kr,pnpm:ci,yarn:ba,bun:ri,gitTags:bo,staticRegistry:jo};function Io(e){if(typeof e==`string`)return e.trim();if(Array.isArray(e)&&(e.length===0||typeof e[0]==`string`)){let t=e.map(e=>typeof e==`string`?e.trim():e).filter(e=>e);return t.length>0?t:void 0}else return e}function Lo(e){try{return new URL(e),!0}catch{return!1}}async function Ro(e,{cli:t}={}){let{default:n,Chalk:r}=await import(`chalk`),i=e.color?new r({level:1}):n;if(!t){let t=rr.reduce((e,t)=>({...e,...t.default==null?null:{[t.long]:t.default}}),{}),n={jsonUpgraded:!0,silent:e.silent||e.loglevel===void 0&&!e.verbose,args:[]};e={...t,...n,...e}}let a={...e,...e.packageData&&typeof e.packageData!=`string`?{packageData:JSON.stringify(e.packageData,null,2)}:null,cli:t},o=a.silent||a.format?.includes(`lines`)?`silent`:a.verbose?`verbose`:a.loglevel,s=Object.keys(a).filter(e=>e.startsWith(`json`)).some((0,Ot.default)(a));!s&&o!==`silent`&&a.rcConfigPath&&!a.doctor&&H(a,`Using config file ${a.rcConfigPath}`);let c=rr.filter(({long:e,deprecated:t})=>t&&a[e]||e===`packageManager`&&a.packageManager===`staticRegistry`);c.length>0&&(c.forEach(({long:e,description:t})=>{let n=e===`packageManager`?`--packageManager staticRegistry is deprecated. Use --registryType json.`:`--${e}: ${t}`;H(a,i.yellow(n),`warn`)}),H(a,``,`warn`)),rr.forEach(({long:e,choices:t})=>{if(!t||t.length===0)return;let n=a[e],r=Array.isArray(n)?n:[n];r.length!==0&&r.every(e=>!t.includes(e))&&Z(a,`Invalid option value: --${e} ${n}. Valid values are: ${t.join(`, `)}.`)}),a.cwd&&!await Ce(a.cwd)&&Z(a,`No such directory: ${a.cwd}`);let l=Io(a.args),u=Io(a.filter),d=Io(a.filterVersion),f=Io(a.reject),p=Io(a.rejectVersion),m=a.registryType||(a.registry?.endsWith(`.json`)?`json`:`npm`);if(a.filter&&l&&!(0,ie.dequal)(l.join(` `),Array.isArray(u)?u.join(` `):u)?Z(a,`Cannot specify a filter using both --filter and args. Did you forget to quote an argument?
347
- See: https://github.com/raineorshine/npm-check-updates/issues/759#issuecomment-723587297`):a.packageFile&&a.deep?Z(a,`Cannot specify both --packageFile and --deep. --deep is an alias for --packageFile '**/package.json'`):a.format?.includes(`lines`)&&a.jsonUpgraded?Z(a,`Cannot specify both --format lines and --jsonUpgraded.`):a.format?.includes(`lines`)&&a.jsonAll?Z(a,`Cannot specify both --format lines and --jsonAll.`):a.format?.includes(`lines`)&&a.format.length>1?Z(a,`Cannot use --format lines with other formatting options.`):a.workspace?.length&&a.workspaces?Z(a,`Cannot specify both --workspace and --workspaces.`):a.deep&&(a.workspace?.length||a.workspaces)?Z(a,`Cannot specify both --deep and --workspace${a.workspaces?`s`:``}.`):a.doctor&&(a.workspace?.length||a.workspaces)?Z(a,`Doctor mode is not currently supported with --workspace${a.workspaces?`s`:``}.`):a.packageManager===`staticRegistry`&&!a.registry?Z(a,`When --package-manager staticRegistry is specified, you must provide the path for the registry file with --registry.`):a.registryType===`json`&&!a.registry?Z(a,`When --registryType json is specified, you must provide the path for the registry file with --registry. Run "ncu --help registryType" for details.`):m!==`json`&&a.registry&&!Lo(a.registry)&&Z(a,`--registry must be a valid URL. Invalid value: "${a.registry}"`),a.cooldown!=null){let e=typeof a.cooldown==`number`&&!isNaN(a.cooldown)&&a.cooldown>=0,t=typeof a.cooldown==`function`;!e&&!t&&Z(a,`Cooldown must be a non-negative integer representing days since published or a function`)}let h=a.target||`latest`,g=h===`newest`||h===`greatest`,_=await lr(a),v={...a,...a.deep?{packageFile:`**/package.json`}:null,..._===`deno`?{dep:[`imports`]}:null,...a.format&&a.format.length>0?{format:a.format}:null,filter:l||u,filterVersion:d,json:s,loglevel:o,minimal:a.minimal===void 0?!1:a.minimal,...a.pre!=null||g?{pre:a.pre==null?g:!!a.pre}:null,reject:f,rejectVersion:p,target:h,...a.interactive&&a.upgrade===void 0?{upgrade:!s}:null,packageManager:_,...a.prefix?{prefix:await(Q[_||``]?.defaultPrefix||Q.npm.defaultPrefix)(a)}:null,registryType:m};v.cacher=await Mn(v);let y=F(v,(e,t)=>t===void 0?null:{[e]:t});return!a.packageManager&&_!==`npm`&&H(y,`Using ${_}`),y}var zo=Ro;function Bo(e,t){return Array.from(new Set([...e||[],...t||[]]))}function Vo(e,t){let n=e||{},r=t||{},i={...n,...r};return Object.keys(i).forEach(e=>{Array.isArray(n[e])&&Array.isArray(r[e])&&(i[e]=Bo(n[e],r[e]))}),i}var Ho=Vo,Uo=l(bi(),1);function Wo(e){let t;if(!e)t=Uo.default;else if(typeof e==`string`)if(e[0]===`/`&&e.at(-1)===`/`){let n=new RegExp(e.slice(1,-1));t=e=>n.test(e)}else{let n=e.split(/[\s,]+/);t=e=>n.some((0,se.or)(t=>(0,ne.default)(t)(e),t=>!t.includes(`/`)&&e.includes(`/`)&&(0,ne.default)(t)(e.replace(/\//g,`_`))))}else if(Array.isArray(e))t=(t,n)=>e.some(e=>Wo(e)(t,n));else if(e instanceof RegExp)t=t=>e.test(t);else if(typeof e==`function`)t=(t,n)=>e(t,(0,x.parseRange)(n??t));else throw TypeError(`Invalid filter. Must be a RegExp, array, or comma-or-space-delimited list.`);return t}function Go(e,t,n,r){return(0,se.and)((n,r)=>(0,se.and)(e?Wo(e):!0,t?(...e)=>!Wo(t)(...e):!0)(n,r),(e,t)=>(0,se.and)(n?Wo(n):!0,r?(...e)=>!Wo(r)(...e):!0)(t))}var Ko=Go;function qo(e,t){return!t||t===`deno`?Q.npm:e.registryType===`json`?Q.staticRegistry:(Q[t]||Z(e,`Invalid package manager: ${t}`),Q[t])}var Jo=qo;async function Yo(e={}){let t=await Jo(e,e.packageManager).list?.({cwd:e.cwd,prefix:e.prefix,global:e.global});t||Z(e,`Unable to retrieve package list`);let n=Ko(e.filter,e.reject,e.filterVersion,e.rejectVersion),r={};try{r=L(t,(e,t)=>!!t&&!Vt(t)&&n(e,t))}catch(t){Z(e,`Invalid filter: `+t.message||t)}return r}var Xo=Yo;function Zo(e,t){let n=[[t]];for(;n.length>0;){let t=[];for(let r of n){let n=Object.keys(e[r[0]]??{});for(let e of n){if(e===r.at(-1))return{isCircular:!0,offendingPackage:r[0]};t.push([e,...r])}}n=t}return{isCircular:!1}}async function Qo(e,t){let n=Jo(t,t.packageManager);if(!n.getPeerDependencies)return{};let r=Object.keys(e).length,i;!t.json&&t.loglevel!==`silent`&&t.loglevel!==`verbose`&&r>0&&(i=new le.default(`[:bar] :current/:total :percent`,{total:r,width:20}),i.render());let a=Object.entries(e),o=await(0,ce.default)(a,async([e,r])=>{let a,o=t.cacher?.getPeers(e,r);return o?a=o:(a=await n.getPeerDependencies(e,r,{cwd:t.cwd}),t.cacher?.setPeers(e,r,a)),i&&i.tick(),{pkg:e,dependencies:a}},{concurrency:t.concurrency}),s={};for(let{pkg:e,dependencies:t}of o){s[e]=t;let n=Zo(s,e);n.isCircular&&delete s[e][n.offendingPackage]}return await t.cacher?.save(),t.cacher?.log(!0),s}var $o=Qo;function es(e,t){let n={};for(let r of t)n[r]=e[r];return n}function $(e,t){let n={};for(let[r,i]of Object.entries(e??{})){let e=r;t(i,e)&&(n[e]=i)}return n}const ts=[`latest`,`newest`,`greatest`,`minor`,`patch`,`semver`];async function ns(e,t={}){let{default:n,Chalk:r}=await import(`chalk`),i=t.color?new r({level:1}):n,a=Object.keys(e),o=Jo(t,t.packageManager),s;!t.json&&t.loglevel!==`silent`&&t.loglevel!==`verbose`&&a.length>0&&(s=new le.default(`[:bar] :current/:total :percent`,{total:a.length,width:20}),s.render());async function c(n){let r=an(e[n]),[a,c]=r||[n,e[n]],l=t.target||`latest`,u=typeof l==`string`?l:l(a,(0,x.parseRange)(c)),[d,f]=u.startsWith(`@`)?[`distTag`,u.slice(1)]:[u,`latest`],p=t.cacher?.get(a,d);if(p)return s?.tick(),{version:p};let m,h=cn(e[n]),g=h?Q.gitTags:o,_=h?`github urls`:t.packageManager||`npm`,v=g[d];if(!v){let e=ts.filter(e=>e in g);Z(t,i.red(`\nUnsupported target "${d}" using ${_}`)+`
348
- Supported version targets are: `+e.join(`, `)+(h?``:`, and tags (e.g. @next)`),{color:!1})}try{m=await v(a,c,{...t,distTag:f,pre:t.pre==null?u.startsWith(`@`)||Yt(c):t.pre,retry:t.retry??2}).catch(e=>({error:e?.body?.error||e.toString()})),m.version=!h&&r&&m?.version?rn(a,m.version):m?.version??null}catch(e){let n=e?(e.message||e).toString():``;if(n.match(/E504|Gateway Timeout/i))return{error:`${n}. All ${t.retry} retry attempts failed.`};if(n.match(/E400|E404|ENOTFOUND|404 Not Found|400 Bad Request/i))return{error:`${n.replace(/ - Not found$/i,``)}. All ${t.retry} retry attempts failed. Either your internet connection is down, the registry is inaccessible, the authentication credentials are invalid, or the package does not exist.`};if(e.code===`ERR_INVALID_URL`)return{error:n||`Invalid URL`};throw!process.env.NCU_TESTS&&/(Response|network) timeout/i.test(n)&&console.error(`
344
+ `)}t.exports=r})),Si=o(((e,t)=>{function n(e){return function(){return e}}t.exports=n})),Ci=o(((e,t)=>{var n=Ue();t.exports=function(){try{var e=n(Object,`defineProperty`);return e({},``,{}),e}catch{}}()})),wi=o(((e,t)=>{var n=Si(),r=Ci(),i=Xr();t.exports=r?function(e,t){return r(e,`toString`,{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:i})),Ti=o(((e,t)=>{var n=wi();t.exports=vi()(n)})),Ei=o(((e,t)=>{function n(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}t.exports=n})),Di=o(((e,t)=>{function n(e,t,n,r){for(var i=e.length,a=n+(r?1:-1);r?a--:++a<i;)if(t(e[a],a,e))return a;return-1}t.exports=n})),Oi=o(((e,t)=>{function n(e){return e!==e}t.exports=n})),ki=o(((e,t)=>{function n(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}t.exports=n})),Ai=o(((e,t)=>{var n=Di(),r=Oi(),i=ki();function a(e,t,a){return t===t?i(e,t,a):n(e,r,a)}t.exports=a})),ji=o(((e,t)=>{var n=Ai();function r(e,t){return!!(e!=null&&e.length)&&n(e,t,0)>-1}t.exports=r})),Mi=o(((e,t)=>{var n=Ei(),r=ji(),i=[[`ary`,128],[`bind`,1],[`bindKey`,2],[`curry`,8],[`curryRight`,16],[`flip`,512],[`partial`,32],[`partialRight`,64],[`rearg`,256]];function a(e,t){return n(i,function(n){var i=`_.`+n[0];t&n[1]&&!r(e,i)&&e.push(i)}),e.sort()}t.exports=a})),Ni=o(((e,t)=>{var n=bi(),r=xi(),i=Ti(),a=Mi();function o(e,t,o){var s=t+``;return i(e,r(s,a(n(s),o)))}t.exports=o})),Pi=o(((e,t)=>{var n=_i(),r=yi(),i=Ni(),a=1,o=2,s=4,c=8,l=32,u=64;function d(e,t,d,f,p,m,h,g,_,v){var y=t&c,b=y?h:void 0,x=y?void 0:h,S=y?m:void 0,C=y?void 0:m;t|=y?l:u,t&=~(y?u:l),t&s||(t&=~(a|o));var w=[e,t,p,S,b,C,x,g,_,v],T=d.apply(void 0,w);return n(e)&&r(T,w),T.placeholder=f,i(T,e,t)}t.exports=d})),Fi=o(((e,t)=>{function n(e){return e.placeholder}t.exports=n})),Ii=o(((e,t)=>{var n=9007199254740991,r=/^(?:0|[1-9]\d*)$/;function i(e,t){var i=typeof e;return t??=n,!!t&&(i==`number`||i!=`symbol`&&r.test(e))&&e>-1&&e%1==0&&e<t}t.exports=i})),Li=o(((e,t)=>{var n=mi(),r=Ii(),i=Math.min;function a(e,t){for(var a=e.length,o=i(t.length,a),s=n(e);o--;){var c=t[o];e[o]=r(c,a)?s[c]:void 0}return e}t.exports=a})),Ri=o(((e,t)=>{var n=`__lodash_placeholder__`;function r(e,t){for(var r=-1,i=e.length,a=0,o=[];++r<i;){var s=e[r];(s===t||s===n)&&(e[r]=n,o[a++]=r)}return o}t.exports=r})),zi=o(((e,t)=>{var n=ii(),r=ai(),i=oi(),a=ti(),o=Pi(),s=Fi(),c=Li(),l=Ri(),u=R(),d=1,f=2,p=8,m=16,h=128,g=512;function _(e,t,v,y,b,x,S,C,w,T){var E=t&h,D=t&d,ee=t&f,O=t&(p|m),k=t&g,A=ee?void 0:a(e);function j(){for(var d=arguments.length,f=Array(d),p=d;p--;)f[p]=arguments[p];if(O)var m=s(j),h=i(f,m);if(y&&(f=n(f,y,b,O)),x&&(f=r(f,x,S,O)),d-=h,O&&d<T){var g=l(f,m);return o(e,t,_,j.placeholder,v,f,g,C,w,T-d)}var te=D?v:this,M=ee?te[e]:e;return d=f.length,C?f=c(f,C):k&&d>1&&f.reverse(),E&&w<d&&(f.length=w),this&&this!==u&&this instanceof j&&(M=A||a(M)),M.apply(te,f)}return j}t.exports=_})),Bi=o(((e,t)=>{var n=ri(),r=ti(),i=zi(),a=Pi(),o=Fi(),s=Ri(),c=R();function l(e,t,l){var u=r(e);function d(){for(var r=arguments.length,f=Array(r),p=r,m=o(d);p--;)f[p]=arguments[p];var h=r<3&&f[0]!==m&&f[r-1]!==m?[]:s(f,m);return r-=h.length,r<l?a(e,t,i,d.placeholder,void 0,f,h,void 0,void 0,l-r):n(this&&this!==c&&this instanceof d?u:e,this,f)}return d}t.exports=l})),Vi=o(((e,t)=>{var n=ri(),r=ti(),i=R(),a=1;function o(e,t,o,s){var c=t&a,l=r(e);function u(){for(var t=-1,r=arguments.length,a=-1,d=s.length,f=Array(d+r),p=this&&this!==i&&this instanceof u?l:e;++a<d;)f[a]=s[a];for(;r--;)f[a++]=arguments[++t];return n(p,c?o:this,f)}return u}t.exports=o})),Hi=o(((e,t)=>{var n=ii(),r=ai(),i=Ri(),a=`__lodash_placeholder__`,o=1,s=2,c=4,l=8,u=128,d=256,f=Math.min;function p(e,t){var p=e[1],m=t[1],h=p|m,g=h<(o|s|u),_=m==u&&p==l||m==u&&p==d&&e[7].length<=t[8]||m==(u|d)&&t[7].length<=t[8]&&p==l;if(!(g||_))return e;m&o&&(e[2]=t[2],h|=p&o?0:c);var v=t[3];if(v){var y=e[3];e[3]=y?n(y,v,t[4]):v,e[4]=y?i(e[3],a):t[4]}return v=t[5],v&&(y=e[5],e[5]=y?r(y,v,t[6]):v,e[6]=y?i(e[5],a):t[6]),v=t[7],v&&(e[7]=v),m&u&&(e[8]=e[8]==null?t[8]:f(e[8],t[8])),e[9]??=t[9],e[0]=t[0],e[1]=h,e}t.exports=p})),Ui=o(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),Wi=o(((e,t)=>{var n=Ui(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),Gi=o(((e,t)=>{var n=Wi(),r=Ie(),i=Pe(),a=NaN,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt;function u(e){if(typeof e==`number`)return e;if(i(e))return a;if(r(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=r(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=n(e);var u=s.test(e);return u||c.test(e)?l(e.slice(2),u?2:8):o.test(e)?a:+e}t.exports=u})),Ki=o(((e,t)=>{var n=Gi(),r=1/0,i=17976931348623157e292;function a(e){return e?(e=n(e),e===r||e===-r?(e<0?-1:1)*i:e===e?e:0):e===0?e:0}t.exports=a})),qi=o(((e,t)=>{var n=Ki();function r(e){var t=n(e),r=t%1;return t===t?r?t-r:t:0}t.exports=r})),Ji=o(((e,t)=>{var n=$r(),r=ni(),i=Bi(),a=zi(),o=Vi(),s=ui(),c=Hi(),l=yi(),u=Ni(),d=qi(),f=`Expected a function`,p=1,m=2,h=8,g=16,_=32,v=64,y=Math.max;function b(e,t,b,x,S,C,w,T){var E=t&m;if(!E&&typeof e!=`function`)throw TypeError(f);var D=x?x.length:0;if(D||(t&=~(_|v),x=S=void 0),w=w===void 0?w:y(d(w),0),T=T===void 0?T:d(T),D-=S?S.length:0,t&v){var ee=x,O=S;x=S=void 0}var k=E?void 0:s(e),A=[e,t,b,x,S,ee,O,C,w,T];if(k&&c(A,k),e=A[0],t=A[1],b=A[2],x=A[3],S=A[4],T=A[9]=A[9]===void 0?E?0:e.length:y(A[9]-D,0),!T&&t&(h|g)&&(t&=~(h|g)),!t||t==p)var j=r(e,t,b);else j=t==h||t==g?i(e,t,T):(t==_||t==(p|_))&&!S.length?o(e,t,b,x):a.apply(void 0,A);return u((k?n:l)(j,A),e,t)}t.exports=b})),Yi=o(((e,t)=>{var n=Ji(),r=8;function i(e,t,a){t=a?void 0:t;var o=n(e,r,void 0,void 0,void 0,void 0,void 0,t);return o.placeholder=i.placeholder,o}i.placeholder={},t.exports=i})),Xi=s({default:()=>ya,defaultPrefix:()=>sa,distTag:()=>la,getEngines:()=>_a,getPathToLookForYarnrc:()=>ta,getPeerDependencies:()=>ga,greatest:()=>ua,latest:()=>da,list:()=>ca,minor:()=>fa,newest:()=>pa,npmAuthTokenKeyValue:()=>$i,packageAuthorChanged:()=>va,patch:()=>ma,semver:()=>ha}),Zi=l(Yi(),1);const Qi=(e,t)=>e.replace(/\$\{([^:-]+)(?:(:)?-([^}]*))?\}/g,(e,n,r,i,a)=>t[n]||(i?a:``)),$i=(0,Zi.default)((e,t,n)=>{if(n.npmAuthToken){let r=n.npmRegistryServer||e[`@${t}:registry`];if(r){let e=r.replace(/^https?:/,``);return e.endsWith(`/`)&&(e=e.slice(0,-1)),{[`${e}/:_authToken`]:Qi(n.npmAuthToken,process.env)}}}return null}),ea=(e,t)=>t.npmRegistryServer?{[`@${e}:registry`]:Qi(t.npmRegistryServer,process.env)}:null;async function ta(e,t=g.default.readdir){if(e.global)return;let n=(await Rn(e,t))?.directoryPath;if(n)return u.default.join(n,`.yarnrc.yml`)}const na=(0,C.default)(async e=>{let t=await ta(e),n=u.default.join(m.default.homedir(),`.yarnrc.yml`),r=typeof t==`string`&&await be(t),i=await be(n),a=r?await g.default.readFile(t,`utf-8`):``,o=i?await g.default.readFile(n,`utf-8`):``,s=A.default.load(a),c=A.default.load(o),l={...N(c?.npmScopes||{},ea),...N(s?.npmScopes||{},ea)};return l={...l,...N(c?.npmScopes||{},$i(l)),...N(s?.npmScopes||{},$i(l))},r&&(B(e,`\nUsing local yarn config at ${t}:`,`verbose`),B(e,s,`verbose`)),i&&(B(e,`\nUsing user yarn config at ${n}:`,`verbose`),B(e,s,`verbose`)),Object.keys(l)&&(B(e,`
345
+ Merged yarn config in npm format:`,`verbose`),B(e,l,`verbose`)),l});function ra(e){return new Promise((t,n)=>{let r={},i=j.default.parse();i.on(`data`,e=>{if(e.type===`info`&&!e.data.match(/^Visit/)){let[,t,n]=e.data.match(/"(@?.*)@(.*)"/)||[];r[t]={version:n,from:t}}else e.type===`error`&&n(Error(e.data))}),i.on(`end`,()=>{t({dependencies:r})}),i.on(`error`,n),i.write(e),i.end()})}function ia(e){return new Promise((t,n)=>{let r=j.default.parse(),i=!1;r.on(`data`,e=>{i||(i=!0,t(JSON.stringify(e)))}),r.on(`error`,n),r.write(e),r.end()})}const aa=process.platform===`win32`?`yarn.cmd`:`yarn`;async function oa(e,t={},n={},r={}){let{stdout:i}=await(0,f.default)(aa,[...t.global?[`global`]:[],...t.prefix?[`--prefix=${t.prefix}`]:[],`--depth=0`,`--json`,`--no-progress`,...Array.isArray(e)?e:[e]],n,r);return i}async function sa(e){if(e.prefix)return Promise.resolve(e.prefix);let{stdout:t}=await(0,f.default)(aa,[`global`,`dir`]).catch(()=>({stdout:null}));return e.global&&t&&t.match(`Cellar`)?`/usr/local`:process.platform===`win32`&&e.global&&!process.env.prefix?t?t.trim():`${process.env.LOCALAPPDATA}\\Yarn\\Data\\global`:null}const ca=async(e={},t)=>N((await ra(await oa(`list`,e,{},{...e.cwd?{cwd:e.cwd}:{},...t}))).dependencies,(e,t)=>({[e]:t.version||t.required?.version})),X=e=>async(t,n,r={})=>e(t,n,r,await na(r)),la=X(Er),ua=X(Sr),da=X(Dr),fa=X(kr),pa=X(Or),ma=X(Ar),ha=X(jr),ga=async(e,t,n)=>{let{stdout:r}=await(0,f.default)(aa,[`--version`],{rejectOnError:!1},n);if(r.startsWith(`1`)){let r=[`--json`,`info`,`${e}@${t}`,`peerDependencies`],{stdout:i}=await(0,f.default)(aa,r,{rejectOnError:!1},n);return i&&q(i,{command:r.join(` `)}).data||{}}else{let r=[`--json`,`npm`,`info`,`${e}@${t}`,`--fields`,`peerDependencies`],{stdout:i}=await(0,f.default)(aa,r,{rejectOnError:!1},n);if(!i)return{};try{return q(i,{command:r.join(` `)}).peerDependencies||{}}catch(e){try{let e=await ia(i);if(e)return q(e,{command:r.join(` `)}).peerDependencies||{}}catch{}throw e}}},_a=async(e,t,n={})=>wr(e,t,n,await na(n)),va=async(e,t,n,r={})=>hr(e,t,n,r,await na(r));var ya=oa;function ba(e,t,{color:n=!0}={}){if(e.cli)B(e,n?F.red(t):t,null,`error`),process.exit(1);else throw Error(t)}var Z=ba,xa=async(e,t)=>{let n,r;try{r=await g.default.readFile(t,`utf-8`),n=JSON.parse(r)}catch{Z(e,`Missing or invalid ${t}`)}return{name:void 0,pkg:n,pkgFile:r,filepath:t}};const Sa={dev:`devDependencies`,peer:`peerDependencies`,prod:`dependencies`,optional:`optionalDependencies`};var Ca=e=>(e?typeof e==`string`?e.split(`,`):e:G.dep.default).map(e=>Sa[e]||e);function wa(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`)}async function Ta(e,t,n){let r=await g.default.readFile(e,`utf-8`);return Object.entries(n).filter(([e])=>t[e]).reduce((e,[n,r])=>{let i=t[n],a=`(${wa(n)}\\s*:\\s*["'])(${wa(i)})(["'])`,o=`(${wa(n)}\\s*:\\s*)(${wa(i)})(\\s*(?:\\n|$))`,s=new RegExp(a,`g`),c=new RegExp(o,`g`);return e.replace(s,`$1${r}$3`).replace(c,`$1${r}$3`)},r)}async function Ea(e,t,n){let r=await g.default.readFile(e,`utf-8`);return Object.entries(n).filter(([e])=>t[e]).reduce((e,[n,r])=>{let i=t[n],a=`("${wa(n)}"\\s*:\\s*")(${wa(i)})(")`,o=new RegExp(a,`g`);return e.replace(o,`$1${r}$3`)},r)}async function Da(e,t,n){let r=u.default.extname(e);if(r===`.yaml`||r===`.yml`)return Ta(e,t,n);if(r===`.json`)return Ea(e,t,n);throw Error(`Unsupported catalog file type: ${e}`)}var Oa=Da;function ka(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`)}async function Aa(e,t,n,r,i){if(i){let r=u.default.basename(i),a=u.default.extname(i);if(i.includes(`#catalog`)){let e=i.replace(`#catalog`,``);if(u.default.extname(e)===`.json`)return Oa(e,t,n)}if(r===`pnpm-workspace.yaml`||r.includes(`catalog`)&&(a===`.yaml`||a===`.yml`)){let r=JSON.parse(e);if(typeof r==`object`&&r.name===`catalog-dependencies`&&typeof r.dependencies==`object`&&Object.keys(r).length<=3){let e=await g.default.readFile(i,`utf-8`),t=A.default.load(e);if(t.catalogs&&=Object.entries(t.catalogs).reduce((e,[t,r])=>({...e,[t]:{...r,...Object.entries(n).filter(([e])=>r[e]).reduce((e,[t,n])=>({...e,[t]:n}),{})}}),{}),t.catalog){let e=t.catalog;t.catalog={...e,...Object.entries(n).filter(([t])=>e[t]).reduce((e,[t,n])=>({...e,[t]:n}),{})}}return t.catalogs?.default&&(t.catalog=t.catalogs.default),JSON.stringify(t,null,2)}return Oa(i,t,n)}if(a===`.json`){let r=JSON.parse(e),a=r.catalog||r.catalogs,o=r.workspaces&&!Array.isArray(r.workspaces)&&(r.workspaces.catalog||r.workspaces.catalogs);if(a||o)return Oa(i,t,n)}}let a=[...Ca(r.dep),`overrides`],o=RegExp(`"(${a.join(`|`)})"s*:[^}]*`,`g`),s=e.replace(o,e=>Object.entries(n).reduce((e,[r])=>{let i=`"${r}"\\s*:\\s*("|{\\s*"."\\s*:\\s*")(${ka(t[r])})"`,a=new RegExp(i,`g`);return e.replace(a,(e,t)=>`"${r}${t?`": ${t}`:`: `}${n[r]}"`)},e));if(a.includes(`packageManager`)){let t=JSON.parse(e);if(t.packageManager){let[e]=t.packageManager.split(`@`);n[e]&&(s=s.replace(/"packageManager"\s*:\s*".*?@[^"]*"/,`"packageManager": "${e}@${n[e]}"`))}}return s}var ja=Aa;const Ma=(e,t,n,{spawnOptions:r,spawnPleaseOptions:i}={})=>{n&&console.log(F.blue([t.packageManager,...e].join(` `)));let a={cwd:t.cwd||process.cwd(),env:{...process.env,...t.packageManager===`pnpm`?null:{CI:`1`},FORCE_COLOR:`1`,...r?.env},...r},o={...t.global?{global:!0}:null,...t.prefix?{prefix:t.prefix}:null};return(t.packageManager===`pnpm`?Yr:t.packageManager===`yarn`?ya:t.packageManager===`bun`?Lr:Mr)(e,o,i,a)},Na=async e=>{(e.packageData||e.packageFile)&&(console.error(`--packageData and --packageFile are not allowed with --doctor. You must execute "ncu --doctor" in a directory with a package file so it can install dependencies and test them.`),process.exit(1));let t;try{t=await xa(e,`package.json`)}catch{console.error(`Missing or invalid package.json`),process.exit(1)}return!e.doctorTest&&!t.pkg.scripts?.test&&(console.error(`No npm "test" script defined. You must define a "test" script in the "scripts" section of your package.json to use --doctor.`),process.exit(1)),t};var Pa=async(e,t)=>{await ve();let n=t.packageManager===`yarn`?`yarn.lock`:t.packageManager===`pnpm`?`pnpm-lock.yaml`:t.packageManager===`bun`?`bun.lock`:`package-lock.json`,{pkg:r,pkgFile:i}=await Na(t),a={...r.dependencies,...r.devDependencies,...r.optionalDependencies},o=async()=>{if(t.doctorInstall){let[e,...n]=t.doctorInstall.split(` `);console.log(F.blue(t.doctorInstall)),await(0,f.default)(e,n)}else await Ma([`install`],{packageManager:t.packageManager},!0)},s=async()=>{let e={stderr:e=>{console.error(F.red(e.toString()))},stdout:e=>{process.stdout.write(e.toString())}};if(t.doctorTest){let n=t.doctorTest.matchAll(/"(.+?)"|'(.+?)'|[^ ]+/g),r=[];for(let e of n)r=[...r,e[2]||e[1]||e[0]];let[i,...a]=r;console.log(F.blue(t.doctorTest)),await(0,f.default)(i,a,e)}else await Ma([`run`,`test`],{packageManager:t.packageManager},!0,{spawnPleaseOptions:e})};console.log(`Running tests before upgrading`),await o();let c=``;try{c=await g.default.readFile(n,`utf-8`)}catch{if(t.packageManager===`bun`){n=`bun.lockb`;try{c=await g.default.readFile(n,`utf-8`)}catch{}}}try{await s()}catch{console.error(`Tests failed before we even got started!`),process.exit(1)}t.interactive||console.log(`Upgrading all dependencies and re-running tests`),console.log(F.blue(`ncu `+process.argv.slice(2).filter(e=>e!==`--doctor`).join(` `))),process.env.NCU_DOCTOR=`1`;let l=await e({...t,silent:!0,doctor:!1});if(Object.keys(l||{}).length===0){console.log(`All dependencies are up-to-date `+F.green.bold(`:)`));return}let u=!1;try{await o(),u=!0,await s(),console.log(`${F.green(`✓`)} Tests pass`),await yn(t,{current:a,upgraded:l,total:Object.keys(l||{}).length}),console.log(`\n${t.interactive?`Chosen`:`All`} dependencies upgraded and installed ${F.green(`:)`)}`)}catch{console.error(F.red(u?`Tests failed`:`Install failed`)),console.log(`Identifying broken dependencies`),await g.default.writeFile(`package.json`,i),c?await g.default.writeFile(n,c):await g.default.rm(n,{recursive:!0,force:!0});let e=i;if(u)try{await o()}catch{let e=(t.packageManager||`npm`)+` install`;throw Error(`Error: Doctor mode was about to test individual upgrades, but ${F.cyan(e)} failed after rolling back to your existing package and lock files. This is unexpected since the initial install before any upgrades succeeded. Either npm failed to revert a partial install, or failed anomalously on the second run. Please check your internet connection and retry. If doctor mode fails consistently, report a bug with your complete list of dependency versions at https://github.com/raineorshine/npm-check-updates/issues.`)}let d,f;for([d,f]of Object.entries(l))try{if(await Ma([...t.packageManager===`yarn`||t.packageManager===`pnpm`||t.packageManager===`bun`?[`add`]:[`install`,`--no-save`],`${d}@${f}`],{packageManager:t.packageManager},!0),r.scripts?.prepare)try{await Ma([`run`,`prepare`],{packageManager:t.packageManager},!0)}catch(e){throw console.error(F.red(`Prepare script failed`)),e}await s(),console.log(` ${F.green(`✓`)} ${d} ${a[d]} → ${f}`),e=await ja(e,{[d]:a[d]},{[d]:f},t),c=await g.default.readFile(n,`utf-8`)}catch(r){console.error(` ${F.red(`✗`)} ${d} ${a[d]} → ${f}\n`),console.error(F.red(r)),await g.default.writeFile(n,c),(t.packageManager===`yarn`||t.packageManager===`pnpm`||t.packageManager===`bun`)&&await g.default.writeFile(`package.json`,e)}e!==i&&(console.log(`Saving partially upgraded package.json`),await g.default.writeFile(`package.json`,e)),await o()}};async function Fa(e){let t,n=null,r=e.packageFile||`package.json`;function i(t,n){if(t!=null){let n=u.default.resolve(t);B(e,`${e.upgrade?`Upgrading`:`Checking`} ${n}`)}else Z(e,`${F.red(`No ${n}`)}\n\nPlease add a ${n} to the current directory, specify the ${F.cyan(`--packageFile`)} or ${F.cyan(`--packageData`)} options, or pipe a ${n} to stdin and specify ${F.cyan(`--stdin`)}.`,{color:!1});return g.default.readFile(t,`utf-8`).catch(t=>{Z(e,t)})}if(B(e,`Running in local mode`,`verbose`),B(e,`Finding package file data`,`verbose`),e.packageData)n=null,t=Promise.resolve(e.packageData);else if(e.packageFile)n=e.packageFile,t=i(n,r);else if(e.stdin){B(e,`Waiting for package data on stdin`,`verbose`);let a=await(0,te.text)(process.stdin),o=a.trim().length>0?a:null;n=o||!r?null:await(0,D.findUp)(r),t=o||i(await n,r)}else n=r?await(0,D.findUp)(!e.packageFile&&e.packageManager===`deno`?[`deno.json`,`deno.jsonc`]:r,{cwd:e.cwd||process.cwd()}):null,t=i(n,r);return{pkgData:await t,pkgFile:n||null,pkgPath:r}}var Ia=Fa;function La(e){return{ignore:[`**/node_modules/**`,...typeof e.ignore==`string`?[e.ignore]:e.ignore||[]]}}const Ra=async e=>{let t=u.default.join(u.default.dirname(e),`pnpm-workspace.yaml`),n;try{n=await g.default.readFile(t,`utf-8`)}catch{return null}return A.default.load(n)},za=async(e,t)=>{let n={};if(e.packageManager===`pnpm`){let e=await Ra(t);e&&!Array.isArray(e)&&(e.catalog&&Object.assign(n,e.catalog),e.catalogs&&Object.assign(n,...Object.values(e.catalogs)))}let r=JSON.parse(await g.default.readFile(t,`utf-8`));return Object.assign(n,r.catalog,...Object.values(r.catalogs??{})),r.workspaces&&!Array.isArray(r.workspaces)&&Object.assign(n,r.workspaces.catalog,...Object.values(r.workspaces.catalogs??{})),Object.keys(n).length>0?n:null};async function Ba(e,t,n,r){let{pkgData:i,pkgPath:a}=await Ia({...e,packageFile:n,loglevel:`silent`}),o=(typeof i==`string`?JSON.parse(i):i).workspaces||await Ra(a||``),s=Array.isArray(o)?o:o?.packages;s||Z(e,`workspaces property missing from package.json. --workspace${e.workspaces?`s`:``} only works when you specify a "workspaces" property in your package.json.`);let c=(s||[]).map(e=>u.default.join(r,e,`package.json`).replace(/\\/g,`/`)),l=La(e),d=M.default.sync(c,l),f=await Promise.all(d.map(async t=>{let n=await xa(e,t);return n.name=n.pkg.name||t.split(`/`).slice(-2)[0],n})),p=f.map(e=>e.name||``);return e.workspaces===!0?[f,p]:[f.filter(n=>e.workspace?.some(e=>s?.some(i=>n.name===e||n.filepath===u.default.join(r,u.default.dirname(i),e,t).replace(/\\/g,`/`)))),p]}async function Va(e,t){if(!t)return null;let n=await za(e,t);if(!n)return null;let r={name:`catalog-dependencies`,version:`1.0.0`,dependencies:n};return{filepath:e.packageManager===`pnpm`?u.default.join(u.default.dirname(t),`pnpm-workspace.yaml`):`${t}#catalog`,pkg:r,pkgFile:JSON.stringify(r,null,2),name:`catalogs`}}async function Ha(e){let t=e.packageFile||`package.json`,n=e.cwd?(0,E.default)(e.cwd):`./`,r=e.packageFile||(e.cwd?u.default.join(n,`package.json`):`package.json`),i=e.workspaces===!0||e.workspace!==void 0&&e.workspace.length!==0,a=[];if(!i||e.root===!0){let t=r.replace(/\\/g,`/`),n=La(e),i=M.default.sync(t,n),o=await Promise.all(i.map(async t=>await xa(e,t)));a=[...a,...o]}if(!i)return[a,[]];let o=null;if(i){let{pkgPath:t}=await Ia({...e,packageFile:r,loglevel:`silent`});t&&(o=await Va(e,t))}let[s,c]=await Ba(e,t,r,n);if(a=[...a,...s],o&&(a=[...a,o]),e.ignore){let t=Array.isArray(e.ignore)?e.ignore:[e.ignore];a=a.filter(e=>{let r=u.default.relative(n,e.filepath).replace(/\\/g,`/`),i=u.default.dirname(r).replace(/\\/g,`/`);return!t.some(e=>{let t=(0,ne.default)(e);return t(r)||t(i)||t(`${i}/`)})})}return[a,c]}var Ua=Ha;async function Wa({configFileName:e,configFilePath:t,packageFile:n,global:r,options:i}){let{default:a,Chalk:o}=await import(`chalk`),s=i?.color?new o({level:1}):a,c=(0,re.rcFile)(`ncurc`,{configFileName:e||`.ncurc`,defaultExtension:[`.json`,`.yml`,`.js`],cwd:t||(r?m.default.homedir():n?u.default.dirname(n):void 0)}),l=c?.filePath;e&&!l&&Z(i,`Config file ${e} not found in ${t||process.cwd()}`);let{$schema:d,...f}=c?.config||{},p=f;typeof p.format==`string`&&(p.format=G.format.parse(p.format));let h=Object.keys(p).filter(e=>!G[e]);return h.length>0&&(console.error(s.red(`Unknown option${h.length===1?``:`s`} found in config file:`),s.gray(h.join(`, `))),console.info(`Using config file `+l),console.info(`You can change the config file path with ${s.blue(`--configFilePath`)}`)),{filePath:l,args:Object.entries(p).flatMap(([e,t])=>typeof t==`boolean`||G[e]?.type===`boolean`?t?[`--${e}`]:[]:[`--${e}`,t]),config:p}}var Ga=Wa,Ka=s({greatest:()=>Za,greatestLevel:()=>Qa,latest:()=>Xa,minor:()=>$a,newest:()=>no,patch:()=>eo,semver:()=>to});const qa=(0,oe.promisify)(ae.default.execFile);async function Ja(e){let t=(await qa(`git`,[`ls-remote`,`--tags`,e])).stdout,n={};for(let e of t.trim().split(`
346
+ `)){let t=e.split(` `);n[t[1].replace(/^refs\/tags\/|\^{}$/g,``)]=t[0]}return n}async function Ya(e,t,n){t=t.replace(/^github:/,``);let{auth:r,protocol:i,host:a,path:o}=(0,v.default)(t),s;try{if(i!==null)s=await Ja(`${i?i.replace(`git+`,``):`https:`}//${r?r+`@`:``}${a}/${o?.replace(/^:/,``)}`);else try{s=await Ja(`ssh://git@${a}/${o?.replace(/^:/,``)}`)}catch{s=await Ja(`https://${r?r+`@`:``}${a}/${o}`)}}catch{B(n??{},`Invalid, private repo, or no tags for ${e}: ${t}`,`verbose`);return}return Object.keys(s).map(Qt).filter(e=>(0,y.valid)(e)).sort(Wt)}const Xa=async(e,t,n)=>{let r=await Ya(e,t,n);if(!r)return{version:null};let i=n?.pre?r:r.filter(e=>!Kt(e)),a=i[i.length-1];return{version:a?ln(t,a):null}},Za=async(e,t,n)=>{let r=await Ya(e,t,n);if(!r)return{version:null};let i=r[r.length-1];return{version:i?ln(t,i):null}},Qa=e=>async(t,n,r={})=>{let i=decodeURIComponent((0,v.default)(n).branch).replace(/^semver:/,``),a=await Ya(t,n,r);if(!a)return{version:null};let o=Gt(a.map(e=>e.replace(/^v/,``)),i,e);return{version:o?ln(n,o):null}},$a=Qa(`minor`),eo=Qa(`patch`),to=async(e,t,n)=>({version:null}),no=Za;var ro=s({latest:()=>oo});const io=e=>e&&e.startsWith(`http://`)||e.startsWith(`https://`),ao=(0,C.default)(async e=>{let t=e.registry,n;if(io(t))n=await(await fetch(t)).text();else try{n=await g.default.readFile(t,`utf8`)}catch{Z(e,`\nThe specified static registry file does not exist: ${e.registry}`)}return JSON.parse(n)}),oo=async(e,t,n)=>({version:(await ao(n||{}))[e]||null});var Q={npm:sr,pnpm:Rr,yarn:Xi,bun:Nr,gitTags:Ka,staticRegistry:ro};function so(e){if(typeof e==`string`)return e.trim();if(Array.isArray(e)&&(e.length===0||typeof e[0]==`string`)){let t=e.map(e=>typeof e==`string`?e.trim():e).filter(e=>e);return t.length>0?t:void 0}else return e}function co(e){try{return new URL(e),!0}catch{return!1}}async function lo(e,{cli:t}={}){let{default:n,Chalk:r}=await import(`chalk`),i=e.color?new r({level:1}):n;if(!t){let t=In.reduce((e,t)=>({...e,...t.default==null?null:{[t.long]:t.default}}),{}),n={jsonUpgraded:!0,silent:e.silent||e.loglevel===void 0&&!e.verbose,args:[]};e={...t,...n,...e}}let a={...e,...e.packageData&&typeof e.packageData!=`string`?{packageData:JSON.stringify(e.packageData,null,2)}:null,cli:t},o=a.silent||a.format?.includes(`lines`)?`silent`:a.verbose?`verbose`:a.loglevel,s=Object.keys(a).filter(e=>e.startsWith(`json`)).some((0,Tt.default)(a));!s&&o!==`silent`&&a.rcConfigPath&&!a.doctor&&B(a,`Using config file ${a.rcConfigPath}`);let c=In.filter(({long:e,deprecated:t})=>t&&a[e]||e===`packageManager`&&a.packageManager===`staticRegistry`);c.length>0&&(c.forEach(({long:e,description:t})=>{let n=e===`packageManager`?`--packageManager staticRegistry is deprecated. Use --registryType json.`:`--${e}: ${t}`;B(a,i.yellow(n),`warn`)}),B(a,``,`warn`)),In.forEach(({long:e,choices:t})=>{if(!t||t.length===0)return;let n=a[e],r=Array.isArray(n)?n:[n];r.length!==0&&r.every(e=>!t.includes(e))&&Z(a,`Invalid option value: --${e} ${n}. Valid values are: ${t.join(`, `)}.`)}),a.cwd&&!await be(a.cwd)&&Z(a,`No such directory: ${a.cwd}`);let l=so(a.args),u=so(a.filter),d=so(a.filterVersion),f=so(a.reject),p=so(a.rejectVersion),m=a.registryType||(a.registry?.endsWith(`.json`)?`json`:`npm`);if(a.filter&&l&&!(0,ie.dequal)(l.join(` `),Array.isArray(u)?u.join(` `):u)?Z(a,`Cannot specify a filter using both --filter and args. Did you forget to quote an argument?
347
+ See: https://github.com/raineorshine/npm-check-updates/issues/759#issuecomment-723587297`):a.packageFile&&a.deep?Z(a,`Cannot specify both --packageFile and --deep. --deep is an alias for --packageFile '**/package.json'`):a.format?.includes(`lines`)&&a.jsonUpgraded?Z(a,`Cannot specify both --format lines and --jsonUpgraded.`):a.format?.includes(`lines`)&&a.jsonAll?Z(a,`Cannot specify both --format lines and --jsonAll.`):a.format?.includes(`lines`)&&a.format.length>1?Z(a,`Cannot use --format lines with other formatting options.`):a.workspace?.length&&a.workspaces?Z(a,`Cannot specify both --workspace and --workspaces.`):a.deep&&(a.workspace?.length||a.workspaces)?Z(a,`Cannot specify both --deep and --workspace${a.workspaces?`s`:``}.`):a.doctor&&(a.workspace?.length||a.workspaces)?Z(a,`Doctor mode is not currently supported with --workspace${a.workspaces?`s`:``}.`):a.packageManager===`staticRegistry`&&!a.registry?Z(a,`When --package-manager staticRegistry is specified, you must provide the path for the registry file with --registry.`):a.registryType===`json`&&!a.registry?Z(a,`When --registryType json is specified, you must provide the path for the registry file with --registry. Run "ncu --help registryType" for details.`):m!==`json`&&a.registry&&!co(a.registry)&&Z(a,`--registry must be a valid URL. Invalid value: "${a.registry}"`),a.cooldown!=null){let e=typeof a.cooldown==`number`&&!isNaN(a.cooldown)&&a.cooldown>=0,t=typeof a.cooldown==`function`;!e&&!t&&Z(a,`Cooldown must be a non-negative integer representing days since published or a function`)}let h=a.target||`latest`,g=h===`newest`||h===`greatest`,_=await Vn(a),v={...a,...a.deep?{packageFile:`**/package.json`}:null,..._===`deno`?{dep:[`imports`]}:null,...a.format&&a.format.length>0?{format:a.format}:null,filter:l||u,filterVersion:d,json:s,loglevel:o,minimal:a.minimal===void 0?!1:a.minimal,...a.pre!=null||g?{pre:a.pre==null?g:!!a.pre}:null,reject:f,rejectVersion:p,target:h,...a.interactive&&a.upgrade===void 0?{upgrade:!s}:null,packageManager:_,...a.prefix?{prefix:await(Q[_||``]?.defaultPrefix||Q.npm.defaultPrefix)(a)}:null,registryType:m};v.cacher=await On(v);let y=P(v,(e,t)=>t===void 0?null:{[e]:t});return!a.packageManager&&_!==`npm`&&B(y,`Using ${_}`),y}var uo=lo;function fo(e,t){return Array.from(new Set([...e||[],...t||[]]))}function po(e,t){let n=e||{},r=t||{},i={...n,...r};return Object.keys(i).forEach(e=>{Array.isArray(n[e])&&Array.isArray(r[e])&&(i[e]=fo(n[e],r[e]))}),i}var mo=po,ho=l(Xr(),1);function go(e){let t;if(!e)t=ho.default;else if(typeof e==`string`)if(e[0]===`/`&&e.at(-1)===`/`){let n=new RegExp(e.slice(1,-1));t=e=>n.test(e)}else{let n=e.split(/[\s,]+/);t=e=>n.some((0,se.or)(t=>(0,ne.default)(t)(e),t=>!t.includes(`/`)&&e.includes(`/`)&&(0,ne.default)(t)(e.replace(/\//g,`_`))))}else if(Array.isArray(e))t=(t,n)=>e.some(e=>go(e)(t,n));else if(e instanceof RegExp)t=t=>e.test(t);else if(typeof e==`function`)t=(t,n)=>e(t,(0,b.parseRange)(n??t));else throw TypeError(`Invalid filter. Must be a RegExp, array, or comma-or-space-delimited list.`);return t}function _o(e,t,n,r){return(0,se.and)((n,r)=>(0,se.and)(e?go(e):!0,t?(...e)=>!go(t)(...e):!0)(n,r),(e,t)=>(0,se.and)(n?go(n):!0,r?(...e)=>!go(r)(...e):!0)(t))}var vo=_o;function yo(e,t){return!t||t===`deno`?Q.npm:e.registryType===`json`?Q.staticRegistry:(Q[t]||Z(e,`Invalid package manager: ${t}`),Q[t])}var bo=yo;async function xo(e={}){let t=await bo(e,e.packageManager).list?.({cwd:e.cwd,prefix:e.prefix,global:e.global});t||Z(e,`Unable to retrieve package list`);let n=vo(e.filter,e.reject,e.filterVersion,e.rejectVersion),r={};try{r=I(t,(e,t)=>!!t&&!Rt(t)&&n(e,t))}catch(t){Z(e,`Invalid filter: `+t.message||t)}return r}var So=xo;function Co(e,t){let n=[[t]];for(;n.length>0;){let t=[];for(let r of n){let n=Object.keys(e[r[0]]??{});for(let e of n){if(e===r.at(-1))return{isCircular:!0,offendingPackage:r[0]};t.push([e,...r])}}n=t}return{isCircular:!1}}async function wo(e,t){let n=bo(t,t.packageManager);if(!n.getPeerDependencies)return{};let r=Object.keys(e).length,i;!t.json&&t.loglevel!==`silent`&&t.loglevel!==`verbose`&&r>0&&(i=new le.default(`[:bar] :current/:total :percent`,{total:r,width:20}),i.render());let a=Object.entries(e),o=await(0,ce.default)(a,async([e,r])=>{let a,o=t.cacher?.getPeers(e,r);return o?a=o:(a=await n.getPeerDependencies(e,r,{cwd:t.cwd}),t.cacher?.setPeers(e,r,a)),i&&i.tick(),{pkg:e,dependencies:a}},{concurrency:t.concurrency}),s={};for(let{pkg:e,dependencies:t}of o){s[e]=t;let n=Co(s,e);n.isCircular&&delete s[e][n.offendingPackage]}return await t.cacher?.save(),t.cacher?.log(!0),s}var To=wo;function Eo(e,t){let n={};for(let r of t)n[r]=e[r];return n}function $(e,t){let n={};for(let[r,i]of Object.entries(e??{})){let e=r;t(i,e)&&(n[e]=i)}return n}const Do=[`latest`,`newest`,`greatest`,`minor`,`patch`,`semver`];async function Oo(e,t={}){let{default:n,Chalk:r}=await import(`chalk`),i=t.color?new r({level:1}):n,a=Object.keys(e),o=bo(t,t.packageManager),s;!t.json&&t.loglevel!==`silent`&&t.loglevel!==`verbose`&&a.length>0&&(s=new le.default(`[:bar] :current/:total :percent`,{total:a.length,width:20}),s.render());async function c(n){let r=tn(e[n]),[a,c]=r||[n,e[n]],l=t.target||`latest`,u=typeof l==`string`?l:l(a,(0,b.parseRange)(c)),[d,f]=u.startsWith(`@`)?[`distTag`,u.slice(1)]:[u,`latest`],p=t.cacher?.get(a,d);if(p)return s?.tick(),{version:p};let m,h=an(e[n]),g=h?Q.gitTags:o,_=h?`github urls`:t.packageManager||`npm`,v=g[d];if(!v){let e=Do.filter(e=>e in g);Z(t,i.red(`\nUnsupported target "${d}" using ${_}`)+`
348
+ Supported version targets are: `+e.join(`, `)+(h?``:`, and tags (e.g. @next)`),{color:!1})}try{m=await v(a,c,{...t,distTag:f,pre:t.pre==null?u.startsWith(`@`)||Kt(c):t.pre,retry:t.retry??2}).catch(e=>({error:e?.body?.error||e.toString()})),m.version=!h&&r&&m?.version?en(a,m.version):m?.version??null}catch(e){let n=e?(e.message||e).toString():``;if(n.match(/E504|Gateway Timeout/i))return{error:`${n}. All ${t.retry} retry attempts failed.`};if(n.match(/E400|E404|ENOTFOUND|404 Not Found|400 Bad Request/i))return{error:`${n.replace(/ - Not found$/i,``)}. All ${t.retry} retry attempts failed. Either your internet connection is down, the registry is inaccessible, the authentication credentials are invalid, or the package does not exist.`};if(e.code===`ERR_INVALID_URL`)return{error:n||`Invalid URL`};throw!process.env.NCU_TESTS&&/(Response|network) timeout/i.test(n)&&console.error(`
349
349
 
350
350
  `+i.red(`FetchError: Request Timeout. npm-registry-fetch defaults to 30000 (30 seconds). Try setting the --timeout option (in milliseconds) to override this.`)+`
351
- `),e}return s?.tick(),m.version&&t.cacher?.set(a,d,m.version),m}let l=await(0,ce.default)(a,c,{concurrency:t.concurrency});return await t.cacher?.save(),t.cacher?.log(),F(l,(e,t)=>e.version||e.error?{[a[t]]:e}:null)}var rs=ns,is=o(((e,t)=>{function n(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}t.exports=n})),as=o(((e,t)=>{var n=Fe(),r=Ie(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),os=o(((e,t)=>{var n=as(),r=Ie(),i=Object.prototype,a=i.hasOwnProperty,o=i.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return r(e)&&a.call(e,`callee`)&&!o.call(e,`callee`)}})),ss=o(((e,t)=>{var n=Me(),r=os(),i=R(),a=n?n.isConcatSpreadable:void 0;function o(e){return i(e)||r(e)||!!(a&&e&&e[a])}t.exports=o})),cs=o(((e,t)=>{var n=is(),r=ss();function i(e,t,a,o,s){var c=-1,l=e.length;for(a||=r,s||=[];++c<l;){var u=e[c];t>0&&a(u)?t>1?i(u,t-1,a,o,s):n(s,u):o||(s[s.length]=u)}return s}t.exports=i})),ls=o(((e,t)=>{var n=cs();function r(e){return e!=null&&e.length?n(e,1):[]}t.exports=r})),us=o(((e,t)=>{var n=Di(),r=Math.max;function i(e,t,i){return t=r(t===void 0?e.length-1:t,0),function(){for(var a=arguments,o=-1,s=r(a.length-t,0),c=Array(s);++o<s;)c[o]=a[t+o];o=-1;for(var l=Array(t+1);++o<t;)l[o]=a[o];return l[t]=i(c),n(e,this,l)}}t.exports=i})),ds=o(((e,t)=>{var n=ls(),r=us(),i=Yi();function a(e){return i(r(e,void 0,n),e+``)}t.exports=a})),fs=o(((e,t)=>{var n=Li(),r=ds(),i=Pi(),a=Ii(),o=R(),s=Vi(),c=`Expected a function`,l=8,u=32,d=128,f=256;function p(e){return r(function(t){var r=t.length,p=r,m=n.prototype.thru;for(e&&t.reverse();p--;){var h=t[p];if(typeof h!=`function`)throw TypeError(c);if(m&&!g&&a(h)==`wrapper`)var g=new n([],!0)}for(p=g?p:r;++p<r;){h=t[p];var _=a(h),v=_==`wrapper`?i(h):void 0;g=v&&s(v[0])&&v[1]==(d|l|u|f)&&!v[4].length&&v[9]==1?g[a(v[0])].apply(g,v[3]):h.length==1&&s(h)?g[_]():g.thru(h)}return function(){var e=arguments,n=e[0];if(g&&e.length==1&&o(n))return g.plant(n).value();for(var i=0,a=r?t[i].apply(this,e):n;++i<r;)a=t[i].call(this,a);return a}})}t.exports=p})),ps=o(((e,t)=>{t.exports=fs()()}));function ms(e){if(Object.keys(e).length===0)return null;let t=Object.values(e).reduce((e,t)=>{let n=Nt.find(e=>t&&t.includes(e));return n!==void 0&&(e[n]||=[],e[n].push(t)),e},{}),n=Dt(Object.entries(t).map(([e,t])=>({wildcard:e,instances:t})),e=>-e.instances.length);return n.length>0?n[0].wildcard:null}var hs=ms;function gs(e,t,{downgrade:n}={}){if(!b.validRange(e)||Bt(e))return!1;let[r]=x.default.parseRange(e);if(!r)throw Error(`"${e}" could not be parsed by semver-utils. This is probably a bug. Please file an issue at https://github.com/raineorshine/npm-check-updates.`);let i=tn(t),a=V(r),o=!!b.validRange(a),s=!!b.valid(i);return o&&s&&(!Kt(i,a)||!b.satisfies(i,r.operator===`<`?e:a)&&(n||!b.ltr(i,a)))}var _s=gs,vs=l(ps(),1);function ys(e,t,n={}){let r=n.target||`latest`;e=L(e,(e,t)=>!!t);let i=hs(e)||`^`,a=(e,t)=>un(e,t,{wildcard:i,removeRange:n.removeRange});return(0,vs.default)([e=>$(e,(e,n)=>n in t),e=>Object.entries(e).reduce((e,[n,r])=>{let i=t[n],a=null,o=null;if(on(r)&&(a=an(r)[1]),on(i)&&(o=an(i)[1]),cn(r)){let[e]=(0,x.parseRange)(ln(r));a=V(e)}if(cn(i)){let[e]=(0,x.parseRange)(ln(i));o=V(e)}return e[n]={current:r,currentParsed:a,latest:i,latestParsed:o},e},{}),e=>$(e,({current:e,currentParsed:t,latest:n,latestParsed:i},a)=>{let o=Yt(e)&&(typeof r==`string`?r:r(a,(0,x.parseRange)(e))).startsWith(`@`);return _s(t||e,i||n,{downgrade:o})}),e=>Object.entries(e).reduce((e,[t,{current:n,currentParsed:r,latest:i,latestParsed:o}])=>{let s=a(r||n,o||i);return e[t]=on(n)?sn(n,s):cn(n)?fn(n,s):s,e},{})])(e)}var bs=ys;const xs=(e,t,n)=>{let r={...e,...t},i=$(t,(e,t)=>{let i=n[t];return i?Object.entries(i).every(([e,t])=>r[e]===void 0||!(0,b.validRange)(t)||(0,b.intersects)(r[e],t)):!0}),a=Object.keys(t).length>Object.keys(i).length,o=n;return a&&(o=$(n,(e,n)=>i[n]||!t[n])),{violated:a,filteredUpgradedDependencies:i,upgradedPeerDependencies:o}};async function Ss(e,t){let n=await rs(e,t),r=F(n,(n,r)=>r?.version&&(!t.filterResults||t.filterResults(n,{currentVersion:e[n],currentVersionSemver:(0,x.parseRange)(e[n]),upgradedVersion:r.version,upgradedVersionSemver:(0,x.parse)(r.version)}))?{[n]:r.version}:null),i=$(bs(e,r,t),(n,i)=>!t.jsonUpgraded||!t.minimal||!(0,b.satisfies)(r[i],e[i])),a=$(r,(e,t)=>i[t]),o=[i,n,t.peerDependencies];if(!t.peer||Object.keys(a).length===0)return o;if(t.peer&&Object.keys(a).length>0){let r=await $o(a,t),s;if((0,ie.dequal)(t.peerDependencies,{...t.peerDependencies,...r})){if(s=xs(e,i,t.peerDependencies),!s.violated)return o}else s={violated:!1,filteredUpgradedDependencies:i,upgradedPeerDependencies:r};let c=0;do{if(c++>6)throw Error(`Stuck in a while loop. Please report an issue`);let r={...t.peerDependencies,...s.upgradedPeerDependencies};if((0,ie.dequal)(t.peerDependencies,r))return[{},n,t.peerDependencies];let[i,a,l]=await Ss({...e,...s.filteredUpgradedDependencies},{...t,peerDependencies:r,loglevel:`silent`});o=[{...s.filteredUpgradedDependencies,...i},{...n,...a},l],s=xs(e,o[0],o[2])}while(s.violated)}return o}var Cs=Ss;async function ws(e){H(e,`
352
- Options:`,`verbose`),U(e,e,`verbose`),H(e,`
353
- Getting installed packages`,`verbose`);let t={};try{let{cli:n,cwd:r,filter:i,filterVersion:a,global:o,packageManager:s,prefix:c,reject:l,rejectVersion:u}=e;t=await Xo({cli:n,cwd:r,filter:i,filterVersion:a,global:o,packageManager:s,prefix:c,reject:l,rejectVersion:u})}catch(t){Z(e,t.message)}H(e,`globalPackages:`,`verbose`),H(e,t,`verbose`),H(e,``,`verbose`),H(e,`Fetching ${e.target} versions`,`verbose`);let[n,r]=await Cs(t,e);H(e,r,`verbose`);let i=P(r,(e,t)=>t.time?{[e]:t.time}:null),a=Object.keys(n);await Sn(e,{current:t,upgraded:n,latest:r,total:a.length,time:i});let o=n?a.map(e=>e+`@`+n[e]).join(` `):`[package]`;if(e.json)hn(e,n);else if(o.length){let t=e.packageManager===`yarn`?`yarn global upgrade`:e.packageManager===`pnpm`?`pnpm -g add`:e.packageManager===`bun`?`bun add -g`:`npm -g install`;H(e,`
354
- `+I.cyan(`ncu`)+` itself cannot upgrade global packages. Run the following to upgrade all global packages:
355
-
356
- `+I.cyan(`${t} `+o)+`
357
- `)}return e.cli&&e.errorLevel===2&&a.length>0&&process.exit(1),n}var Ts=ws;const Es=(e,t)=>b.validRange(e)&&b.validRange(t)&&b.gt(b.minVersion(e),b.minVersion(t)),Ds=e=>{if(!e.packageManager)return{};let[t,n]=e.packageManager.split(`@`);return{[t]:n}};function Os(e={},t={}){let n=Ya(t.dep).reduce((t,n)=>({...t,...n===`packageManager`?Ds(e):L(e[n]||{},(e,n)=>!Es(n,t[e]))}),{}),r=P(t.workspacePackages||[]),i={};try{i=L(L(n,e=>!r[e]),Ko(t.filter||null,t.reject||null,t.filterVersion||null,t.rejectVersion||null))}catch(e){Z(t,`Invalid filter: `+e.message||e)}return i}var ks=Os;async function As(e,t){let n=Jo(t,t.packageManager);if(!n.getEngines)return{};let r=Object.keys(e).length,i;return!t.json&&t.loglevel!==`silent`&&t.loglevel!==`verbose`&&r>0&&(i=new le.default(`[:bar] :current/:total :percent`,{total:r,width:20}),i.render()),Object.entries(e).reduce(async(e,[r,a])=>{let o=(await n.getEngines(r,a,t)).node;return i&&i.tick(),{...await e,[r]:o}},Promise.resolve({}))}var js=As;const Ms=(e,t)=>!e||(0,b.satisfies)(t,e);async function Ns(e,t,n={}){if(!n.nodeEngineVersion)return{};let r=(0,b.minVersion)(n.nodeEngineVersion)?.version;if(!r)return{};let[i,a]=await Cs(e,{...n,enginesNode:!1,nodeEngineVersion:void 0,loglevel:`silent`}),o=await js(F(a,(e,t)=>i[e]&&t?.version?{[e]:t.version}:null),n);return Object.entries(i).filter(([e,n])=>t[e]!==n&&!Ms(o[e],r)).reduce((t,[n,r])=>({...t,[n]:{from:e[n],to:r,enginesNode:o[n]}}),{})}async function Ps(e,t,n,r={}){let i={...e,...t},[a,o]=await Cs(e,{...r,peer:!1,peerDependencies:void 0,loglevel:`silent`}),s=await $o(Object.fromEntries(Object.entries(a).map(([e,t])=>[e,(0,b.validRange)(t)?(0,b.minVersion)(t)?.version??t:t])),r);return Object.entries(a).filter(([e,n])=>t[e]!==n).reduce((t,[r,a])=>{let c=Object.entries(n).filter(([,e])=>e[r]!==void 0&&o[r]?.version&&!(0,b.satisfies)(o[r].version,e[r])).reduce((e,[t,n])=>({...e,[t]:(0,b.validRange)(n[r])?n[r]:`a range that semver does not understand: ${n[r]}. This range does not work with semver.satisfies or semver.intersects, which npm-check-updates relies on to determine peer dependency compatibility. Either this is a mistake in ${t}, or it relies on a new syntax that is not compatible with the semver package.`}),{});if(Object.keys(c).length===0){let e=s?.[r]||{};c=Object.entries(e).filter(([e,t])=>i[e]&&!(!(0,b.validRange)(t)||(0,b.intersects)(i[e],t))).reduce((e,[t,n])=>({...e,[r]:`${t} ${n}`}),{})}return{...t,[r]:{from:e[r],to:a,reason:c}}},{})}var Fs=Ps;const Is=process.stdout.columns||80;function Ls(e){return`${e.length?e.slice(0,Math.min(e.length,Is)):`<empty>`}\n`}function Rs(e){return e>Is?``:`${` `.repeat(e-1)}^\n`}function zs(e,t,n){let r=e.length;if(r===0)return`<empty>`;if(r===1)return`${Ls(e[0])}${Rs(n)}`;let i=Math.min(t+2,r),a=``;for(let r=Math.max(t-2,1);r<=i;r++)a+=Ls(e[r-1]),r===t&&(a+=Rs(n));return`${a}\n`}function Bs(e){e=(0,ue.stripComments)(e);try{return JSON.parse(e)}catch{let t=[],n=(0,ue.parse)(e,t);if(t.length===0)return n;let r=``,i=e.split(`
358
- `);for(let e of t){let t=e.offset,n=1,a=1,o=0;for(let e of i){if(o+e.length>=t){a=t-o+1;break}o+=e.length+1,n++}r+=`Error at line ${n}, column ${a}: ${ue.ParseErrorCode[e.error]}\n${zs(i,n,a)}\n`}throw SyntaxError(r)}}const Vs=`
351
+ `),e}return s?.tick(),m.version&&t.cacher?.set(a,d,m.version),m}let l=await(0,ce.default)(a,c,{concurrency:t.concurrency});return await t.cacher?.save(),t.cacher?.log(),P(l,(e,t)=>e.version||e.error?{[a[t]]:e}:null)}var ko=Oo,Ao=o(((e,t)=>{function n(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}t.exports=n})),jo=o(((e,t)=>{var n=Me(),r=Ne(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),Mo=o(((e,t)=>{var n=jo(),r=Ne(),i=Object.prototype,a=i.hasOwnProperty,o=i.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return r(e)&&a.call(e,`callee`)&&!o.call(e,`callee`)}})),No=o(((e,t)=>{var n=ke(),r=Mo(),i=L(),a=n?n.isConcatSpreadable:void 0;function o(e){return i(e)||r(e)||!!(a&&e&&e[a])}t.exports=o})),Po=o(((e,t)=>{var n=Ao(),r=No();function i(e,t,a,o,s){var c=-1,l=e.length;for(a||=r,s||=[];++c<l;){var u=e[c];t>0&&a(u)?t>1?i(u,t-1,a,o,s):n(s,u):o||(s[s.length]=u)}return s}t.exports=i})),Fo=o(((e,t)=>{var n=Po();function r(e){return e!=null&&e.length?n(e,1):[]}t.exports=r})),Io=o(((e,t)=>{var n=ri(),r=Math.max;function i(e,t,i){return t=r(t===void 0?e.length-1:t,0),function(){for(var a=arguments,o=-1,s=r(a.length-t,0),c=Array(s);++o<s;)c[o]=a[t+o];o=-1;for(var l=Array(t+1);++o<t;)l[o]=a[o];return l[t]=i(c),n(e,this,l)}}t.exports=i})),Lo=o(((e,t)=>{var n=Fo(),r=Io(),i=Ti();function a(e){return i(r(e,void 0,n),e+``)}t.exports=a})),Ro=o(((e,t)=>{var n=pi(),r=Lo(),i=ui(),a=fi(),o=L(),s=_i(),c=`Expected a function`,l=8,u=32,d=128,f=256;function p(e){return r(function(t){var r=t.length,p=r,m=n.prototype.thru;for(e&&t.reverse();p--;){var h=t[p];if(typeof h!=`function`)throw TypeError(c);if(m&&!g&&a(h)==`wrapper`)var g=new n([],!0)}for(p=g?p:r;++p<r;){h=t[p];var _=a(h),v=_==`wrapper`?i(h):void 0;g=v&&s(v[0])&&v[1]==(d|l|u|f)&&!v[4].length&&v[9]==1?g[a(v[0])].apply(g,v[3]):h.length==1&&s(h)?g[_]():g.thru(h)}return function(){var e=arguments,n=e[0];if(g&&e.length==1&&o(n))return g.plant(n).value();for(var i=0,a=r?t[i].apply(this,e):n;++i<r;)a=t[i].call(this,a);return a}})}t.exports=p})),zo=o(((e,t)=>{t.exports=Ro()()}));function Bo(e){if(Object.keys(e).length===0)return null;let t=Object.values(e).reduce((e,t)=>{let n=At.find(e=>t&&t.includes(e));return n!==void 0&&(e[n]||=[],e[n].push(t)),e},{}),n=wt(Object.entries(t).map(([e,t])=>({wildcard:e,instances:t})),e=>-e.instances.length);return n.length>0?n[0].wildcard:null}var Vo=Bo;function Ho(e,t,{downgrade:n}={}){if(!y.validRange(e)||Lt(e))return!1;let[r]=b.default.parseRange(e);if(!r)throw Error(`"${e}" could not be parsed by semver-utils. This is probably a bug. Please file an issue at https://github.com/raineorshine/npm-check-updates.`);let i=Qt(t),a=z(r),o=!!y.validRange(a),s=!!y.valid(i);return o&&s&&(!Ut(i,a)||!y.satisfies(i,r.operator===`<`?e:a)&&(n||!y.ltr(i,a)))}var Uo=Ho,Wo=l(zo(),1);function Go(e,t,n={}){let r=n.target||`latest`;e=I(e,(e,t)=>!!t);let i=Vo(e)||`^`,a=(e,t)=>sn(e,t,{wildcard:i,removeRange:n.removeRange});return(0,Wo.default)([e=>$(e,(e,n)=>n in t),e=>Object.entries(e).reduce((e,[n,r])=>{let i=t[n],a=null,o=null;if(nn(r)&&(a=tn(r)[1]),nn(i)&&(o=tn(i)[1]),an(r)){let[e]=(0,b.parseRange)(on(r));a=z(e)}if(an(i)){let[e]=(0,b.parseRange)(on(i));o=z(e)}return e[n]={current:r,currentParsed:a,latest:i,latestParsed:o},e},{}),e=>$(e,({current:e,currentParsed:t,latest:n,latestParsed:i},a)=>{let o=Kt(e)&&(typeof r==`string`?r:r(a,(0,b.parseRange)(e))).startsWith(`@`),s=t||e,c=i||n,l=e=>{try{if(y.default.valid(e))return e;let t=y.default.minVersion(e);return t?t.version:null}catch{return null}},u=l(s),d=l(c),f=u&&d&&y.default.gt(u,d);return Uo(s,c,{downgrade:o})||f}),e=>Object.entries(e).reduce((e,[t,{current:n,currentParsed:r,latest:i,latestParsed:o}])=>{let s=a(r||n,o||i);return e[t]=nn(n)?rn(n,s):an(n)?ln(n,s):s,e},{})])(e)}var Ko=Go;const qo=(e,t,n)=>{let r={...e,...t},i=$(t,(e,t)=>{let i=n[t];return i?Object.entries(i).every(([e,t])=>r[e]===void 0||!(0,y.validRange)(t)||(0,y.intersects)(r[e],t)):!0}),a=Object.keys(t).length>Object.keys(i).length,o=n;return a&&(o=$(n,(e,n)=>i[n]||!t[n])),{violated:a,filteredUpgradedDependencies:i,upgradedPeerDependencies:o}};async function Jo(e,t){let n=await ko(e,t),r=P(n,(n,r)=>r?.version&&(!t.filterResults||t.filterResults(n,{currentVersion:e[n],currentVersionSemver:(0,b.parseRange)(e[n]),upgradedVersion:r.version,upgradedVersionSemver:(0,b.parse)(r.version)}))?{[n]:r.version}:null),i=$(Ko(e,r,t),(n,i)=>!t.jsonUpgraded||!t.minimal||!(0,y.satisfies)(r[i],e[i])),a=$(r,(e,t)=>i[t]),o=[i,n,t.peerDependencies];if(!t.peer||Object.keys(a).length===0)return o;if(t.peer&&Object.keys(a).length>0){let r=await To(a,t),s;if((0,ie.dequal)(t.peerDependencies,{...t.peerDependencies,...r})){if(s=qo(e,i,t.peerDependencies),!s.violated)return o}else s={violated:!1,filteredUpgradedDependencies:i,upgradedPeerDependencies:r};let c=0;do{if(c++>6)throw Error(`Stuck in a while loop. Please report an issue`);let r={...t.peerDependencies,...s.upgradedPeerDependencies};if((0,ie.dequal)(t.peerDependencies,r))return[{},n,t.peerDependencies];let[i,a,l]=await Jo({...e,...s.filteredUpgradedDependencies},{...t,peerDependencies:r,loglevel:`silent`});o=[{...s.filteredUpgradedDependencies,...i},{...n,...a},l],s=qo(e,o[0],o[2])}while(s.violated)}return o}var Yo=Jo;async function Xo(e){B(e,`
352
+ Options:`,`verbose`),V(e,e,`verbose`),B(e,`
353
+ Getting installed packages`,`verbose`);let t={};try{let{cli:n,cwd:r,filter:i,filterVersion:a,global:o,packageManager:s,prefix:c,reject:l,rejectVersion:u}=e;t=await So({cli:n,cwd:r,filter:i,filterVersion:a,global:o,packageManager:s,prefix:c,reject:l,rejectVersion:u})}catch(t){Z(e,t.message)}B(e,`globalPackages:`,`verbose`),B(e,t,`verbose`),B(e,``,`verbose`),B(e,`Fetching ${e.target} versions`,`verbose`);let[n,r]=await Yo(t,e);B(e,r,`verbose`);let i=N(r,(e,t)=>t.time?{[e]:t.time}:null),a=Object.keys(n);await yn(e,{current:t,upgraded:n,latest:r,total:a.length,time:i});let o=n?a.map(e=>e+`@`+n[e]).join(` `):`[package]`;if(e.json)fn(e,n);else if(o.length){let t=e.packageManager===`yarn`?`yarn global upgrade`:e.packageManager===`pnpm`?`pnpm -g add`:e.packageManager===`bun`?`bun add -g`:`npm -g install`;B(e,`
354
+ `+F.cyan(`ncu`)+` itself cannot upgrade global packages. Run the following to upgrade all global packages:
355
+
356
+ `+F.cyan(`${t} `+o)+`
357
+ `)}return e.cli&&e.errorLevel===2&&a.length>0&&process.exit(1),n}var Zo=Xo;const Qo=(e,t)=>y.validRange(e)&&y.validRange(t)&&y.gt(y.minVersion(e),y.minVersion(t)),$o=e=>{if(!e.packageManager)return{};let[t,n]=e.packageManager.split(`@`);return{[t]:n}};function es(e={},t={}){let n=Ca(t.dep).reduce((t,n)=>({...t,...n===`packageManager`?$o(e):I(e[n]||{},(e,n)=>!Qo(n,t[e]))}),{}),r=N(t.workspacePackages||[]),i={};try{i=I(I(n,e=>!r[e]),vo(t.filter||null,t.reject||null,t.filterVersion||null,t.rejectVersion||null))}catch(e){Z(t,`Invalid filter: `+e.message||e)}return i}var ts=es;async function ns(e,t){let n=bo(t,t.packageManager);if(!n.getEngines)return{};let r=Object.keys(e).length,i;return!t.json&&t.loglevel!==`silent`&&t.loglevel!==`verbose`&&r>0&&(i=new le.default(`[:bar] :current/:total :percent`,{total:r,width:20}),i.render()),Object.entries(e).reduce(async(e,[r,a])=>{let o=(await n.getEngines(r,a,t)).node;return i&&i.tick(),{...await e,[r]:o}},Promise.resolve({}))}var rs=ns;const is=(e,t)=>!e||(0,y.satisfies)(t,e);async function as(e,t,n={}){if(!n.nodeEngineVersion)return{};let r=(0,y.minVersion)(n.nodeEngineVersion)?.version;if(!r)return{};let[i,a]=await Yo(e,{...n,enginesNode:!1,nodeEngineVersion:void 0,loglevel:`silent`}),o=await rs(P(a,(e,t)=>i[e]&&t?.version?{[e]:t.version}:null),n);return Object.entries(i).filter(([e,n])=>t[e]!==n&&!is(o[e],r)).reduce((t,[n,r])=>({...t,[n]:{from:e[n],to:r,enginesNode:o[n]}}),{})}async function os(e,t,n,r={}){let i={...e,...t},[a,o]=await Yo(e,{...r,peer:!1,peerDependencies:void 0,loglevel:`silent`}),s=await To(Object.fromEntries(Object.entries(a).map(([e,t])=>[e,(0,y.validRange)(t)?(0,y.minVersion)(t)?.version??t:t])),r);return Object.entries(a).filter(([e,n])=>t[e]!==n).reduce((t,[r,a])=>{let c=Object.entries(n).filter(([,e])=>e[r]!==void 0&&o[r]?.version&&!(0,y.satisfies)(o[r].version,e[r])).reduce((e,[t,n])=>({...e,[t]:(0,y.validRange)(n[r])?n[r]:`a range that semver does not understand: ${n[r]}. This range does not work with semver.satisfies or semver.intersects, which npm-check-updates relies on to determine peer dependency compatibility. Either this is a mistake in ${t}, or it relies on a new syntax that is not compatible with the semver package.`}),{});if(Object.keys(c).length===0){let e=s?.[r]||{};c=Object.entries(e).filter(([e,t])=>i[e]&&!(!(0,y.validRange)(t)||(0,y.intersects)(i[e],t))).reduce((e,[t,n])=>({...e,[r]:`${t} ${n}`}),{})}return{...t,[r]:{from:e[r],to:a,reason:c}}},{})}var ss=os;const cs=process.stdout.columns||80;function ls(e){return`${e.length?e.slice(0,Math.min(e.length,cs)):`<empty>`}\n`}function us(e){return e>cs?``:`${` `.repeat(e-1)}^\n`}function ds(e,t,n){let r=e.length;if(r===0)return`<empty>`;if(r===1)return`${ls(e[0])}${us(n)}`;let i=Math.min(t+2,r),a=``;for(let r=Math.max(t-2,1);r<=i;r++)a+=ls(e[r-1]),r===t&&(a+=us(n));return`${a}\n`}function fs(e){e=(0,ue.stripComments)(e);try{return JSON.parse(e)}catch{let t=[],n=(0,ue.parse)(e,t);if(t.length===0)return n;let r=``,i=e.split(`
358
+ `);for(let e of t){let t=e.offset,n=1,a=1,o=0;for(let e of i){if(o+e.length>=t){a=t-o+1;break}o+=e.length+1,n++}r+=`Error at line ${n}, column ${a}: ${ue.ParseErrorCode[e.error]}\n${ds(i,n,a)}\n`}throw SyntaxError(r)}}const ps=`
359
359
  ↑/↓: Select a package
360
360
  Space: Toggle selection
361
361
  a: Toggle all
362
- Enter: Upgrade`;function Hs(e,t){let n=e?Vs.split(`
363
- `).length:0;return process.stdout.rows?Math.max(3,process.stdout.rows-n-1-(t?.length??0)*2):50}async function Us(e,t,n){let r=Jo(n,n.packageManager);return await Object.keys(t).reduce(async(i,a)=>{let o=e[a]||null,s=t[a]||null,c=await r.packageAuthorChanged(a,o,s,n);return{...await i,[a]:c}},{})}const Ws=async(e,t,n,r)=>{let i=[],a=process.stdout.rows>18,o=F((await yn({from:e,to:t,format:r.format,pkgFile:n||void 0})).toString().split(`
364
- `),e=>({[e.trim().split(` `)[0]]:e.trim()}));if(Object.keys(t).length>0)if(H(r,``),r.format?.includes(`group`)){let n=Ut(t,e,r);i=(await(0,d.default)({choices:[...n.flatMap(({heading:e,groupName:t,packages:n})=>[{title:`
365
- `+e,heading:!0},...Object.keys(n).sort().map(e=>({title:o[e],value:e,selected:[`patch`,`minor`].includes(t)}))]),{title:` `,heading:!0}],hint:a&&Vs,instructions:!1,message:`Choose which packages to update`,name:`value`,optionsPerPage:Hs(a,n),type:`multiselect`,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})).value}else i=(await(0,d.default)({choices:[...Object.keys(t).sort().map(e=>({title:o[e],value:e,selected:!0})),{title:` `,heading:!0}],hint:a&&Vs+`
366
- `,instructions:!1,message:`Choose which packages to update`,name:`value`,optionsPerPage:Hs(a),type:`multiselect`,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})).value;return F(i,e=>({[e]:t[e]}))};async function Gs(e,t,n){H(e,`
367
- Options:`,`verbose`),U(e,e,`verbose`);let r;try{t?r=Bs(t):Z(e,`Missing package data`)}catch(t){Z(e,`Invalid package file${n?`: ${n}`:` from stdin`}. Error details:\n${t.message}`)}let i=ks(r,e);H(e,`
368
- Current versions:`,`verbose`),H(e,i,`verbose`),e.enginesNode&&(e.nodeEngineVersion=r?.engines?.node),e.peer&&(e.peerDependencies=await $o(Object.fromEntries(Object.entries(i).map(([e,t])=>[e,b.default.validRange(t)?b.default.minVersion(t)?.version??t:t])),e));let[a,o,s]=await Cs(i,e),c=F(o,(e,t)=>t.version?{[e]:t.version}:null),l=F(o,(e,t)=>t.error?{[e]:t.error}:null),u=F(o,(e,t)=>t.time?{[e]:t.time}:null);e.peer&&(H(e,`
369
- upgradedPeerDependencies:`,`verbose`),H(e,s,`verbose`)),H(e,`\n${typeof e.target==`string`?`${e.target[0].toUpperCase()}${e.target.slice(1)}`:`Fetched`} versions:`,`verbose`),H(e,c,`verbose`),H(e,`
370
- Upgraded versions:`,`verbose`),H(e,a,`verbose`);let d=e.minimal?F(a,(e,t)=>b.default.satisfies(c[e],i[e])?null:{[e]:t}):a,f=(e.format||[]).includes(`ownerChanged`)?await Us(i,d,e):void 0,p=e.interactive?await Ws(i,d,n,e):d;if(!e.json||e.deep){if(await Sn(e.interactive?{...e,format:(e.format||[]).filter(e=>e!==`group`)}:e,{current:i,upgraded:p,total:Object.keys(a).length,latest:o,ownersChangedDeps:f,pkgFile:n||void 0,errors:l,time:u}),e.peer){let t=await Fs(i,a,s,e);Object.keys(t).length>0&&Cn(e,t)}if(e.enginesNode){let t=await Ns(i,a,e);Object.keys(t).length>0&&wn(e,t)}}let m=await ro(t,i,p,e,n||void 0),h=e.jsonAll?Bs(m):e.jsonDeps?es(Bs(m),Ya(e.dep)):p,_;if(e.json&&!e.deep&&hn(e,h),Object.keys(d).length>0&&n)if(e.upgrade)_=g.default.writeFile(n.replace(`#catalog`,``),m);else{let t=process.env.npm_lifecycle_event===`npx`?`npx npm-check-updates`:`ncu`,n=process.argv.slice(2).map(e=>e.includes(` `)?`"${e}"`:e).join(` `),r=n&&` `+n;H(e,`\nRun ${I.cyan(`${t}${r} -u`)} to upgrade ${e.packageFile||`package.json`}`)}return await _,h}function Ks(e){return e}var qs=Ks;process.env.INJECT_PROMPTS&&d.default.inject(JSON.parse(process.env.INJECT_PROMPTS));let Js=!1;process.on(`unhandledRejection`,e=>{console.error(e),Js=!0});const Ys=e=>{e.global&&(process.env.VOLTA_HOME||process.env.PATH?.includes(`\\Volta`))&&(H(e,`It appears you are using Volta. \`npm-check-updates --global\` cannot be used with Volta because Volta has its own system for managing global packages which circumvents npm.
371
-
372
- If you are still receiving this message after uninstalling Volta, ensure your PATH does not contain an entry for Volta and your shell profile does not define VOLTA_HOME. You may need to reboot for changes to your shell profile to take effect.`,`error`),process.exit(1))},Xs=async(e,t)=>{let n={...e,cwd:e.cwd||u.default.resolve(t,`..`),packageFile:t};return e.packageManager===`staticRegistry`?await lr({...n,packageManager:void 0}):e.packageManager&&e.packageManager!==`npm`?e.packageManager:await lr(n)},Zs=(e,t)=>{let n=e.length===1?{[e[0]]:t}:t;return Object.values(n).some(e=>Object.keys(e).length>0)},Qs=async(e,t,n)=>{if(n.install===`never`){H(n,``);return}if(!Zs(e,t))return;let r=await Xs(n,e[0]),i=`Run ${I.cyan(r+` install`)}${e.length>1&&!n.workspace&&!n.workspaces?` in each project directory`:``} to install new versions`,a=n.interactive&&(process.env.NCU_TESTS||!process.env.NCU_DOCTOR),o;if(a&&n.install===`prompt`&&(H(n,``),o=await(0,d.default)({type:`confirm`,name:`value`,message:`${i}?`,initial:!0,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})),n.install===`always`||a&&o.value){n.install===`always`&&H(n,``),H(n,`Installing dependencies...`);let t=n.workspaces||n.workspace?.length?[`package.json`]:e;for await(let e of t){let t=await Xs(n,e),r=t+(process.platform===`win32`&&t!==`bun`?`.cmd`:``),i=n.cwd||u.default.resolve(e,`..`),a=``;try{await(0,f.default)(r,[`install`],{stdout:e=>{a+=e},stderr:e=>{console.error(I.red(e.toString()))}},{cwd:i,env:{...process.env,...n.color===!1?null:{FORCE_COLOR:!0},...t===`pnpm`?{npm_config_strict_peer_dependencies:!1}:null}}),H(n,a),H(n,`Done`)}catch(e){throw Error(e?.message||e||a)}}}else a||H(n,`\n${i}.`)};async function $s(e,t){let[n,r]=await _o(e),i=n.map(e=>e.filepath),a=e.workspaces||!!e.workspace?.length;e.deep=e.deep||a||n.length>1;let o;if(e.global){let n=await Ts(e);return clearTimeout(t),n}else if(e.deep)o=await n.reduce(async(t,n)=>{let i=await t,a=(await yo({packageFile:n.filepath,options:e})).config;e.mergeConfig&&Object.keys(a).length&&(a=Ho(e,a));let o={...e,...a,packageFile:n.filepath,workspacePackages:r},s,c,l;if(n.filepath.includes(`#`)||n.name===`catalogs`){s=n.pkgFile,c=n.filepath,l=n.filepath.includes(`#catalog`)?n.filepath.replace(`#catalog`,``):n.filepath;let e=u.default.resolve(l);H(o,`${o.upgrade?`Upgrading`:`Checking`} ${e} catalog dependencies`)}else{let e=await lo(o);s=e.pkgData,c=e.pkgFile||n.filepath,l=c}return{...i,[o.cwd?u.default.relative(u.default.resolve(o.cwd),l).replace(/\\/g,`/`):l]:await Gs(o,s,c)}},Promise.resolve({})),e.json&&hn(e,o);else{n.length===1&&n[0].filepath!==(e.packageFile||`package.json`)&&(e.packageFile=n[0].filepath);let{pkgData:t,pkgFile:r}=await lo(e);o=await Gs(e,t,r)}return clearTimeout(t),e.errorLevel===2&&Zs(i,o)&&Z(e,`
373
- Dependencies not up-to-date`),e.upgrade&&(e.packageManager===`deno`?H(e,``):await Qs(i,o,e)),o}async function ec(e={},{cli:t}={}){let n=await zo(e,{cli:t}),r=pe.url;process.on(`exit`,()=>{Js&&Z(n,`Unhandled Rejection! This is a bug and should be reported: ${r}`)}),await ve(n.color),Ys(n),H(n,`Initializing`,`verbose`),n.cacheClear&&await jn(n);let i,a=new Promise(()=>null);if(n.timeout){let e=typeof n.timeout==`string`?Number.parseInt(n.timeout,10):n.timeout;a=new Promise((t,r)=>{i=setTimeout(()=>{let t=`Exceeded global timeout of ${e}ms`;r(t);try{Z(n,t)}catch{}},e)})}if(n.doctor){if(n.upgrade)return Promise.race([a,so(ec,n)]);H(n,`Usage: ncu --doctor\n\n${typeof q.doctor.help==`function`?q.doctor.help({}):q.doctor.help}`,`warn`)}else return Promise.race([a,$s(n,i)])}var tc=ec;Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return yo}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return tc}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return rr}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return qs}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Bn}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return ec}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return me}});
362
+ Enter: Upgrade`;function ms(e,t){let n=e?ps.split(`
363
+ `).length:0;return process.stdout.rows?Math.max(3,process.stdout.rows-n-1-(t?.length??0)*2):50}async function hs(e,t,n){let r=bo(n,n.packageManager);return await Object.keys(t).reduce(async(i,a)=>{let o=e[a]||null,s=t[a]||null,c=await r.packageAuthorChanged(a,o,s,n);return{...await i,[a]:c}},{})}const gs=async(e,t,n,r)=>{let i=[],a=process.stdout.rows>18,o=P((await gn({from:e,to:t,format:r.format,pkgFile:n||void 0})).toString().split(`
364
+ `),e=>({[e.trim().split(` `)[0]]:e.trim()}));if(Object.keys(t).length>0)if(B(r,``),r.format?.includes(`group`)){let n=Bt(t,e,r);i=(await(0,d.default)({choices:[...n.flatMap(({heading:e,groupName:t,packages:n})=>[{title:`
365
+ `+e,heading:!0},...Object.keys(n).sort().map(e=>({title:o[e],value:e,selected:[`patch`,`minor`].includes(t)}))]),{title:` `,heading:!0}],hint:a&&ps,instructions:!1,message:`Choose which packages to update`,name:`value`,optionsPerPage:ms(a,n),type:`multiselect`,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})).value}else i=(await(0,d.default)({choices:[...Object.keys(t).sort().map(e=>({title:o[e],value:e,selected:!0})),{title:` `,heading:!0}],hint:a&&ps+`
366
+ `,instructions:!1,message:`Choose which packages to update`,name:`value`,optionsPerPage:ms(a),type:`multiselect`,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})).value;return P(i,e=>({[e]:t[e]}))};async function _s(e,t,n){B(e,`
367
+ Options:`,`verbose`),V(e,e,`verbose`);let r;try{t?r=fs(t):Z(e,`Missing package data`)}catch(t){Z(e,`Invalid package file${n?`: ${n}`:` from stdin`}. Error details:\n${t.message}`)}let i=ts(r,e);B(e,`
368
+ Current versions:`,`verbose`),B(e,i,`verbose`),e.enginesNode&&(e.nodeEngineVersion=r?.engines?.node),e.peer&&(e.peerDependencies=await To(Object.fromEntries(Object.entries(i).map(([e,t])=>[e,y.default.validRange(t)?y.default.minVersion(t)?.version??t:t])),e));let[a,o,s]=await Yo(i,e),c=P(o,(e,t)=>t.version?{[e]:t.version}:null),l=P(o,(e,t)=>t.error?{[e]:t.error}:null),u=P(o,(e,t)=>t.time?{[e]:t.time}:null);e.peer&&(B(e,`
369
+ upgradedPeerDependencies:`,`verbose`),B(e,s,`verbose`)),B(e,`\n${typeof e.target==`string`?`${e.target[0].toUpperCase()}${e.target.slice(1)}`:`Fetched`} versions:`,`verbose`),B(e,c,`verbose`),B(e,`
370
+ Upgraded versions:`,`verbose`),B(e,a,`verbose`);let d=e.minimal?P(a,(e,t)=>y.default.satisfies(c[e],i[e])?null:{[e]:t}):a,f=(e.format||[]).includes(`ownerChanged`)?await hs(i,d,e):void 0,p=e.interactive?await gs(i,d,n,e):d;if(!e.json||e.deep){if(await yn(e.interactive?{...e,format:(e.format||[]).filter(e=>e!==`group`)}:e,{current:i,upgraded:p,total:Object.keys(a).length,latest:o,ownersChangedDeps:f,pkgFile:n||void 0,errors:l,time:u}),e.peer){let t=await ss(i,a,s,e);Object.keys(t).length>0&&bn(e,t)}if(e.enginesNode){let t=await as(i,a,e);Object.keys(t).length>0&&xn(e,t)}}let m=await ja(t,i,p,e,n||void 0),h=e.jsonAll?fs(m):e.jsonDeps?Eo(fs(m),Ca(e.dep)):p,_;if(e.json&&!e.deep&&fn(e,h),Object.keys(d).length>0&&n)if(e.upgrade)_=g.default.writeFile(n.replace(`#catalog`,``),m);else{let t=process.env.npm_lifecycle_event===`npx`?`npx npm-check-updates`:`ncu`,n=process.argv.slice(2).map(e=>e.includes(` `)?`"${e}"`:e).join(` `),r=n&&` `+n;B(e,`\nRun ${F.cyan(`${t}${r} -u`)} to upgrade ${e.packageFile||`package.json`}`)}return await _,h}function vs(e){return e}var ys=vs;process.env.INJECT_PROMPTS&&d.default.inject(JSON.parse(process.env.INJECT_PROMPTS));let bs=!1;process.on(`unhandledRejection`,e=>{console.error(e),bs=!0});const xs=e=>{e.global&&(process.env.VOLTA_HOME||process.env.PATH?.includes(`\\Volta`))&&(B(e,`It appears you are using Volta. \`npm-check-updates --global\` cannot be used with Volta because Volta has its own system for managing global packages which circumvents npm.
371
+
372
+ If you are still receiving this message after uninstalling Volta, ensure your PATH does not contain an entry for Volta and your shell profile does not define VOLTA_HOME. You may need to reboot for changes to your shell profile to take effect.`,`error`),process.exit(1))},Ss=async(e,t)=>{let n={...e,cwd:e.cwd||u.default.resolve(t,`..`),packageFile:t};return e.packageManager===`staticRegistry`?await Vn({...n,packageManager:void 0}):e.packageManager&&e.packageManager!==`npm`?e.packageManager:await Vn(n)},Cs=(e,t)=>{let n=e.length===1?{[e[0]]:t}:t;return Object.values(n).some(e=>Object.keys(e).length>0)},ws=async(e,t,n)=>{if(n.install===`never`){B(n,``);return}if(!Cs(e,t))return;let r=await Ss(n,e[0]),i=`Run ${F.cyan(r+` install`)}${e.length>1&&!n.workspace&&!n.workspaces?` in each project directory`:``} to install new versions`,a=n.interactive&&(process.env.NCU_TESTS||!process.env.NCU_DOCTOR),o;if(a&&n.install===`prompt`&&(B(n,``),o=await(0,d.default)({type:`confirm`,name:`value`,message:`${i}?`,initial:!0,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})),n.install===`always`||a&&o.value){n.install===`always`&&B(n,``),B(n,`Installing dependencies...`);let t=n.workspaces||n.workspace?.length?[`package.json`]:e;for await(let e of t){let t=await Ss(n,e),r=t+(process.platform===`win32`&&t!==`bun`?`.cmd`:``),i=n.cwd||u.default.resolve(e,`..`),a=``;try{await(0,f.default)(r,[`install`],{stdout:e=>{a+=e},stderr:e=>{console.error(F.red(e.toString()))}},{cwd:i,env:{...process.env,...n.color===!1?null:{FORCE_COLOR:!0},...t===`pnpm`?{npm_config_strict_peer_dependencies:!1}:null}}),B(n,a),B(n,`Done`)}catch(e){throw Error(e?.message||e||a)}}}else a||B(n,`\n${i}.`)};async function Ts(e,t){let[n,r]=await Ua(e),i=n.map(e=>e.filepath),a=e.workspaces||!!e.workspace?.length;e.deep=e.deep||a||n.length>1;let o;if(e.global){let n=await Zo(e);return clearTimeout(t),n}else if(e.deep)o=await n.reduce(async(t,n)=>{let i=await t,a=(await Ga({packageFile:n.filepath,options:e})).config;e.mergeConfig&&Object.keys(a).length&&(a=mo(e,a));let o={...e,...a,packageFile:n.filepath,workspacePackages:r},s,c,l;if(n.filepath.includes(`#`)||n.name===`catalogs`){s=n.pkgFile,c=n.filepath,l=n.filepath.includes(`#catalog`)?n.filepath.replace(`#catalog`,``):n.filepath;let e=u.default.resolve(l);B(o,`${o.upgrade?`Upgrading`:`Checking`} ${e} catalog dependencies`)}else{let e=await Ia(o);s=e.pkgData,c=e.pkgFile||n.filepath,l=c}return{...i,[o.cwd?u.default.relative(u.default.resolve(o.cwd),l).replace(/\\/g,`/`):l]:await _s(o,s,c)}},Promise.resolve({})),e.json&&fn(e,o);else{n.length===1&&n[0].filepath!==(e.packageFile||`package.json`)&&(e.packageFile=n[0].filepath);let{pkgData:t,pkgFile:r}=await Ia(e);o=await _s(e,t,r)}return clearTimeout(t),e.errorLevel===2&&Cs(i,o)&&Z(e,`
373
+ Dependencies not up-to-date`),e.upgrade&&(e.packageManager===`deno`?B(e,``):await ws(i,o,e)),o}async function Es(e={},{cli:t}={}){let n=await uo(e,{cli:t}),r=pe.url;process.on(`exit`,()=>{bs&&Z(n,`Unhandled Rejection! This is a bug and should be reported: ${r}`)}),await ve(n.color),xs(n),B(n,`Initializing`,`verbose`),n.cacheClear&&await Dn(n);let i,a=new Promise(()=>null);if(n.timeout){let e=typeof n.timeout==`string`?Number.parseInt(n.timeout,10):n.timeout;a=new Promise((t,r)=>{i=setTimeout(()=>{let t=`Exceeded global timeout of ${e}ms`;r(t);try{Z(n,t)}catch{}},e)})}if(n.doctor){if(n.upgrade)return Promise.race([a,Pa(Es,n)]);B(n,`Usage: ncu --doctor\n\n${typeof G.doctor.help==`function`?G.doctor.help({}):G.doctor.help}`,`warn`)}else return Promise.race([a,Ts(n,i)])}var Ds=Es;Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Ga}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Ds}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return In}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return ys}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Pn}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Es}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return me}});
374
374
  //# sourceMappingURL=src.cjs.map