@baicie/ncu 0.3.5 → 0.3.7

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,4 +1,4 @@
1
- import e from"path";import t from"prompts-ncu";import n from"spawn-please";import r from"fs";import i from"os";import a from"cli-table3";import o from"fs/promises";import s from"hosted-git-info";import{URL as c}from"url";import l from"parse-github-url";import*as u from"semver";import d,{intersects as f,minVersion as p,satisfies as m,valid as h,validRange as g}from"semver";import _,{parse as v,parseRange as y}from"semver-utils";import b from"util";import x from"camelcase";import S from"fast-memoize";import C from"ini";import w from"npm-registry-fetch";import T from"untildify";import{findUp as E,findUpSync as ee}from"find-up";import te from"node:fs";import D from"node:os";import O from"node:path";import k from"js-yaml";import A from"jsonlines";import{text as ne}from"node:stream/consumers";import re from"fast-glob";import ie from"picomatch";import{rcFile as ae}from"rc-config-loader";import{dequal as oe}from"dequal";import se from"node:child_process";import{promisify as ce}from"node:util";import{and as le,or as ue}from"fp-and-or";import de from"progress";import fe from"p-map";import{ParseErrorCode as pe,parse as me,stripComments as he}from"jsonc-parser";var ge=Object.create,_e=Object.defineProperty,ve=Object.getOwnPropertyDescriptor,ye=Object.getOwnPropertyNames,be=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty,j=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),M=(e,t)=>{let n={};for(var r in e)_e(n,r,{get:e[r],enumerable:!0});return t||_e(n,Symbol.toStringTag,{value:`Module`}),n},Se=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ye(t),a=0,o=i.length,s;a<o;a++)s=i[a],!xe.call(e,s)&&s!==n&&_e(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ve(t,s))||r.enumerable});return e},Ce=(e,t,n)=>(n=e==null?{}:ge(be(e)),Se(t||!e||!e.__esModule?_e(n,`default`,{value:e,enumerable:!0}):n,e)),we=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")}),Te=`0.3.5`,Ee=`https://github.com/baicie/npm-check-updates`,De={url:`https://github.com/raineorshine/npm-check-updates/issues`},Oe={name:`@baicie/ncu`,version:Te,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 && chmod +x dist/cjs/cli.cjs dist/cjs/index.cjs`,"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 && chmod +x dist/cjs/*.cjs`,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:Ee,bugs:De,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.3`,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":`^10.1.0`,ini:`^7.0.0`,"js-yaml":`^4.1.1`,"jsonc-parser":`^3.3.1`,jsonlines:`^0.1.1`,lodash:`^4.18.1`,"npm-registry-fetch":`^19.1.1`,"p-map":`^7.0.4`,"parse-github-url":`^1.0.4`,picomatch:`^4.0.4`,progress:`^2.0.3`,"prompts-ncu":`^3.0.2`,"rc-config-loader":`^4.1.4`,rfdc:`^1.4.1`,semver:`^7.8.0`,"semver-utils":`^1.1.4`,"spawn-please":`^3.0.0`,untildify:`^6.0.0`,"update-notifier":`^7.3.1`},devDependencies:{"@baicie/release":`^0.1.15`,"@baicie/scripts":`^0.1.2`,"@eslint/js":`^10.0.1`,"@trivago/prettier-plugin-sort-imports":`^6.0.2`,"@types/bun":`^1.3.14`,"@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.24`,"@types/mocha":`^10.0.10`,"@types/node":`^24.12.2`,"@types/npm-registry-fetch":`^8.0.9`,"@types/parse-github-url":`^1.0.3`,"@types/picomatch":`^4.0.3`,"@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.1`,"@types/update-notifier":`^6.0.8`,"@typescript-eslint/eslint-plugin":`^8.59.3`,"@typescript-eslint/parser":`^8.59.3`,chai:`^6.2.2`,"chai-as-promised":`^8.0.2`,"chai-string":`^1.6.0`,"cross-env":`^10.1.0`,eslint:`^10.3.0`,"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.9.0`,"eslint-plugin-n":`^18.0.1`,"eslint-plugin-promise":`^7.3.0`,"lint-staged":`^17.0.4`,"markdownlint-cli":`^0.48.0`,mocha:`^11.7.5`,"npm-run-all":`^4.1.5`,prettier:`^3.8.3`,rimraf:`^6.1.3`,rolldown:`1.0.1`,"rolldown-plugin-dts":`^0.25.0`,"rollup-plugin-node-externals":`^9.0.1`,"rollup-plugin-visualizer":`^7.0.1`,should:`^13.2.3`,"simple-git-hooks":`^2.13.1`,sinon:`^22.0.0`,"source-map-support":`^0.5.21`,"strip-ansi":`^7.2.0`,"ts-node":`^10.9.2`,tsx:`^4.22.0`,typescript:`^6.0.3`,"typescript-eslint":`^8.59.3`,"typescript-json-schema":`^0.66.0`,verdaccio:`^6.6.2`,vite:`^8.0.13`,"vite-bundle-analyzer":`^1.3.8`,"vite-node":`^6.0.0`,"vite-plugin-dts":`^5.0.0`,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@11.1.2`,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}const ke={blue:!0,bold:!0,cyan:!0,gray:!0,green:!0,magenta:!0,red:!0,yellow:!0},Ae=N(ke,e=>({[e]:e=>e.toString()}));let je;const Me=async e=>{let{default:t,Chalk:n}=await import(`chalk`);je=e===!0?new n({level:1}):e===null?Ae:t},Ne=()=>{if(!je)throw Error(`Chalk has not been imported yet. Chalk is a dynamic import and requires that you await { chalkInit } from './lib/chalk'.`)},P=N(ke,e=>{let t=t=>(Ne(),je[e].bold(t)),n=t=>(Ne(),je[e](t));return n.bold=t,{[e]:n}}),F=(e,t)=>N(e,(e,n)=>t(e,n)?{[e]:n}:null),Pe=e=>o.stat(e).then(()=>!0,()=>!1);async function Fe(t,{pkgFile:n}={}){let r=we.resolve.paths(t)||[],i=n?[e.join(e.dirname(n),`node_modules`)]:[],a=[e.join(process.cwd(),`node_modules`)],s=[...i,...a,...r];for(let n of s){let r=e.join(n,t,`package.json`);if(await Pe(r))try{return JSON.parse(await o.readFile(r,`utf-8`))}catch{}}return null}async function Ie(e,t,{pkgFile:n}={}){return t?t.version:(await Fe(e,{pkgFile:n}))?.version??null}async function Le(e,{pkgFile:t}={}){return(await Fe(e,{pkgFile:t}))?.repository??null}async function Re(e,t,{pkgFile:n}={}){let r=t?t.repository?t.repository:null:await Le(e,{pkgFile:n});if(!r)return null;let i,a=``;if(typeof r==`string`){i=r;try{let e=new c(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=s.fromUrl(i)?.browse(a);return e===void 0?i:e.replace(/\/$/,``).replace(/\/tree\/HEAD$/,``)}return null}var I=j(((e,t)=>{t.exports=Array.isArray})),ze=j(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),L=j(((e,t)=>{var n=ze(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),Be=j(((e,t)=>{t.exports=L().Symbol})),Ve=j(((e,t)=>{var n=Be(),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})),He=j(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),Ue=j(((e,t)=>{var n=Be(),r=Ve(),i=He(),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})),We=j(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),Ge=j(((e,t)=>{var n=Ue(),r=We(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),Ke=j(((e,t)=>{var n=I(),r=Ge(),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})),qe=j(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),Je=j(((e,t)=>{var n=Ue(),r=qe(),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})),Ye=j(((e,t)=>{t.exports=L()[`__core-js_shared__`]})),Xe=j(((e,t)=>{var n=Ye(),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})),Ze=j(((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})),Qe=j(((e,t)=>{var n=Je(),r=Xe(),i=qe(),a=Ze(),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})),$e=j(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),et=j(((e,t)=>{var n=Qe(),r=$e();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),tt=j(((e,t)=>{t.exports=et()(Object,`create`)})),nt=j(((e,t)=>{var n=tt();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),rt=j(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}t.exports=n})),it=j(((e,t)=>{var n=tt(),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})),at=j(((e,t)=>{var n=tt(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),ot=j(((e,t)=>{var n=tt(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=+!this.has(e),i[e]=n&&t===void 0?r:t,this}t.exports=i})),st=j(((e,t)=>{var n=nt(),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=j(((e,t)=>{function n(){this.__data__=[],this.size=0}t.exports=n})),lt=j(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),ut=j(((e,t)=>{var n=lt();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),dt=j(((e,t)=>{var n=ut(),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})),ft=j(((e,t)=>{var n=ut();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),pt=j(((e,t)=>{var n=ut();function r(e){return n(this.__data__,e)>-1}t.exports=r})),mt=j(((e,t)=>{var n=ut();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})),ht=j(((e,t)=>{var n=ct(),r=dt(),i=ft(),a=pt(),o=mt();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})),gt=j(((e,t)=>{t.exports=et()(L(),`Map`)})),_t=j(((e,t)=>{var n=st(),r=ht(),i=gt();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),vt=j(((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})),yt=j(((e,t)=>{var n=vt();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),bt=j(((e,t)=>{var n=yt();function r(e){var t=n(this,e).delete(e);return this.size-=+!!t,t}t.exports=r})),xt=j(((e,t)=>{var n=yt();function r(e){return n(this,e).get(e)}t.exports=r})),St=j(((e,t)=>{var n=yt();function r(e){return n(this,e).has(e)}t.exports=r})),Ct=j(((e,t)=>{var n=yt();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})),wt=j(((e,t)=>{var n=_t(),r=bt(),i=xt(),a=St(),o=Ct();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})),Tt=j(((e,t)=>{var n=wt(),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})),Et=j(((e,t)=>{var n=Tt(),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})),Dt=j(((e,t)=>{var n=Et(),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})})),Ot=j(((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})),kt=j(((e,t)=>{var n=Be(),r=Ot(),i=I(),a=Ge(),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})),At=j(((e,t)=>{var n=kt();function r(e){return e==null?``:n(e)}t.exports=r})),jt=j(((e,t)=>{var n=I(),r=Ke(),i=Dt(),a=At();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),Mt=j(((e,t)=>{var n=Ge(),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})),Nt=j(((e,t)=>{var n=jt(),r=Mt();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})),Pt=Ce(j(((e,t)=>{var n=Nt();function r(e){return function(t){return e==null?void 0:n(e,t)}}t.exports=r}))(),1);function Ft(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):[]}const It=[`major`,`minor`,`patch`],Lt=[`release`,`build`],R=[...It,...Lt],Rt={major:``,minor:`.`,patch:`.`,release:`-`,build:`+`},zt=[`^`,`~`,`.*`,`.x`],Bt=RegExp(`^(${[`^`,`~`,`^*`,`*`,`x`,`x.x`,`x.x.x`].join(`|`).replace(/\^/g,`\\^`).replace(/\*/g,`\\*`)})$`),Vt=/^npm:(.*)@(.*)/;function Ht(e){let[t]=_.parseRange(e);if(!t)throw Error(b.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 R.reduce((e,n)=>t[n]?e+1:e,0)}function z(e,t){return(t?R.slice(0,R.indexOf(t)+1):R).filter(n=>t&&It.includes(t)||e[n]).map(t=>Rt[t]+(e[t]||`0`)).join(``)}function Ut(e){let[t]=_.parseRange(e);return R.slice().reverse().find((0,Pt.default)(t))}function Wt(e,t){let[n]=_.parseRange(e);return z(n,t)}function Gt(e,t){return t===`^`||t===`~`?t+e:Wt(e,`major`)+t}function Kt(e){return Bt.test(e)}function qt(e){return e===`*`||e===`x`}function Jt(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 Yt(e,t,n){let r=N(e,(r,i,a)=>{let o=t[r],s=Jt(o,i),c=n.groupFunction?.(r,s,y(o),y(i),v(e[r]))??s;return c===`none`?a:{...a,[c]:{...a[c],[r]:i}}}),i={patch:P.green(P.bold(`Patch`)+` Backwards-compatible bug fixes`),minor:P.cyan(P.bold(`Minor`)+` Backwards-compatible features`),major:P.red(P.bold(`Major`)+` Potentially breaking API changes`),majorVersionZero:P.magenta(P.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 Xt(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=d.valid(e)?e:d.minVersion(e)?.version??null,r=d.valid(t)?t:d.minVersion(t)?.version??null;n&&r&&d.gt(n,r)&&(o=`yellow`)}catch{}let s=a>0&&a<r.length?`.`:``;return n+r.slice(0,a).join(`.`)+s+P[o](r.slice(a).join(`.`))}const Zt=e=>{let t=d.prerelease(e);return t&&t.slice(0,-1).join(`.`)};function Qt(e,t){let n=Zt(e),r=Zt(t);return typeof n!=`string`||typeof r!=`string`||n===r}function $t(e,t){return(d.valid(e)&&d.valid(t)?d.gt(e,t):e>t)?1:e===t?0:-1}function en(e,t,n){if(!d.validRange(t))return null;let r=d.minVersion(t);return[...e].sort($t).filter(e=>{let t=d.parse(e);return t&&(n===`major`||t.major===r?.major)&&(n===`major`||n===`minor`||t.minor===r?.minor)}).at(-1)||null}function tn(e){return Ut(e)===`release`}const nn=e=>/^[vV]?\d+$/.test(e),rn=e=>/^[vV]?\d+\.\d+$/.test(e),an=e=>e.replace(/^[vV]/,``),on=e=>nn(e)?e+`.0.0`:e,sn=e=>rn(e)?e+`.0`:e,cn=e=>sn(on(an(e)));function ln(e){return e&&(e[0]===`v`||e[1]===`v`)?`v`:``}const un=(e,t)=>`npm:${e}@${t}`,dn=e=>{let t=e&&e.match&&e.match(Vt);return t&&t.slice(1)},fn=e=>e&&!!e.match(Vt),pn=(e,t)=>{let n=dn(e);return n?un(n[0],t):null},mn=e=>{if(!e)return!1;let t=null;try{t=l(e)}catch{}if(!t||!t.branch)return!1;let n=decodeURIComponent(t.branch).replace(/^semver:/,``);return!!d.validRange(n)},hn=e=>{if(!e)return null;let t=l(e);if(!t||!t.branch)return null;let n=decodeURIComponent(t.branch).replace(/^semver:/,``);return t&&t.branch&&d.validRange(n)?n:null};function gn(e,t,n={}){if(n.wildcard=n.wildcard||`^`,!t)return e;let[r]=_.parseRange(t);if(!r)return e;if(n.removeRange)return t;if(Kt(e))return e;let i=Ft(_.parseRange(e).filter(e=>e.operator!==`||`&&e.operator!==`-`),e=>Ht(z(e))),[a]=i;function o(e){return(qt(a[e])?a[e]:It.includes(e)&&a[e]||Lt.includes(e)?r[e]:null)||null}let s=z(N(R,e=>({[e]:o(e)}))),c=ln(a.semver)+s,l=Array.from(new Set(i.map(e=>e.operator))),u=l[0]||``,d=zt.some(e=>s.includes(e)),f=l[0]===`<`||l[0]===`<=`,p=l[0]===`>`,m=l.length>1;return!d&&(f||m)?Gt(c,n.wildcard):(p?`>=`:u)+c}const _n=(e,t)=>{let n=ln(e),r=n?n+t:t;return r=nn(e)?r.slice(0,r.length-4):r,r=rn(e)?r.slice(0,r.length-2):r,r},vn=(e,t)=>{let n=cn(t),r=l(e);if(!r)return e;let i=decodeURIComponent(r.branch).replace(/^semver:/,``);return e.replace(i,gn(i,_n(i,n)))},yn={silent:0,error:1,minimal:2,warn:3,info:4,verbose:5,silly:6},bn=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||yn[e.loglevel??`warn`]>=yn[n])&&console[r](t)}function xn(e,t){e.loglevel!==`silent`&&console.log(JSON.stringify(t,null,2))}function V(e,t,n){B(e,Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}),n)}function Sn(e){let t=new a({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
+ import e from"path";import t from"prompts-ncu";import n from"spawn-please";import r from"fs";import i from"os";import a from"cli-table3";import o from"fs/promises";import s from"hosted-git-info";import{URL as c}from"url";import l from"parse-github-url";import*as u from"semver";import d,{intersects as f,minVersion as p,satisfies as m,valid as h,validRange as g}from"semver";import _,{parse as v,parseRange as y}from"semver-utils";import b from"util";import x from"camelcase";import S from"fast-memoize";import C from"ini";import w from"npm-registry-fetch";import T from"untildify";import{findUp as E,findUpSync as ee}from"find-up";import te from"node:fs";import D from"node:os";import O from"node:path";import k from"js-yaml";import A from"jsonlines";import{text as ne}from"node:stream/consumers";import re from"fast-glob";import ie from"picomatch";import{rcFile as ae}from"rc-config-loader";import{dequal as oe}from"dequal";import se from"node:child_process";import{promisify as ce}from"node:util";import{and as le,or as ue}from"fp-and-or";import de from"progress";import fe from"p-map";import{ParseErrorCode as pe,parse as me,stripComments as he}from"jsonc-parser";var ge=Object.create,_e=Object.defineProperty,ve=Object.getOwnPropertyDescriptor,ye=Object.getOwnPropertyNames,be=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty,j=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),M=(e,t)=>{let n={};for(var r in e)_e(n,r,{get:e[r],enumerable:!0});return t||_e(n,Symbol.toStringTag,{value:`Module`}),n},Se=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=ye(t),a=0,o=i.length,s;a<o;a++)s=i[a],!xe.call(e,s)&&s!==n&&_e(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ve(t,s))||r.enumerable});return e},Ce=(e,t,n)=>(n=e==null?{}:ge(be(e)),Se(t||!e||!e.__esModule?_e(n,`default`,{value:e,enumerable:!0}):n,e)),we=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")}),Te=`0.3.7`,Ee=`https://github.com/baicie/npm-check-updates`,De={url:`https://github.com/raineorshine/npm-check-updates/issues`},Oe={name:`@baicie/ncu`,version:Te,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 && node -e "if (process.platform !== 'win32') { require('child_process').execSync('chmod +x dist/cjs/cli.cjs dist/cjs/index.cjs') }"`,"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 && node -e "if (process.platform !== 'win32') { require('child_process').execSync('chmod +x dist/cjs/*.cjs') }"`,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:Ee,bugs:De,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.3`,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":`^10.1.0`,ini:`^7.0.0`,"js-yaml":`^4.1.1`,"jsonc-parser":`^3.3.1`,jsonlines:`^0.1.1`,lodash:`^4.18.1`,"npm-registry-fetch":`^19.1.1`,"p-map":`^7.0.4`,"parse-github-url":`^1.0.4`,picomatch:`^4.0.4`,progress:`^2.0.3`,"prompts-ncu":`^3.0.2`,"rc-config-loader":`^4.1.4`,rfdc:`^1.4.1`,semver:`^7.8.0`,"semver-utils":`^1.1.4`,"spawn-please":`^3.0.0`,untildify:`^6.0.0`,"update-notifier":`^7.3.1`},devDependencies:{"@baicie/release":`^0.1.15`,"@baicie/scripts":`^0.1.2`,"@eslint/js":`^10.0.1`,"@trivago/prettier-plugin-sort-imports":`^6.0.2`,"@types/bun":`^1.3.14`,"@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.24`,"@types/mocha":`^10.0.10`,"@types/node":`^24.12.2`,"@types/npm-registry-fetch":`^8.0.9`,"@types/parse-github-url":`^1.0.3`,"@types/picomatch":`^4.0.3`,"@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.1`,"@types/update-notifier":`^6.0.8`,"@typescript-eslint/eslint-plugin":`^8.59.3`,"@typescript-eslint/parser":`^8.59.3`,chai:`^6.2.2`,"chai-as-promised":`^8.0.2`,"chai-string":`^1.6.0`,"cross-env":`^10.1.0`,eslint:`^10.4.0`,"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.9.0`,"eslint-plugin-n":`^18.0.1`,"eslint-plugin-promise":`^7.3.0`,"lint-staged":`^17.0.4`,"markdownlint-cli":`^0.48.0`,mocha:`^11.7.5`,"npm-run-all":`^4.1.5`,prettier:`^3.8.3`,rimraf:`^6.1.3`,rolldown:`1.0.1`,"rolldown-plugin-dts":`^0.25.1`,"rollup-plugin-node-externals":`^9.0.1`,"rollup-plugin-visualizer":`^7.0.1`,should:`^13.2.3`,"simple-git-hooks":`^2.13.1`,sinon:`^22.0.0`,"source-map-support":`^0.5.21`,"strip-ansi":`^7.2.0`,"ts-node":`^10.9.2`,tsx:`^4.22.0`,typescript:`^6.0.3`,"typescript-eslint":`^8.59.3`,"typescript-json-schema":`^0.66.0`,verdaccio:`^6.6.2`,vite:`^8.0.13`,"vite-bundle-analyzer":`^1.3.8`,"vite-node":`^6.0.0`,"vite-plugin-dts":`^5.0.0`,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@11.1.2`,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}const ke={blue:!0,bold:!0,cyan:!0,gray:!0,green:!0,magenta:!0,red:!0,yellow:!0},Ae=N(ke,e=>({[e]:e=>e.toString()}));let je;const Me=async e=>{let{default:t,Chalk:n}=await import(`chalk`);je=e===!0?new n({level:1}):e===null?Ae:t},Ne=()=>{if(!je)throw Error(`Chalk has not been imported yet. Chalk is a dynamic import and requires that you await { chalkInit } from './lib/chalk'.`)},P=N(ke,e=>{let t=t=>(Ne(),je[e].bold(t)),n=t=>(Ne(),je[e](t));return n.bold=t,{[e]:n}}),F=(e,t)=>N(e,(e,n)=>t(e,n)?{[e]:n}:null),Pe=e=>o.stat(e).then(()=>!0,()=>!1);async function Fe(t,{pkgFile:n}={}){let r=we.resolve.paths(t)||[],i=n?[e.join(e.dirname(n),`node_modules`)]:[],a=[e.join(process.cwd(),`node_modules`)],s=[...i,...a,...r];for(let n of s){let r=e.join(n,t,`package.json`);if(await Pe(r))try{return JSON.parse(await o.readFile(r,`utf-8`))}catch{}}return null}async function Ie(e,t,{pkgFile:n}={}){return t?t.version:(await Fe(e,{pkgFile:n}))?.version??null}async function Le(e,{pkgFile:t}={}){return(await Fe(e,{pkgFile:t}))?.repository??null}async function Re(e,t,{pkgFile:n}={}){let r=t?t.repository?t.repository:null:await Le(e,{pkgFile:n});if(!r)return null;let i,a=``;if(typeof r==`string`){i=r;try{let e=new c(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=s.fromUrl(i)?.browse(a);return e===void 0?i:e.replace(/\/$/,``).replace(/\/tree\/HEAD$/,``)}return null}var I=j(((e,t)=>{t.exports=Array.isArray})),ze=j(((e,t)=>{t.exports=typeof global==`object`&&global&&global.Object===Object&&global})),L=j(((e,t)=>{var n=ze(),r=typeof self==`object`&&self&&self.Object===Object&&self;t.exports=n||r||Function(`return this`)()})),Be=j(((e,t)=>{t.exports=L().Symbol})),Ve=j(((e,t)=>{var n=Be(),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})),He=j(((e,t)=>{var n=Object.prototype.toString;function r(e){return n.call(e)}t.exports=r})),Ue=j(((e,t)=>{var n=Be(),r=Ve(),i=He(),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})),We=j(((e,t)=>{function n(e){return typeof e==`object`&&!!e}t.exports=n})),Ge=j(((e,t)=>{var n=Ue(),r=We(),i=`[object Symbol]`;function a(e){return typeof e==`symbol`||r(e)&&n(e)==i}t.exports=a})),Ke=j(((e,t)=>{var n=I(),r=Ge(),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})),qe=j(((e,t)=>{function n(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}t.exports=n})),Je=j(((e,t)=>{var n=Ue(),r=qe(),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})),Ye=j(((e,t)=>{t.exports=L()[`__core-js_shared__`]})),Xe=j(((e,t)=>{var n=Ye(),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})),Ze=j(((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})),Qe=j(((e,t)=>{var n=Je(),r=Xe(),i=qe(),a=Ze(),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})),$e=j(((e,t)=>{function n(e,t){return e?.[t]}t.exports=n})),et=j(((e,t)=>{var n=Qe(),r=$e();function i(e,t){var i=r(e,t);return n(i)?i:void 0}t.exports=i})),tt=j(((e,t)=>{t.exports=et()(Object,`create`)})),nt=j(((e,t)=>{var n=tt();function r(){this.__data__=n?n(null):{},this.size=0}t.exports=r})),rt=j(((e,t)=>{function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}t.exports=n})),it=j(((e,t)=>{var n=tt(),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})),at=j(((e,t)=>{var n=tt(),r=Object.prototype.hasOwnProperty;function i(e){var t=this.__data__;return n?t[e]!==void 0:r.call(t,e)}t.exports=i})),ot=j(((e,t)=>{var n=tt(),r=`__lodash_hash_undefined__`;function i(e,t){var i=this.__data__;return this.size+=+!this.has(e),i[e]=n&&t===void 0?r:t,this}t.exports=i})),st=j(((e,t)=>{var n=nt(),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=j(((e,t)=>{function n(){this.__data__=[],this.size=0}t.exports=n})),lt=j(((e,t)=>{function n(e,t){return e===t||e!==e&&t!==t}t.exports=n})),ut=j(((e,t)=>{var n=lt();function r(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}t.exports=r})),dt=j(((e,t)=>{var n=ut(),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})),ft=j(((e,t)=>{var n=ut();function r(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}t.exports=r})),pt=j(((e,t)=>{var n=ut();function r(e){return n(this.__data__,e)>-1}t.exports=r})),mt=j(((e,t)=>{var n=ut();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})),ht=j(((e,t)=>{var n=ct(),r=dt(),i=ft(),a=pt(),o=mt();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})),gt=j(((e,t)=>{t.exports=et()(L(),`Map`)})),_t=j(((e,t)=>{var n=st(),r=ht(),i=gt();function a(){this.size=0,this.__data__={hash:new n,map:new(i||r),string:new n}}t.exports=a})),vt=j(((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})),yt=j(((e,t)=>{var n=vt();function r(e,t){var r=e.__data__;return n(t)?r[typeof t==`string`?`string`:`hash`]:r.map}t.exports=r})),bt=j(((e,t)=>{var n=yt();function r(e){var t=n(this,e).delete(e);return this.size-=+!!t,t}t.exports=r})),xt=j(((e,t)=>{var n=yt();function r(e){return n(this,e).get(e)}t.exports=r})),St=j(((e,t)=>{var n=yt();function r(e){return n(this,e).has(e)}t.exports=r})),Ct=j(((e,t)=>{var n=yt();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})),wt=j(((e,t)=>{var n=_t(),r=bt(),i=xt(),a=St(),o=Ct();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})),Tt=j(((e,t)=>{var n=wt(),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})),Et=j(((e,t)=>{var n=Tt(),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})),Dt=j(((e,t)=>{var n=Et(),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})})),Ot=j(((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})),kt=j(((e,t)=>{var n=Be(),r=Ot(),i=I(),a=Ge(),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})),At=j(((e,t)=>{var n=kt();function r(e){return e==null?``:n(e)}t.exports=r})),jt=j(((e,t)=>{var n=I(),r=Ke(),i=Dt(),a=At();function o(e,t){return n(e)?e:r(e,t)?[e]:i(a(e))}t.exports=o})),Mt=j(((e,t)=>{var n=Ge(),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})),Nt=j(((e,t)=>{var n=jt(),r=Mt();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})),Pt=Ce(j(((e,t)=>{var n=Nt();function r(e){return function(t){return e==null?void 0:n(e,t)}}t.exports=r}))(),1);function Ft(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):[]}const It=[`major`,`minor`,`patch`],Lt=[`release`,`build`],R=[...It,...Lt],Rt={major:``,minor:`.`,patch:`.`,release:`-`,build:`+`},zt=[`^`,`~`,`.*`,`.x`],Bt=RegExp(`^(${[`^`,`~`,`^*`,`*`,`x`,`x.x`,`x.x.x`].join(`|`).replace(/\^/g,`\\^`).replace(/\*/g,`\\*`)})$`),Vt=/^npm:(.*)@(.*)/;function Ht(e){let[t]=_.parseRange(e);if(!t)throw Error(b.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 R.reduce((e,n)=>t[n]?e+1:e,0)}function z(e,t){return(t?R.slice(0,R.indexOf(t)+1):R).filter(n=>t&&It.includes(t)||e[n]).map(t=>Rt[t]+(e[t]||`0`)).join(``)}function Ut(e){let[t]=_.parseRange(e);return R.slice().reverse().find((0,Pt.default)(t))}function Wt(e,t){let[n]=_.parseRange(e);return z(n,t)}function Gt(e,t){return t===`^`||t===`~`?t+e:Wt(e,`major`)+t}function Kt(e){return Bt.test(e)}function qt(e){return e===`*`||e===`x`}function Jt(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 Yt(e,t,n){let r=N(e,(r,i,a)=>{let o=t[r],s=Jt(o,i),c=n.groupFunction?.(r,s,y(o),y(i),v(e[r]))??s;return c===`none`?a:{...a,[c]:{...a[c],[r]:i}}}),i={patch:P.green(P.bold(`Patch`)+` Backwards-compatible bug fixes`),minor:P.cyan(P.bold(`Minor`)+` Backwards-compatible features`),major:P.red(P.bold(`Major`)+` Potentially breaking API changes`),majorVersionZero:P.magenta(P.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 Xt(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=d.valid(e)?e:d.minVersion(e)?.version??null,r=d.valid(t)?t:d.minVersion(t)?.version??null;n&&r&&d.gt(n,r)&&(o=`yellow`)}catch{}let s=a>0&&a<r.length?`.`:``;return n+r.slice(0,a).join(`.`)+s+P[o](r.slice(a).join(`.`))}const Zt=e=>{let t=d.prerelease(e);return t&&t.slice(0,-1).join(`.`)};function Qt(e,t){let n=Zt(e),r=Zt(t);return typeof n!=`string`||typeof r!=`string`||n===r}function $t(e,t){return(d.valid(e)&&d.valid(t)?d.gt(e,t):e>t)?1:e===t?0:-1}function en(e,t,n){if(!d.validRange(t))return null;let r=d.minVersion(t);return[...e].sort($t).filter(e=>{let t=d.parse(e);return t&&(n===`major`||t.major===r?.major)&&(n===`major`||n===`minor`||t.minor===r?.minor)}).at(-1)||null}function tn(e){return Ut(e)===`release`}const nn=e=>/^[vV]?\d+$/.test(e),rn=e=>/^[vV]?\d+\.\d+$/.test(e),an=e=>e.replace(/^[vV]/,``),on=e=>nn(e)?e+`.0.0`:e,sn=e=>rn(e)?e+`.0`:e,cn=e=>sn(on(an(e)));function ln(e){return e&&(e[0]===`v`||e[1]===`v`)?`v`:``}const un=(e,t)=>`npm:${e}@${t}`,dn=e=>{let t=e&&e.match&&e.match(Vt);return t&&t.slice(1)},fn=e=>e&&!!e.match(Vt),pn=(e,t)=>{let n=dn(e);return n?un(n[0],t):null},mn=e=>{if(!e)return!1;let t=null;try{t=l(e)}catch{}if(!t||!t.branch)return!1;let n=decodeURIComponent(t.branch).replace(/^semver:/,``);return!!d.validRange(n)},hn=e=>{if(!e)return null;let t=l(e);if(!t||!t.branch)return null;let n=decodeURIComponent(t.branch).replace(/^semver:/,``);return t&&t.branch&&d.validRange(n)?n:null};function gn(e,t,n={}){if(n.wildcard=n.wildcard||`^`,!t)return e;let[r]=_.parseRange(t);if(!r)return e;if(n.removeRange)return t;if(Kt(e))return e;let i=Ft(_.parseRange(e).filter(e=>e.operator!==`||`&&e.operator!==`-`),e=>Ht(z(e))),[a]=i;function o(e){return(qt(a[e])?a[e]:It.includes(e)&&a[e]||Lt.includes(e)?r[e]:null)||null}let s=z(N(R,e=>({[e]:o(e)}))),c=ln(a.semver)+s,l=Array.from(new Set(i.map(e=>e.operator))),u=l[0]||``,d=zt.some(e=>s.includes(e)),f=l[0]===`<`||l[0]===`<=`,p=l[0]===`>`,m=l.length>1;return!d&&(f||m)?Gt(c,n.wildcard):(p?`>=`:u)+c}const _n=(e,t)=>{let n=ln(e),r=n?n+t:t;return r=nn(e)?r.slice(0,r.length-4):r,r=rn(e)?r.slice(0,r.length-2):r,r},vn=(e,t)=>{let n=cn(t),r=l(e);if(!r)return e;let i=decodeURIComponent(r.branch).replace(/^semver:/,``);return e.replace(i,gn(i,_n(i,n)))},yn={silent:0,error:1,minimal:2,warn:3,info:4,verbose:5,silly:6},bn=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||yn[e.loglevel??`warn`]>=yn[n])&&console[r](t)}function xn(e,t){e.loglevel!==`silent`&&console.log(JSON.stringify(t,null,2))}function V(e,t,n){B(e,Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}),n)}function Sn(e){let t=new a({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
3
  `)}function Cn(e){return mn(e)?hn(e):fn(e)?dn(e)[1]:e}async function wn({from:e,to:t,format:n,ownersChangedDeps:r,pkgFile:i,time:a,pinnedPackages:s}){let c=n?.includes(`dep`)&&i?JSON.parse(await o.readFile(i,`utf-8`)):null;return Sn(await Promise.all(Object.keys(t).sort().map(async o=>{let l=(n?.includes(`installedVersion`)?await Ie(o,void 0,{pkgFile:i}):e[o])||``,u=o in(c?.devDependencies??{})?`dev`:o in(c?.peerDependencies??{})?`peer`:o in(c?.optionalDependencies??{})?`optional`:``,d=Cn(t[o]||``),f=r?o in r?r[o]?`*owner changed*`:``:`*unknown*`:``,p=Xt(Cn(l),d),m=n?.includes(`repo`)&&await Re(o,void 0,{pkgFile:i})||``,h=n?.includes(`time`)&&a?.[o]?a[o]:``,g=s?.has(o)?` `+P.yellow(`(pinned)`):``;return[o,...n?.includes(`dep`)?[u?P.gray(u):``]:[],l,`→`,p+g,f,...[m,h].filter(e=>e)]})))}async function Tn({current:e,upgraded:t,ownersChangedDeps:n,pkgFile:r,time:i,pinnedPackages:a},o){if(o.format?.includes(`group`)){let s=Yt(t,e,o);for(let{heading:t,packages:c}of s)B(o,`
4
4
  `+t),B(o,await wn({from:e,to:c,format:o.format,ownersChangedDeps:n,pkgFile:r,time:i,pinnedPackages:a}))}else o.format?.includes(`lines`)?B(o,Object.keys(t).sort().map(e=>a?.has(e)?`${e}@${t[e]} ${P.yellow(`(pinned)`)}`:`${e}@${t[e]}`).join(`
@@ -344,31 +344,31 @@ merged npm config:`,`verbose`);let{cache:e,...t}=l;V(i,t,`verbose`)}return l});a
344
344
  `)}t.exports=r})),Di=j(((e,t)=>{function n(e){return function(){return e}}t.exports=n})),Oi=j(((e,t)=>{var n=et();t.exports=function(){try{var e=n(Object,`defineProperty`);return e({},``,{}),e}catch{}}()})),ki=j(((e,t)=>{var n=Di(),r=Oi(),i=ti();t.exports=r?function(e,t){return r(e,`toString`,{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:i})),Ai=j(((e,t)=>{var n=ki();t.exports=Ci()(n)})),ji=j(((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})),Mi=j(((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})),Ni=j(((e,t)=>{function n(e){return e!==e}t.exports=n})),Pi=j(((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})),Fi=j(((e,t)=>{var n=Mi(),r=Ni(),i=Pi();function a(e,t,a){return t===t?i(e,t,a):n(e,r,a)}t.exports=a})),Ii=j(((e,t)=>{var n=Fi();function r(e,t){return!!(e!=null&&e.length)&&n(e,t,0)>-1}t.exports=r})),Li=j(((e,t)=>{var n=ji(),r=Ii(),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})),Ri=j(((e,t)=>{var n=Ti(),r=Ei(),i=Ai(),a=Li();function o(e,t,o){var s=t+``;return i(e,r(s,a(n(s),o)))}t.exports=o})),zi=j(((e,t)=>{var n=Si(),r=wi(),i=Ri(),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})),Bi=j(((e,t)=>{function n(e){return e.placeholder}t.exports=n})),Vi=j(((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})),Hi=j(((e,t)=>{var n=yi(),r=Vi(),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})),Ui=j(((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})),Wi=j(((e,t)=>{var n=li(),r=ui(),i=di(),a=oi(),o=zi(),s=Bi(),c=Hi(),l=Ui(),u=L(),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,ee=t&d,te=t&f,D=t&(p|m),O=t&g,k=te?void 0:a(e);function A(){for(var d=arguments.length,f=Array(d),p=d;p--;)f[p]=arguments[p];if(D)var m=s(A),h=i(f,m);if(y&&(f=n(f,y,b,D)),x&&(f=r(f,x,S,D)),d-=h,D&&d<T){var g=l(f,m);return o(e,t,_,A.placeholder,v,f,g,C,w,T-d)}var ne=ee?v:this,re=te?ne[e]:e;return d=f.length,C?f=c(f,C):O&&d>1&&f.reverse(),E&&w<d&&(f.length=w),this&&this!==u&&this instanceof A&&(re=k||a(re)),re.apply(ne,f)}return A}t.exports=_})),Gi=j(((e,t)=>{var n=ci(),r=oi(),i=Wi(),a=zi(),o=Bi(),s=Ui(),c=L();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})),Ki=j(((e,t)=>{var n=ci(),r=oi(),i=L(),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})),qi=j(((e,t)=>{var n=li(),r=ui(),i=Ui(),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})),Ji=j(((e,t)=>{var n=/\s/;function r(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}t.exports=r})),Yi=j(((e,t)=>{var n=Ji(),r=/^\s+/;function i(e){return e&&e.slice(0,n(e)+1).replace(r,``)}t.exports=i})),Xi=j(((e,t)=>{var n=Yi(),r=qe(),i=Ge(),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})),Zi=j(((e,t)=>{var n=Xi(),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=j(((e,t)=>{var n=Zi();function r(e){var t=n(e),r=t%1;return t===t?r?t-r:t:0}t.exports=r})),$i=j(((e,t)=>{var n=ii(),r=si(),i=Gi(),a=Wi(),o=Ki(),s=hi(),c=qi(),l=wi(),u=Ri(),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 ee=x?x.length:0;if(ee||(t&=~(_|v),x=S=void 0),w=w===void 0?w:y(d(w),0),T=T===void 0?T:d(T),ee-=S?S.length:0,t&v){var te=x,D=S;x=S=void 0}var O=E?void 0:s(e),k=[e,t,b,x,S,te,D,C,w,T];if(O&&c(k,O),e=k[0],t=k[1],b=k[2],x=k[3],S=k[4],T=k[9]=k[9]===void 0?E?0:e.length:y(k[9]-ee,0),!T&&t&(h|g)&&(t&=~(h|g)),!t||t==p)var A=r(e,t,b);else A=t==h||t==g?i(e,t,T):(t==_||t==(p|_))&&!S.length?o(e,t,b,x):a.apply(void 0,k);return u((O?n:l)(A,k),e,t)}t.exports=b})),ea=j(((e,t)=>{var n=$i(),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})),ta=M({default:()=>da,defaultPrefix:()=>fa,distTag:()=>ma,getEngines:()=>Sa,getPathToLookForYarnrc:()=>oa,getPeerDependencies:()=>xa,greatest:()=>ha,latest:()=>ga,list:()=>pa,minor:()=>_a,newest:()=>va,npmAuthTokenKeyValue:()=>ia,packageAuthorChanged:()=>Ca,patch:()=>ya,semver:()=>ba}),na=Ce(ea(),1);const ra=(e,t)=>e.replace(/\$\{([^:-]+)(?:(:)?-([^}]*))?\}/g,(e,n,r,i,a)=>t[n]||(i?a:``)),ia=(0,na.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`]:ra(n.npmAuthToken,process.env)}}}return null}),aa=(e,t)=>t.npmRegistryServer?{[`@${e}:registry`]:ra(t.npmRegistryServer,process.env)}:null;async function oa(t,n=o.readdir){if(t.global)return;let r=(await Kn(t,n))?.directoryPath;if(r)return e.join(r,`.yarnrc.yml`)}const sa=S(async t=>{let n=await oa(t),r=e.join(i.homedir(),`.yarnrc.yml`),a=typeof n==`string`&&await Pe(n),s=await Pe(r),c=a?await o.readFile(n,`utf-8`):``,l=s?await o.readFile(r,`utf-8`):``,u=k.load(c),d=k.load(l),f={...N(d?.npmScopes||{},aa),...N(u?.npmScopes||{},aa)};return f={...f,...N(d?.npmScopes||{},ia(f)),...N(u?.npmScopes||{},ia(f))},a&&(B(t,`\nUsing local yarn config at ${n}:`,`verbose`),B(t,u,`verbose`)),s&&(B(t,`\nUsing user yarn config at ${r}:`,`verbose`),B(t,u,`verbose`)),Object.keys(f)&&(B(t,`
345
345
  Merged yarn config in npm format:`,`verbose`),B(t,f,`verbose`)),f});function ca(e){return new Promise((t,n)=>{let r={},i=A.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 la(e){return new Promise((t,n)=>{let r=A.parse(),i=!1;r.on(`data`,e=>{i||(i=!0,t(JSON.stringify(e)))}),r.on(`error`,n),r.write(e),r.end()})}const ua=process.platform===`win32`?`yarn.cmd`:`yarn`;async function da(e,t={},r={},i={}){let{stdout:a}=await n(ua,[...t.global?[`global`]:[],...t.prefix?[`--prefix=${t.prefix}`]:[],`--depth=0`,`--json`,`--no-progress`,...Array.isArray(e)?e:[e]],r,i);return a}async function fa(e){if(e.prefix)return Promise.resolve(e.prefix);let{stdout:t}=await n(ua,[`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 pa=async(e={},t)=>N((await ca(await da(`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 sa(r)),ma=X(Pr),ha=X(Ar),ga=X(Fr),_a=X(Lr),va=X(Ir),ya=X(Rr),ba=X(zr),xa=async(e,t,r)=>{let{stdout:i}=await n(ua,[`--version`],{rejectOnError:!1},r);if(i.startsWith(`1`)){let i=[`--json`,`info`,`${e}@${t}`,`peerDependencies`],{stdout:a}=await n(ua,i,{rejectOnError:!1},r);return a&&q(a,{command:i.join(` `)}).data||{}}else{let i=[`--json`,`npm`,`info`,`${e}@${t}`,`--fields`,`peerDependencies`],{stdout:a}=await n(ua,i,{rejectOnError:!1},r);if(!a)return{};try{return q(a,{command:i.join(` `)}).peerDependencies||{}}catch(e){try{let e=await la(a);if(e)return q(e,{command:i.join(` `)}).peerDependencies||{}}catch{}throw e}}},Sa=async(e,t,n={})=>Mr(e,t,n,await sa(n)),Ca=async(e,t,n,r={})=>Cr(e,t,n,r,await sa(r));function Z(e,t,{color:n=!0}={}){let r=typeof t==`string`?t:t.message||String(t);throw e.cli||process.argv[1]?.endsWith(`cli.cjs`)||process.argv[1]?.endsWith(`ncu`)?(B(e,n?P.red(r):r,null,`error`),process.exitCode=1,process.exit(1),Error(`process.exit failed`)):Error(r)}const wa=async(e,t)=>{let n,r;try{r=await o.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}},Ta={dev:`devDependencies`,peer:`peerDependencies`,prod:`dependencies`,optional:`optionalDependencies`},Ea=e=>(e?typeof e==`string`?e.split(`,`):e:G.dep.default).map(e=>Ta[e]||e);function Da(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`)}async function Oa(e,t,n){let r=await o.readFile(e,`utf-8`);return Object.entries(n).filter(([e])=>t[e]).reduce((e,[n,r])=>{let i=t[n],a=`(${Da(n)}\\s*:\\s*["'])(${Da(i)})(["'])`,o=`(${Da(n)}\\s*:\\s*)(${Da(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 ka(e,t,n){let r=await o.readFile(e,`utf-8`);return Object.entries(n).filter(([e])=>t[e]).reduce((e,[n,r])=>{let i=t[n],a=`("${Da(n)}"\\s*:\\s*")(${Da(i)})(")`,o=new RegExp(a,`g`);return e.replace(o,`$1${r}$3`)},r)}async function Aa(t,n,r){let i=e.extname(t);if(i===`.yaml`||i===`.yml`)return Oa(t,n,r);if(i===`.json`)return ka(t,n,r);throw Error(`Unsupported catalog file type: ${t}`)}function ja(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,`\\$&`)}async function Ma(t,n,r,i,a){if(a){let i=e.basename(a),s=e.extname(a);if(a.includes(`#catalog`)){let t=a.replace(`#catalog`,``);if(e.extname(t)===`.json`)return Aa(t,n,r)}if(i===`pnpm-workspace.yaml`||i.includes(`catalog`)&&(s===`.yaml`||s===`.yml`)){if(t.includes(`"catalog-dependencies"`)||t.includes(`"catalog:`)){let e=await o.readFile(a,`utf-8`),t=k.load(e),i={};if(t.catalog)for(let[e,n]of Object.entries(t.catalog))i[`catalog:${e}`]=n;if(t.catalogs)for(let e of Object.values(t.catalogs))for(let[t,n]of Object.entries(e))i[`catalog:${t}`]=n;let s={};for(let[e,t]of Object.entries(n))s[e]=i[t]??t;return Aa(a,s,r)}return Aa(a,n,r)}if(s===`.json`){let e=JSON.parse(t),i=e.catalog||e.catalogs,o=e.workspaces&&!Array.isArray(e.workspaces)&&(e.workspaces.catalog||e.workspaces.catalogs);if(i||o)return Aa(a,n,r)}}let s=[...Ea(i.dep),`overrides`],c=RegExp(`"(${s.join(`|`)})"s*:[^}]*`,`g`),l=t.replace(c,e=>Object.entries(r).reduce((e,[t])=>{let i=`"${t}"\\s*:\\s*("|{\\s*"."\\s*:\\s*")(${ja(n[t])})"`,a=new RegExp(i,`g`);return e.replace(a,(e,n)=>`"${t}${n?`": ${n}`:`: `}${r[t]}"`)},e));if(s.includes(`packageManager`)){let e=JSON.parse(t);if(e.packageManager){let[t]=e.packageManager.split(`@`);r[t]&&(l=l.replace(/"packageManager"\s*:\s*".*?@[^"]*"/,`"packageManager": "${t}@${r[t]}"`))}}return l}const Na=(e,t,n,{spawnOptions:r,spawnPleaseOptions:i}={})=>{n&&console.log(P.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`?ei:t.packageManager===`yarn`?da:t.packageManager===`bun`?Vr:Or)(e,o,i,a)},Pa=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 wa(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},Fa=async(e,t)=>{await Me();let r=t.packageManager===`yarn`?`yarn.lock`:t.packageManager===`pnpm`?`pnpm-lock.yaml`:t.packageManager===`bun`?`bun.lock`:`package-lock.json`,{pkg:i,pkgFile:a}=await Pa(t),s={...i.dependencies,...i.devDependencies,...i.optionalDependencies},c=async()=>{if(t.doctorInstall){let[e,...r]=t.doctorInstall.split(` `);console.log(P.blue(t.doctorInstall)),await n(e,r)}else await Na([`install`],{packageManager:t.packageManager},!0)},l=async()=>{let e={stderr:e=>{console.error(P.red(e.toString()))},stdout:e=>{process.stdout.write(e.toString())}};if(t.doctorTest){let r=t.doctorTest.matchAll(/"(.+?)"|'(.+?)'|[^ ]+/g),i=[];for(let e of r)i=[...i,e[2]||e[1]||e[0]];let[a,...o]=i;console.log(P.blue(t.doctorTest)),await n(a,o,e)}else await Na([`run`,`test`],{packageManager:t.packageManager},!0,{spawnPleaseOptions:e})};console.log(`Running tests before upgrading`),await c();let u=``;try{u=await o.readFile(r,`utf-8`)}catch{if(t.packageManager===`bun`){r=`bun.lockb`;try{u=await o.readFile(r,`utf-8`)}catch{}}}try{await l()}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(P.blue(`ncu `+process.argv.slice(2).filter(e=>e!==`--doctor`).join(` `))),process.env.NCU_DOCTOR=`1`;let d=await e({...t,silent:!0,doctor:!1});if(Object.keys(d||{}).length===0){console.log(`All dependencies are up-to-date `+P.green.bold(`:)`));return}let f=!1;try{await c(),f=!0,await l(),console.log(`${P.green(`✓`)} Tests pass`),await Dn(t,{current:s,upgraded:d,total:Object.keys(d||{}).length}),console.log(`\n${t.interactive?`Chosen`:`All`} dependencies upgraded and installed ${P.green(`:)`)}`)}catch{console.error(P.red(f?`Tests failed`:`Install failed`)),console.log(`Identifying broken dependencies`),await o.writeFile(`package.json`,a),u?await o.writeFile(r,u):await o.rm(r,{recursive:!0,force:!0});let e=a;if(f)try{await c()}catch{let e=(t.packageManager||`npm`)+` install`;throw Error(`Error: Doctor mode was about to test individual upgrades, but ${P.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 n,p;for([n,p]of Object.entries(d))try{if(await Na([...t.packageManager===`yarn`||t.packageManager===`pnpm`||t.packageManager===`bun`?[`add`]:[`install`,`--no-save`],`${n}@${p}`],{packageManager:t.packageManager},!0),i.scripts?.prepare)try{await Na([`run`,`prepare`],{packageManager:t.packageManager},!0)}catch(e){throw console.error(P.red(`Prepare script failed`)),e}await l(),console.log(` ${P.green(`✓`)} ${n} ${s[n]} → ${p}`),e=await Ma(e,{[n]:s[n]},{[n]:p},t),u=await o.readFile(r,`utf-8`)}catch(i){console.error(` ${P.red(`✗`)} ${n} ${s[n]} → ${p}\n`),console.error(P.red(i)),await o.writeFile(r,u),(t.packageManager===`yarn`||t.packageManager===`pnpm`||t.packageManager===`bun`)&&await o.writeFile(`package.json`,e)}e!==a&&(console.log(`Saving partially upgraded package.json`),await o.writeFile(`package.json`,e)),await c()}};async function Ia(t){let n,r,i=t.packageFile||`package.json`;function a(n,r){if(n!=null){let r=e.resolve(n);B(t,`${t.upgrade?`Upgrading`:`Checking`} ${r}`)}else Z(t,`${P.red(`No ${r}`)}\n\nPlease add a ${r} to the current directory, specify the ${P.cyan(`--packageFile`)} or ${P.cyan(`--packageData`)} options, or pipe a ${r} to stdin and specify ${P.cyan(`--stdin`)}.`,{color:!1});return o.readFile(n,`utf-8`).catch(e=>{Z(t,e)})}if(B(t,`Running in local mode`,`verbose`),B(t,`Finding package file data`,`verbose`),t.packageData)r=null,n=Promise.resolve(t.packageData);else if(t.packageFile)r=t.packageFile,n=a(r,i);else if(t.stdin){B(t,`Waiting for package data on stdin`,`verbose`);let e=await ne(process.stdin),o=e.trim().length>0?e:null;r=o||!i?null:await E(i),n=o||a(await r,i)}else r=i?await E(!t.packageFile&&t.packageManager===`deno`?[`deno.json`,`deno.jsonc`]:i,{cwd:t.cwd||process.cwd()}):null,n=a(r,i);return{pkgData:await n,pkgFile:r||null,pkgPath:i}}function La(e){return{ignore:[`**/node_modules/**`,...typeof e.ignore==`string`?[e.ignore]:e.ignore||[]]}}const Ra=async t=>{let n=e.join(e.dirname(t),`pnpm-workspace.yaml`),r;try{r=await o.readFile(n,`utf-8`)}catch{return null}return k.load(r)},za=async(e,t)=>{let n={};if(e.packageManager===`pnpm`||e.catalogs){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 o.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(t,n,r,i){let{pkgData:a,pkgPath:o}=await Ia({...t,packageFile:r,loglevel:`silent`}),s=(typeof a==`string`?JSON.parse(a):a).workspaces||await Ra(o||``),c=Array.isArray(s)?s:s?.packages;c||Z(t,`workspaces property missing from package.json. --workspace${t.workspaces?`s`:``} only works when you specify a "workspaces" property in your package.json.`);let l=(c||[]).map(t=>e.join(i,t,`package.json`).replace(/\\/g,`/`)),u=La(t),d=re.sync(l,u),f=await Promise.all(d.map(async e=>{let n=await wa(t,e);return n.name=n.pkg.name||e.split(`/`).slice(-2)[0],n})),p=f.map(e=>e.name||``);return t.workspaces===!0?[f,p]:[f.filter(r=>t.workspace?.some(t=>c?.some(a=>r.name===t||r.filepath===e.join(i,e.dirname(a),t,n).replace(/\\/g,`/`)))),p]}async function Va(t,n){if(!n)return null;let r=await za(t,n);if(!r)return null;let i={name:`catalog-dependencies`,version:`1.0.0`,dependencies:r};return{filepath:t.packageManager===`pnpm`||t.catalogs?e.join(e.dirname(n),`pnpm-workspace.yaml`):`${n}#catalog`,pkg:i,pkgFile:JSON.stringify(i,null,2),name:`catalogs`,pnpmWorkspacePath:t.packageManager===`pnpm`||t.catalogs?e.join(e.dirname(n),`pnpm-workspace.yaml`):void 0}}async function Ha(t){let n=t.packageFile||`package.json`,r=t.cwd?T(t.cwd):`./`,i=t.packageFile||(t.cwd?e.join(r,`package.json`):`package.json`),a=t.workspaces===!0||t.workspace!==void 0&&t.workspace.length!==0,o=[];if(!a||t.root===!0){let e=i.replace(/\\/g,`/`),n=La(t),r=re.sync(e,n),a=await Promise.all(r.map(async e=>await wa(t,e)));o=[...o,...a]}let s=(e=>e.includes(`*`))(i)?await E(`package.json`,{cwd:t.cwd||process.cwd()}):i;if(!a){if(t.catalogs){let{pkgPath:e}=await Ia({...t,packageFile:s,loglevel:`silent`});if(e){let n=await Va(t,e);n&&(o=[...o,n])}}return[o,[]]}let c=null;if(a){let{pkgPath:e}=await Ia({...t,packageFile:s,loglevel:`silent`});e&&(c=await Va(t,e))}let[l,u]=await Ba(t,n,i,r);if(o=[...o,...l],c&&(o=[...o,c]),t.ignore){let n=Array.isArray(t.ignore)?t.ignore:[t.ignore];o=o.filter(t=>{let i=e.relative(r,t.filepath).replace(/\\/g,`/`),a=e.dirname(i).replace(/\\/g,`/`);return!n.some(e=>{let t=ie(e);return t(i)||t(a)||t(`${a}/`)})})}return[o,u]}async function Ua({configFileName:t,configFilePath:n,packageFile:r,global:a,options:o}){let{default:s,Chalk:c}=await import(`chalk`),l=o?.color?new c({level:1}):s,u=ae(`ncurc`,{configFileName:t||`.ncurc`,defaultExtension:[`.json`,`.yml`,`.js`],cwd:n||(a?i.homedir():r?e.dirname(r):void 0)}),d=u?.filePath;t&&!d&&Z(o,`Config file ${t} not found in ${n||process.cwd()}`);let{$schema:f,...p}=u?.config||{},m=p;typeof m.format==`string`&&(m.format=G.format.parse(m.format));let h=Object.keys(m).filter(e=>!G[e]);return h.length>0&&(console.error(l.red(`Unknown option${h.length===1?``:`s`} found in config file:`),l.gray(h.join(`, `))),console.info(`Using config file `+d),console.info(`You can change the config file path with ${l.blue(`--configFilePath`)}`)),{filePath:d,args:Object.entries(m).flatMap(([e,t])=>typeof t==`boolean`||G[e]?.type===`boolean`?t?[`--${e}`]:[]:[`--${e}`,t]),config:m}}var Wa=M({greatest:()=>Ya,greatestLevel:()=>Xa,latest:()=>Ja,minor:()=>Za,newest:()=>eo,patch:()=>Qa,semver:()=>$a});const Ga=ce(se.execFile);async function Ka(e){let t=(await Ga(`git`,[`ls-remote`,`--tags`,e])).stdout,n={};for(let e of t.trim().split(`
346
346
  `)){let t=e.split(` `);n[t[1].replace(/^refs\/tags\/|\^{}$/g,``)]=t[0]}return n}async function qa(e,t,n){t=t.replace(/^github:/,``);let{auth:r,protocol:i,host:a,path:o}=l(t),s;try{if(i!==null)s=await Ka(`${i?i.replace(`git+`,``):`https:`}//${r?r+`@`:``}${a}/${o?.replace(/^:/,``)}`);else try{s=await Ka(`ssh://git@${a}/${o?.replace(/^:/,``)}`)}catch{s=await Ka(`https://${r?r+`@`:``}${a}/${o}`)}}catch{B(n??{},`Invalid, private repo, or no tags for ${e}: ${t}`,`verbose`);return}return Object.keys(s).map(cn).filter(e=>h(e)).sort($t)}const Ja=async(e,t,n)=>{let r=await qa(e,t,n);if(!r)return{version:null};let i=n?.pre?r:r.filter(e=>!tn(e)),a=i[i.length-1];return{version:a?vn(t,a):null}},Ya=async(e,t,n)=>{let r=await qa(e,t,n);if(!r)return{version:null};let i=r[r.length-1];return{version:i?vn(t,i):null}},Xa=e=>async(t,n,r={})=>{let i=decodeURIComponent(l(n).branch).replace(/^semver:/,``),a=await qa(t,n,r);if(!a)return{version:null};let o=en(a.map(e=>e.replace(/^v/,``)),i,e);return{version:o?vn(n,o):null}},Za=Xa(`minor`),Qa=Xa(`patch`),$a=async(e,t,n)=>({version:null}),eo=Ya;var to=M({latest:()=>io});const no=e=>e&&e.startsWith(`http://`)||e.startsWith(`https://`),ro=S(async e=>{let t=e.registry,n;if(no(t))n=await(await fetch(t)).text();else try{n=await o.readFile(t,`utf8`)}catch{Z(e,`\nThe specified static registry file does not exist: ${e.registry}`)}return JSON.parse(n)}),io=async(e,t,n)=>({version:(await ro(n||{}))[e]||null});var Q={npm:mr,pnpm:Wr,yarn:ta,bun:Br,gitTags:Wa,staticRegistry:to};function ao(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 oo(e){try{return new URL(e),!0}catch{return!1}}async function so(e,{cli:t}={}){let{default:n,Chalk:r}=await import(`chalk`),i=e.color?new r({level:1}):n;if(!t){let t=Wn.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,Pt.default)(a));!s&&o!==`silent`&&a.rcConfigPath&&!a.doctor&&B(a,`Using config file ${a.rcConfigPath}`);let c=Wn.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`)),Wn.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 Pe(a.cwd)&&Z(a,`No such directory: ${a.cwd}`);let l=ao(a.args),u=ao(a.filter),d=ao(a.filterVersion),f=ao(a.reject),p=ao(a.rejectVersion),m=a.registryType||(a.registry?.endsWith(`.json`)?`json`:`npm`);if(a.filter&&l&&!oe(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&&!oo(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 Yn(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 In(v);let y=N(v,(e,t)=>t===void 0?null:{[e]:t});return!a.packageManager&&_!==`npm`&&B(y,`Using ${_}`),y}function co(e,t){return Array.from(new Set([...e||[],...t||[]]))}function lo(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]=co(n[e],r[e]))}),i}var uo=Ce(ti(),1);function fo(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(ue(t=>ie(t)(e),t=>!t.includes(`/`)&&e.includes(`/`)&&ie(t)(e.replace(/\//g,`_`))))}else if(Array.isArray(e))t=(t,n)=>e.some(e=>fo(e)(t,n));else if(e instanceof RegExp)t=t=>e.test(t);else if(typeof e==`function`)t=(t,n)=>e(t,y(n??t));else throw TypeError(`Invalid filter. Must be a RegExp, array, or comma-or-space-delimited list.`);return t}function po(e,t,n,r){return le((n,r)=>le(e?fo(e):!0,t?(...e)=>!fo(t)(...e):!0)(n,r),(e,t)=>le(n?fo(n):!0,r?(...e)=>!fo(r)(...e):!0)(t))}function mo(e,t){return!t||t===`deno`?Q.npm:e.registryType===`json`?Q.staticRegistry:(Q[t]||Z(e,`Invalid package manager: ${t}`),Q[t])}async function ho(e={}){let t=await mo(e,e.packageManager).list?.({cwd:e.cwd,prefix:e.prefix,global:e.global});t||Z(e,`Unable to retrieve package list`);let n=po(e.filter,e.reject,e.filterVersion,e.rejectVersion),r={};try{r=F(t,(e,t)=>!!t&&!qt(t)&&n(e,t))}catch(t){Z(e,`Invalid filter: `+t.message||t)}return r}const go=typeof fe==`function`?fe:fe.default;function _o(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 vo(e,t){let n=mo(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 de(`[:bar] :current/:total :percent`,{total:r,width:20}),i.render());let a=await go(Object.entries(e),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}),o={};for(let{pkg:e,dependencies:t}of a){o[e]=t;let n=_o(o,e);n.isCircular&&delete o[e][n.offendingPackage]}return await t.cacher?.save(),t.cacher?.log(!0),o}function yo(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 bo=[`latest`,`newest`,`greatest`,`minor`,`patch`,`semver`],xo=(e,t)=>u.validRange(e)&&u.validRange(t)&&u.gt(u.minVersion(e),u.minVersion(t)),So=e=>e===`catalog:*`||e.startsWith(`catalog:`),Co=e=>{if(!e.packageManager)return{};let[t,n]=e.packageManager.split(`@`);return{[t]:n}};function wo(e={},t={}){let n=Ea(t.dep).reduce((t,n)=>({...t,...n===`packageManager`?Co(e):F(e[n]||{},(e,n)=>!xo(n,t[e]))}),{}),r=N(t.workspacePackages||[]),i={};try{i=F(F(n,e=>!r[e]),po(t.filter||null,t.reject||null,t.filterVersion||null,t.rejectVersion||null))}catch(e){Z(t,`Invalid filter: `+e.message||e)}return i}async function To(e,t={}){let{default:n,Chalk:r}=await import(`chalk`),i=t.color?new r({level:1}):n,a=Object.keys(e),o=mo(t,t.packageManager),s;t.catalogs&&e&&Object.keys(e).length>0&&a.length,!t.json&&t.loglevel!==`silent`&&t.loglevel!==`verbose`&&(t.isCatalogFile&&a.length>0?s=new de(`Checking [:bar] :current/:total :percent`,{total:a.length,width:20}):a.length>0&&(s=new de(`[:bar] :current/:total :percent`,{total:a.length,width:20})),s?.render());async function c(n){if(So(e[n]))return s?.tick(),{version:e[n]};let r=dn(e[n]),[a,c]=r||[n,e[n]],l=t.target||`latest`,u=typeof l==`string`?l:l(a,y(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=mn(e[n]),g=h?Q.gitTags:o,_=h?`github urls`:t.packageManager||`npm`,v=g[d];if(!v){let e=bo.filter(e=>e in g);Z(t,i.red(`\nUnsupported target "${d}" using ${_}`)+`
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&&!oo(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 Yn(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 In(v);let y=N(v,(e,t)=>t===void 0?null:{[e]:t});return!a.packageManager&&_!==`npm`&&B(y,`Using ${_}`),y}function co(e,t){return Array.from(new Set([...e||[],...t||[]]))}function lo(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]=co(n[e],r[e]))}),i}var uo=Ce(ti(),1);function fo(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(ue(t=>ie(t)(e),t=>!t.includes(`/`)&&e.includes(`/`)&&ie(t)(e.replace(/\//g,`_`))))}else if(Array.isArray(e))t=(t,n)=>e.some(e=>fo(e)(t,n));else if(e instanceof RegExp)t=t=>e.test(t);else if(typeof e==`function`)t=(t,n)=>e(t,y(n??t));else throw TypeError(`Invalid filter. Must be a RegExp, array, or comma-or-space-delimited list.`);return t}function po(e,t,n,r){return le((n,r)=>le(e?fo(e):!0,t?(...e)=>!fo(t)(...e):!0)(n,r),(e,t)=>le(n?fo(n):!0,r?(...e)=>!fo(r)(...e):!0)(t))}function mo(e,t){return!t||t===`deno`?Q.npm:e.registryType===`json`?Q.staticRegistry:(Q[t]||Z(e,`Invalid package manager: ${t}`),Q[t])}async function ho(e={}){let t=await mo(e,e.packageManager).list?.({cwd:e.cwd,prefix:e.prefix,global:e.global});t||Z(e,`Unable to retrieve package list`);let n=po(e.filter,e.reject,e.filterVersion,e.rejectVersion),r={};try{r=F(t,(e,t)=>!!t&&!qt(t)&&n(e,t))}catch(t){Z(e,`Invalid filter: `+t.message||t)}return r}const go=typeof fe==`function`?fe:fe.default;function _o(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 vo(e,t){let n=mo(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 de(`[:bar] :current/:total :percent`,{total:r,width:20}),i.render());let a=await go(Object.entries(e),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}),o={};for(let{pkg:e,dependencies:t}of a){o[e]=t;let n=_o(o,e);n.isCircular&&delete o[e][n.offendingPackage]}return await t.cacher?.save(),t.cacher?.log(!0),o}function yo(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 bo=[`latest`,`newest`,`greatest`,`minor`,`patch`,`semver`],xo=(e,t)=>u.validRange(e)&&u.validRange(t)&&u.gt(u.minVersion(e),u.minVersion(t)),So=e=>e===`catalog:*`||e.startsWith(`catalog:`),Co=e=>{if(!e.packageManager)return{};let[t,n]=e.packageManager.split(`@`);return{[t]:n}};function wo(e,t){let n=N(t.workspacePackages||[]);try{return F(F(e,e=>!n[e]),po(t.filter||null,t.reject||null,t.filterVersion||null,t.rejectVersion||null))}catch(e){return Z(t,`Invalid filter: `+e.message||e),{}}}function To(e={},t={}){return wo(Ea(t.dep).reduce((t,n)=>({...t,...n===`packageManager`?Co(e):F(e[n]||{},(e,n)=>!xo(n,t[e]))}),{}),t)}async function Eo(e,t={}){let{default:n,Chalk:r}=await import(`chalk`),i=t.color?new r({level:1}):n,a=Object.keys(e),o=mo(t,t.packageManager),s;t.catalogs&&e&&Object.keys(e).length>0&&a.length,!t.json&&t.loglevel!==`silent`&&t.loglevel!==`verbose`&&(t.isCatalogFile&&a.length>0?s=new de(`Checking [:bar] :current/:total :percent`,{total:a.length,width:20}):a.length>0&&(s=new de(`[:bar] :current/:total :percent`,{total:a.length,width:20})),s?.render());async function c(n){if(So(e[n]))return s?.tick(),{version:e[n]};let r=dn(e[n]),[a,c]=r||[n,e[n]],l=t.target||`latest`,u=typeof l==`string`?l:l(a,y(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=mn(e[n]),g=h?Q.gitTags:o,_=h?`github urls`:t.packageManager||`npm`,v=g[d];if(!v){let e=bo.filter(e=>e in g);Z(t,i.red(`\nUnsupported target "${d}" using ${_}`)+`
348
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(`@`)||tn(c):t.pre,retry:t.retry??2}).catch(e=>({error:e?.body?.error||e.toString()})),m.version=!h&&r&&m?.version?un(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 go(a,c,{concurrency:t.concurrency});return await t.cacher?.save(),t.cacher?.log(),N(l,(e,t)=>e.version||e.error?{[a[t]]:e}:null)}var Eo=j(((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})),Do=j(((e,t)=>{var n=Ue(),r=We(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),Oo=j(((e,t)=>{var n=Do(),r=We(),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`)}})),ko=j(((e,t)=>{var n=Be(),r=Oo(),i=I(),a=n?n.isConcatSpreadable:void 0;function o(e){return i(e)||r(e)||!!(a&&e&&e[a])}t.exports=o})),Ao=j(((e,t)=>{var n=Eo(),r=ko();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})),jo=j(((e,t)=>{var n=Ao();function r(e){return e!=null&&e.length?n(e,1):[]}t.exports=r})),Mo=j(((e,t)=>{var n=ci(),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})),No=j(((e,t)=>{var n=jo(),r=Mo(),i=Ai();function a(e){return i(r(e,void 0,n),e+``)}t.exports=a})),Po=j(((e,t)=>{var n=vi(),r=No(),i=hi(),a=_i(),o=I(),s=Si(),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})),Fo=Ce(j(((e,t)=>{t.exports=Po()()}))(),1);function Io(e){if(Object.keys(e).length===0)return null;let t=Object.values(e).reduce((e,t)=>{let n=zt.find(e=>t&&t.includes(e));return n!==void 0&&(e[n]||=[],e[n].push(t)),e},{}),n=Ft(Object.entries(t).map(([e,t])=>({wildcard:e,instances:t})),e=>-e.instances.length);return n.length>0?n[0].wildcard:null}function Lo(e,t,{downgrade:n}={}){if(!u.validRange(e)||Kt(e))return!1;let[r]=_.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=cn(t),a=z(r),o=!!u.validRange(a),s=!!u.valid(i);return o&&s&&(!Qt(i,a)||!u.satisfies(i,r.operator===`<`?e:a)&&(n||!u.ltr(i,a)))}function Ro(e,t,n={}){let r=n.target||`latest`;e=F(e,(e,t)=>!!t);let i=Io(e)||`^`,a=(e,t)=>gn(e,t,{wildcard:i,removeRange:n.removeRange});return(0,Fo.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(fn(r)&&(a=dn(r)[1]),fn(i)&&(o=dn(i)[1]),mn(r)){let[e]=y(hn(r));a=z(e)}if(mn(i)){let[e]=y(hn(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=tn(e)&&(typeof r==`string`?r:r(a,y(e))).startsWith(`@`),s=t||e,c=i||n,l=e=>{try{if(d.valid(e))return e;let t=d.minVersion(e);return t?t.version:null}catch{return null}},u=l(s),f=l(c),p=u&&f&&d.gt(u,f);return Lo(s,c,{downgrade:o})||p}),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]=fn(n)?pn(n,s):mn(n)?vn(n,s):s,e},{})])(e)}const zo=(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||!g(t)||f(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 Bo(e,t){let n=await To(e,t),r=N(n,(n,r)=>r?.version&&(!t.filterResults||t.filterResults(n,{currentVersion:e[n],currentVersionSemver:y(e[n]),upgradedVersion:r.version,upgradedVersionSemver:v(r.version)}))?{[n]:r.version}:null);if(t.pinVersions)for(let[e,n]of Object.entries(t.pinVersions))e in r&&(r[e]=n);let i=$(Ro(e,r,t),(n,i)=>!t.jsonUpgraded||!t.minimal||!m(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 vo(a,t),s;if(oe(t.peerDependencies,{...t.peerDependencies,...r})){if(s=zo(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(oe(t.peerDependencies,r))return[{},n,t.peerDependencies];let[i,a,l]=await Bo({...e,...s.filteredUpgradedDependencies},{...t,peerDependencies:r,loglevel:`silent`});o=[{...s.filteredUpgradedDependencies,...i},{...n,...a},l],s=zo(e,o[0],o[2])}while(s.violated)}return o}async function Vo(e){B(e,`
351
+ `),e}return s?.tick(),m.version&&t.cacher?.set(a,d,m.version),m}let l=await go(a,c,{concurrency:t.concurrency});return await t.cacher?.save(),t.cacher?.log(),N(l,(e,t)=>e.version||e.error?{[a[t]]:e}:null)}var Do=j(((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})),Oo=j(((e,t)=>{var n=Ue(),r=We(),i=`[object Arguments]`;function a(e){return r(e)&&n(e)==i}t.exports=a})),ko=j(((e,t)=>{var n=Oo(),r=We(),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`)}})),Ao=j(((e,t)=>{var n=Be(),r=ko(),i=I(),a=n?n.isConcatSpreadable:void 0;function o(e){return i(e)||r(e)||!!(a&&e&&e[a])}t.exports=o})),jo=j(((e,t)=>{var n=Do(),r=Ao();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})),Mo=j(((e,t)=>{var n=jo();function r(e){return e!=null&&e.length?n(e,1):[]}t.exports=r})),No=j(((e,t)=>{var n=ci(),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})),Po=j(((e,t)=>{var n=Mo(),r=No(),i=Ai();function a(e){return i(r(e,void 0,n),e+``)}t.exports=a})),Fo=j(((e,t)=>{var n=vi(),r=Po(),i=hi(),a=_i(),o=I(),s=Si(),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})),Io=Ce(j(((e,t)=>{t.exports=Fo()()}))(),1);function Lo(e){if(Object.keys(e).length===0)return null;let t=Object.values(e).reduce((e,t)=>{let n=zt.find(e=>t&&t.includes(e));return n!==void 0&&(e[n]||=[],e[n].push(t)),e},{}),n=Ft(Object.entries(t).map(([e,t])=>({wildcard:e,instances:t})),e=>-e.instances.length);return n.length>0?n[0].wildcard:null}function Ro(e,t,{downgrade:n}={}){if(!u.validRange(e)||Kt(e))return!1;let[r]=_.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=cn(t),a=z(r),o=!!u.validRange(a),s=!!u.valid(i);return o&&s&&(!Qt(i,a)||!u.satisfies(i,r.operator===`<`?e:a)&&(n||!u.ltr(i,a)))}function zo(e,t,n={}){let r=n.target||`latest`;e=F(e,(e,t)=>!!t);let i=Lo(e)||`^`,a=(e,t)=>gn(e,t,{wildcard:i,removeRange:n.removeRange});return(0,Io.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(fn(r)&&(a=dn(r)[1]),fn(i)&&(o=dn(i)[1]),mn(r)){let[e]=y(hn(r));a=z(e)}if(mn(i)){let[e]=y(hn(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=tn(e)&&(typeof r==`string`?r:r(a,y(e))).startsWith(`@`),s=t||e,c=i||n,l=e=>{try{if(d.valid(e))return e;let t=d.minVersion(e);return t?t.version:null}catch{return null}},u=l(s),f=l(c),p=u&&f&&d.gt(u,f);return Ro(s,c,{downgrade:o})||p}),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]=fn(n)?pn(n,s):mn(n)?vn(n,s):s,e},{})])(e)}const Bo=(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||!g(t)||f(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 Vo(e,t){let n=await Eo(e,t),r=N(n,(n,r)=>r?.version&&(!t.filterResults||t.filterResults(n,{currentVersion:e[n],currentVersionSemver:y(e[n]),upgradedVersion:r.version,upgradedVersionSemver:v(r.version)}))?{[n]:r.version}:null);if(t.pinVersions)for(let[e,n]of Object.entries(t.pinVersions))e in r&&(r[e]=n);let i=$(zo(e,r,t),(n,i)=>!t.jsonUpgraded||!t.minimal||!m(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 vo(a,t),s;if(oe(t.peerDependencies,{...t.peerDependencies,...r})){if(s=Bo(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(oe(t.peerDependencies,r))return[{},n,t.peerDependencies];let[i,a,l]=await Vo({...e,...s.filteredUpgradedDependencies},{...t,peerDependencies:r,loglevel:`silent`});o=[{...s.filteredUpgradedDependencies,...i},{...n,...a},l],s=Bo(e,o[0],o[2])}while(s.violated)}return o}async function Ho(e){B(e,`
352
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 ho({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 Bo(t,e);B(e,r,`verbose`);let i=N(r,(e,t)=>t.time?{[e]:t.time}:null),a=Object.keys(n);await Dn(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)xn(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,`
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 ho({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 Vo(t,e);B(e,r,`verbose`);let i=N(r,(e,t)=>t.time?{[e]:t.time}:null),a=Object.keys(n);await Dn(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)xn(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
354
  `+P.cyan(`ncu`)+` itself cannot upgrade global packages. Run the following to upgrade all global packages:
355
355
 
356
356
  `+P.cyan(`${t} `+o)+`
357
- `)}return e.cli&&e.errorLevel===2&&a.length>0&&process.exit(1),n}async function Ho(e,t){let n=mo(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 de(`[: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({}))}const Uo=(e,t)=>!e||m(t,e);async function Wo(e,t,n={}){if(!n.nodeEngineVersion)return{};let r=p(n.nodeEngineVersion)?.version;if(!r)return{};let[i,a]=await Bo(e,{...n,enginesNode:!1,nodeEngineVersion:void 0,loglevel:`silent`}),o=await Ho(N(a,(e,t)=>i[e]&&t?.version?{[e]:t.version}:null),n);return Object.entries(i).filter(([e,n])=>t[e]!==n&&!Uo(o[e],r)).reduce((t,[n,r])=>({...t,[n]:{from:e[n],to:r,enginesNode:o[n]}}),{})}async function Go(e,t,n,r={}){let i={...e,...t},[a,o]=await Bo(e,{...r,peer:!1,peerDependencies:void 0,loglevel:`silent`}),s=await vo(Object.fromEntries(Object.entries(a).map(([e,t])=>[e,g(t)?p(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&&!m(o[r].version,e[r])).reduce((e,[t,n])=>({...e,[t]:g(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]&&!(!g(t)||f(i[e],t))).reduce((e,[t,n])=>({...e,[r]:`${t} ${n}`}),{})}return{...t,[r]:{from:e[r],to:a,reason:c}}},{})}const Ko=process.stdout.columns||80;function qo(e){return`${e.length?e.slice(0,Math.min(e.length,Ko)):`<empty>`}\n`}function Jo(e){return e>Ko?``:`${` `.repeat(e-1)}^\n`}function Yo(e,t,n){let r=e.length;if(r===0)return`<empty>`;if(r===1)return`${qo(e[0])}${Jo(n)}`;let i=Math.min(t+2,r),a=``;for(let r=Math.max(t-2,1);r<=i;r++)a+=qo(e[r-1]),r===t&&(a+=Jo(n));return`${a}\n`}function Xo(e){e=he(e);try{return JSON.parse(e)}catch{let t=[],n=me(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}: ${pe[e.error]}\n${Yo(i,n,a)}\n`}throw SyntaxError(r)}}const Zo=`
357
+ `)}return e.cli&&e.errorLevel===2&&a.length>0&&process.exit(1),n}async function Uo(e,t){let n=mo(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 de(`[: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({}))}const Wo=(e,t)=>!e||m(t,e);async function Go(e,t,n={}){if(!n.nodeEngineVersion)return{};let r=p(n.nodeEngineVersion)?.version;if(!r)return{};let[i,a]=await Vo(e,{...n,enginesNode:!1,nodeEngineVersion:void 0,loglevel:`silent`}),o=await Uo(N(a,(e,t)=>i[e]&&t?.version?{[e]:t.version}:null),n);return Object.entries(i).filter(([e,n])=>t[e]!==n&&!Wo(o[e],r)).reduce((t,[n,r])=>({...t,[n]:{from:e[n],to:r,enginesNode:o[n]}}),{})}async function Ko(e,t,n,r={}){let i={...e,...t},[a,o]=await Vo(e,{...r,peer:!1,peerDependencies:void 0,loglevel:`silent`}),s=await vo(Object.fromEntries(Object.entries(a).map(([e,t])=>[e,g(t)?p(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&&!m(o[r].version,e[r])).reduce((e,[t,n])=>({...e,[t]:g(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]&&!(!g(t)||f(i[e],t))).reduce((e,[t,n])=>({...e,[r]:`${t} ${n}`}),{})}return{...t,[r]:{from:e[r],to:a,reason:c}}},{})}const qo=process.stdout.columns||80;function Jo(e){return`${e.length?e.slice(0,Math.min(e.length,qo)):`<empty>`}\n`}function Yo(e){return e>qo?``:`${` `.repeat(e-1)}^\n`}function Xo(e,t,n){let r=e.length;if(r===0)return`<empty>`;if(r===1)return`${Jo(e[0])}${Yo(n)}`;let i=Math.min(t+2,r),a=``;for(let r=Math.max(t-2,1);r<=i;r++)a+=Jo(e[r-1]),r===t&&(a+=Yo(n));return`${a}\n`}function Zo(e){e=he(e);try{return JSON.parse(e)}catch{let t=[],n=me(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}: ${pe[e.error]}\n${Xo(i,n,a)}\n`}throw SyntaxError(r)}}const Qo=`
359
359
  ↑/↓: Select a package
360
360
  Space: Toggle selection
361
361
  a: Toggle all
362
- Enter: Upgrade`;function Qo(e,t){let n=e?Zo.split(`
363
- `).length:0;return process.stdout.rows?Math.max(3,process.stdout.rows-n-1-(t?.length??0)*2):50}async function $o(e,t,n){let r=mo(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 es=async(e,n,r,i)=>{let a=[],o=process.stdout.rows>18,s=N((await wn({from:e,to:n,format:i.format,pkgFile:r||void 0})).toString().split(`
362
+ Enter: Upgrade`;function $o(e,t){let n=e?Qo.split(`
363
+ `).length:0;return process.stdout.rows?Math.max(3,process.stdout.rows-n-1-(t?.length??0)*2):50}async function es(e,t,n){let r=mo(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 ts=async(e,n,r,i)=>{let a=[],o=process.stdout.rows>18,s=N((await wn({from:e,to:n,format:i.format,pkgFile:r||void 0})).toString().split(`
364
364
  `),e=>({[e.trim().split(` `)[0]]:e.trim()}));if(Object.keys(n).length>0)if(B(i,``),i.format?.includes(`group`)){let r=Yt(n,e,i);a=(await t({choices:[...r.flatMap(({heading:e,groupName:t,packages:n})=>[{title:`
365
- `+e,heading:!0},...Object.keys(n).sort().map(e=>({title:s[e],value:e,selected:[`patch`,`minor`].includes(t)}))]),{title:` `,heading:!0}],hint:o&&Zo,instructions:!1,message:`Choose which packages to update`,name:`value`,optionsPerPage:Qo(o,r),type:`multiselect`,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})).value}else a=(await t({choices:[...Object.keys(n).sort().map(e=>({title:s[e],value:e,selected:!0})),{title:` `,heading:!0}],hint:o&&Zo+`
366
- `,instructions:!1,message:`Choose which packages to update`,name:`value`,optionsPerPage:Qo(o),type:`multiselect`,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})).value;return N(a,e=>({[e]:n[e]}))};async function ts(e,t,n){B(e,`
367
- Options:`,`verbose`),V(e,e,`verbose`);let r;try{t?r=Xo(t):Z(e,`Missing package data`)}catch(t){Z(e,`Invalid package file${n?`: ${n}`:` from stdin`}. Error details:\n${t.message}`)}let i=e.isCatalogFile,a=i&&r.dependencies?r.dependencies:wo(r,e),s=i?a:Object.fromEntries(Object.entries(a).filter(([,e])=>!So(e)));B(e,`
368
- Current versions:`,`verbose`),B(e,s,`verbose`),e.enginesNode&&(e.nodeEngineVersion=r?.engines?.node),e.peer&&(e.peerDependencies=await vo(Object.fromEntries(Object.entries(s).map(([e,t])=>[e,d.validRange(t)?d.minVersion(t)?.version??t:t])),e));let[c,l,u]=await Bo(s,e),f=N(l,(e,t)=>t.version?{[e]:t.version}:null),p=N(l,(e,t)=>t.error?{[e]:t.error}:null),m=N(l,(e,t)=>t.time?{[e]:t.time}:null);e.peer&&(B(e,`
365
+ `+e,heading:!0},...Object.keys(n).sort().map(e=>({title:s[e],value:e,selected:[`patch`,`minor`].includes(t)}))]),{title:` `,heading:!0}],hint:o&&Qo,instructions:!1,message:`Choose which packages to update`,name:`value`,optionsPerPage:$o(o,r),type:`multiselect`,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})).value}else a=(await t({choices:[...Object.keys(n).sort().map(e=>({title:s[e],value:e,selected:!0})),{title:` `,heading:!0}],hint:o&&Qo+`
366
+ `,instructions:!1,message:`Choose which packages to update`,name:`value`,optionsPerPage:$o(o),type:`multiselect`,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})).value;return N(a,e=>({[e]:n[e]}))};async function ns(e,t,n){B(e,`
367
+ Options:`,`verbose`),V(e,e,`verbose`);let r;try{t?r=Zo(t):Z(e,`Missing package data`)}catch(t){Z(e,`Invalid package file${n?`: ${n}`:` from stdin`}. Error details:\n${t.message}`)}let i=e.isCatalogFile,a=i&&r.dependencies?wo(r.dependencies,e):To(r,e),s=i?a:Object.fromEntries(Object.entries(a).filter(([,e])=>!So(e)));B(e,`
368
+ Current versions:`,`verbose`),B(e,s,`verbose`),e.enginesNode&&(e.nodeEngineVersion=r?.engines?.node),e.peer&&(e.peerDependencies=await vo(Object.fromEntries(Object.entries(s).map(([e,t])=>[e,d.validRange(t)?d.minVersion(t)?.version??t:t])),e));let[c,l,u]=await Vo(s,e),f=N(l,(e,t)=>t.version?{[e]:t.version}:null),p=N(l,(e,t)=>t.error?{[e]:t.error}:null),m=N(l,(e,t)=>t.time?{[e]:t.time}:null);e.peer&&(B(e,`
369
369
  upgradedPeerDependencies:`,`verbose`),B(e,u,`verbose`)),B(e,`\n${typeof e.target==`string`?`${e.target[0].toUpperCase()}${e.target.slice(1)}`:`Fetched`} versions:`,`verbose`),B(e,f,`verbose`),B(e,`
370
- Upgraded versions:`,`verbose`),B(e,c,`verbose`);let h=e.minimal?N(c,(e,t)=>d.satisfies(f[e],s[e])?null:{[e]:t}):c,g=(e.format||[]).includes(`ownerChanged`)?await $o(s,h,e):void 0,_=e.interactive?await es(s,h,n,e):h;if(!e.json||e.deep){if(await Dn(e.interactive?{...e,format:(e.format||[]).filter(e=>e!==`group`)}:e,{current:s,upgraded:_,total:Object.keys(c).length,latest:l,ownersChangedDeps:g,pkgFile:n||void 0,errors:p,time:m}),e.peer){let t=await Go(s,c,u,e);Object.keys(t).length>0&&On(e,t)}if(e.enginesNode){let t=await Wo(s,c,e);Object.keys(t).length>0&&kn(e,t)}}let v=await Ma(t,s,_,e,n||void 0),y=e.jsonAll?Xo(v):e.jsonDeps?yo(Xo(v),Ea(e.dep)):_,b;if(e.json&&!e.deep&&xn(e,y),Object.keys(h).length>0&&n)if(e.upgrade)b=o.writeFile(n.replace(`#catalog`,``),v);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 ${P.cyan(`${t}${r} -u`)} to upgrade ${e.packageFile||`package.json`}`)}return await b,y}function ns(e){return e}process.env.INJECT_PROMPTS&&t.inject(JSON.parse(process.env.INJECT_PROMPTS));let rs=!1;process.on(`unhandledRejection`,e=>{console.error(e),rs=!0});const is=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.
370
+ Upgraded versions:`,`verbose`),B(e,c,`verbose`);let h=e.minimal?N(c,(e,t)=>d.satisfies(f[e],s[e])?null:{[e]:t}):c,g=(e.format||[]).includes(`ownerChanged`)?await es(s,h,e):void 0,_=e.interactive?await ts(s,h,n,e):h;if(!e.json||e.deep){if(await Dn(e.interactive?{...e,format:(e.format||[]).filter(e=>e!==`group`)}:e,{current:s,upgraded:_,total:Object.keys(c).length,latest:l,ownersChangedDeps:g,pkgFile:n||void 0,errors:p,time:m}),e.peer){let t=await Ko(s,c,u,e);Object.keys(t).length>0&&On(e,t)}if(e.enginesNode){let t=await Go(s,c,e);Object.keys(t).length>0&&kn(e,t)}}let v=await Ma(t,s,_,e,n||void 0),y=e.jsonAll?Zo(v):e.jsonDeps?yo(Zo(v),Ea(e.dep)):_,b;if(e.json&&!e.deep&&xn(e,y),Object.keys(h).length>0&&n)if(e.upgrade)b=o.writeFile(n.replace(`#catalog`,``),v);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 ${P.cyan(`${t}${r} -u`)} to upgrade ${e.packageFile||`package.json`}`)}return await b,y}function rs(e){return e}process.env.INJECT_PROMPTS&&t.inject(JSON.parse(process.env.INJECT_PROMPTS));let is=!1;process.on(`unhandledRejection`,e=>{console.error(e),is=!0});const as=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
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))},as=async(t,n)=>{let r={...t,cwd:t.cwd||e.resolve(n,`..`),packageFile:n};return t.packageManager===`staticRegistry`?await Yn({...r,packageManager:void 0}):t.packageManager&&t.packageManager!==`npm`?t.packageManager:await Yn(r)},os=(e,t)=>{let n=e.length===1?{[e[0]]:t}:t;return Object.values(n).some(e=>Object.keys(e).length>0)},ss=async(r,i,a)=>{if(a.install===`never`){B(a,``);return}if(!os(r,i))return;let o=await as(a,r[0]),s=`Run ${P.cyan(o+` install`)}${r.length>1&&!a.workspace&&!a.workspaces?` in each project directory`:``} to install new versions`,c=a.interactive&&(process.env.NCU_TESTS||!process.env.NCU_DOCTOR),l;if(c&&a.install===`prompt`&&(B(a,``),l=await t({type:`confirm`,name:`value`,message:`${s}?`,initial:!0,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})),a.install===`always`||c&&l.value){a.install===`always`&&B(a,``),B(a,`Installing dependencies...`);let t=a.workspaces||a.workspace?.length?[`package.json`]:r;for await(let r of t){let t=await as(a,r),i=t+(process.platform===`win32`&&t!==`bun`?`.cmd`:``),o=a.cwd||e.resolve(r,`..`),s=``;try{await n(i,[`install`],{stdout:e=>{s+=e},stderr:e=>{console.error(P.red(e.toString()))}},{cwd:o,env:{...process.env,...a.color===!1?null:{FORCE_COLOR:!0},...t===`pnpm`?{npm_config_strict_peer_dependencies:!1}:null}}),B(a,s),B(a,`Done`)}catch(e){let t=e instanceof Error?e.message:String(e||s);throw Error(t,{cause:e})}}}else c||B(a,`\n${s}.`)};async function cs(t,n){let[r,i]=await Ha(t),a=r.map(e=>e.filepath),o=t.workspaces||!!t.workspace?.length;t.deep=t.deep||o||r.length>1;let s;if(t.global){let e=await Vo(t);return clearTimeout(n),e}else if(t.deep)s=await r.reduce(async(n,r)=>{let a=await n,o=(await Ua({packageFile:r.filepath,options:t})).config;t.mergeConfig&&Object.keys(o).length&&(o=lo(t,o));let s={...t,...o,packageFile:r.filepath,workspacePackages:i,...r.name===`catalogs`?{isCatalogFile:!0,catalogs:!0,pnpmWorkspacePath:r.pnpmWorkspacePath}:null},c,l,u;if(r.filepath.includes(`#`)||r.name===`catalogs`){c=r.pkgFile,l=r.filepath,u=r.filepath.includes(`#catalog`)?r.filepath.replace(`#catalog`,``):r.filepath;let t=r.name===`catalogs`;B(s,`${s.upgrade?`Upgrading`:`Checking`} ${t&&s.catalogs?`catalog dependencies (${e.basename(r.filepath)})`:e.resolve(u)}`)}else{let e=await Ia(s);c=e.pkgData,l=e.pkgFile||r.filepath,u=l}return{...a,[s.cwd?e.relative(e.resolve(s.cwd),u).replace(/\\/g,`/`):u]:await ts(s,c,l)}},Promise.resolve({})),t.json&&xn(t,s);else{r.length===1&&r[0].filepath!==(t.packageFile||`package.json`)&&(t.packageFile=r[0].filepath);let{pkgData:e,pkgFile:n}=await Ia(t);s=await ts(t,e,n)}return clearTimeout(n),t.errorLevel===2&&os(a,s)&&Z(t,`
373
- Dependencies not up-to-date`),t.upgrade&&(t.packageManager===`deno`?B(t,``):await ss(a,s,t)),s}async function ls(e={},{cli:t}={}){let n=await so(e,{cli:t}),r=De.url;process.on(`exit`,()=>{rs&&Z(n,`Unhandled Rejection! This is a bug and should be reported: ${r}`)}),await Me(n.color),is(n),B(n,`Initializing`,`verbose`),n.cacheClear&&await Fn(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,Fa(ls,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,cs(n,i)])}export{Wn as a,Ee as c,Ua as i,Oe as l,ns as n,Hn as o,$ as r,Me as s,ls as t,Te as u};
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))},os=async(t,n)=>{let r={...t,cwd:t.cwd||e.resolve(n,`..`),packageFile:n};return t.packageManager===`staticRegistry`?await Yn({...r,packageManager:void 0}):t.packageManager&&t.packageManager!==`npm`?t.packageManager:await Yn(r)},ss=(e,t)=>{let n=e.length===1?{[e[0]]:t}:t;return Object.values(n).some(e=>Object.keys(e).length>0)},cs=async(r,i,a)=>{if(a.install===`never`){B(a,``);return}if(!ss(r,i))return;let o=await os(a,r[0]),s=`Run ${P.cyan(o+` install`)}${r.length>1&&!a.workspace&&!a.workspaces?` in each project directory`:``} to install new versions`,c=a.interactive&&(process.env.NCU_TESTS||!process.env.NCU_DOCTOR),l;if(c&&a.install===`prompt`&&(B(a,``),l=await t({type:`confirm`,name:`value`,message:`${s}?`,initial:!0,onState:e=>{e.aborted&&process.nextTick(()=>process.exit(1))}})),a.install===`always`||c&&l.value){a.install===`always`&&B(a,``),B(a,`Installing dependencies...`);let t=a.workspaces||a.workspace?.length?[`package.json`]:r;for await(let r of t){let t=await os(a,r),i=t+(process.platform===`win32`&&t!==`bun`?`.cmd`:``),o=a.cwd||e.resolve(r,`..`),s=``;try{await n(i,[`install`],{stdout:e=>{s+=e},stderr:e=>{console.error(P.red(e.toString()))}},{cwd:o,env:{...process.env,...a.color===!1?null:{FORCE_COLOR:!0},...t===`pnpm`?{npm_config_strict_peer_dependencies:!1}:null}}),B(a,s),B(a,`Done`)}catch(e){let t=e instanceof Error?e.message:String(e||s);throw Error(t,{cause:e})}}}else c||B(a,`\n${s}.`)};async function ls(t,n){let[r,i]=await Ha(t),a=r.map(e=>e.filepath),o=t.workspaces||!!t.workspace?.length;t.deep=t.deep||o||r.length>1;let s;if(t.global){let e=await Ho(t);return clearTimeout(n),e}else if(t.deep)s=await r.reduce(async(n,r)=>{let a=await n,o=(await Ua({packageFile:r.filepath,options:t})).config;t.mergeConfig&&Object.keys(o).length&&(o=lo(t,o));let s={...t,...o,packageFile:r.filepath,workspacePackages:i,...r.name===`catalogs`?{isCatalogFile:!0,catalogs:!0,pnpmWorkspacePath:r.pnpmWorkspacePath}:null},c,l,u;if(r.filepath.includes(`#`)||r.name===`catalogs`){c=r.pkgFile,l=r.filepath,u=r.filepath.includes(`#catalog`)?r.filepath.replace(`#catalog`,``):r.filepath;let t=r.name===`catalogs`;B(s,`${s.upgrade?`Upgrading`:`Checking`} ${t&&s.catalogs?`catalog dependencies (${e.basename(r.filepath)})`:e.resolve(u)}`)}else{let e=await Ia(s);c=e.pkgData,l=e.pkgFile||r.filepath,u=l}return{...a,[s.cwd?e.relative(e.resolve(s.cwd),u).replace(/\\/g,`/`):u]:await ns(s,c,l)}},Promise.resolve({})),t.json&&xn(t,s);else{r.length===1&&r[0].filepath!==(t.packageFile||`package.json`)&&(t.packageFile=r[0].filepath);let{pkgData:e,pkgFile:n}=await Ia(t);s=await ns(t,e,n)}return clearTimeout(n),t.errorLevel===2&&ss(a,s)&&Z(t,`
373
+ Dependencies not up-to-date`),t.upgrade&&(t.packageManager===`deno`?B(t,``):await cs(a,s,t)),s}async function us(e={},{cli:t}={}){let n=await so(e,{cli:t}),r=De.url;process.on(`exit`,()=>{is&&Z(n,`Unhandled Rejection! This is a bug and should be reported: ${r}`)}),await Me(n.color),as(n),B(n,`Initializing`,`verbose`),n.cacheClear&&await Fn(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,Fa(us,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,ls(n,i)])}export{Wn as a,Ee as c,Ua as i,Oe as l,rs as n,Hn as o,$ as r,Me as s,us as t,Te as u};
374
374
  //# sourceMappingURL=src.mjs.map