updates 17.0.0 → 17.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +5 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as e}from"node:module";import{cwd as t,env as n,exit as r,platform as i,stderr as a,stdout as o,versions as s}from"node:process";import{basename as c,dirname as l,join as u,resolve as d}from"node:path";import{accessSync as f,lstatSync as p,readFileSync as m,truncateSync as h,writeFileSync as g}from"node:fs";import{parseArgs as _,stripVTControlCharacters as v,styleText as y}from"node:util";import{execFileSync as b}from"node:child_process";import{rootCertificates as x}from"node:tls";import{EOL as S,availableParallelism as C,cpus as w}from"node:os";var T=Object.create,E=Object.defineProperty,D=Object.getOwnPropertyDescriptor,O=Object.getOwnPropertyNames,k=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty,A=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),te=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=O(t),a=0,o=i.length,s;a<o;a++)s=i[a],!ee.call(e,s)&&s!==n&&E(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=D(t,s))||r.enumerable});return e},ne=(e,t,n)=>(n=e==null?{}:T(k(e)),te(t||!e||!e.__esModule?E(n,`default`,{value:e,enumerable:!0}):n,e)),j=e(import.meta.url),re=class extends Error{constructor(e){super(),this.name=`AbortError`,this.message=e}};const ie=e=>globalThis.DOMException===void 0?new re(e):new DOMException(e),ae=e=>{let t=e.reason===void 0?ie(`This operation was aborted.`):e.reason;return t instanceof Error?t:ie(t)};async function oe(e,t,{concurrency:n=1/0,stopOnError:r=!0,signal:i}={}){return new Promise((a,o)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!=`function`)throw TypeError(`Mapper function is required`);if(!((Number.isSafeInteger(n)||n===1/0)&&n>=1))throw TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let s=[],c=[],l=new Map,u=!1,d=!1,f=!1,p=0,m=0,h=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),g=e=>{u=!0,d=!0,o(e)};i&&(i.aborted&&g(ae(i)),i.addEventListener(`abort`,()=>{g(ae(i))}));let _=async()=>{if(d)return;let e=await h.next(),n=m;if(m++,e.done){if(f=!0,p===0&&!d){if(!r&&c.length>0){g(AggregateError(c));return}if(d=!0,l.size===0){a(s);return}let e=[];for(let[t,n]of s.entries())l.get(t)!==se&&e.push(n);a(e)}return}p++,(async()=>{try{let r=await e.value;if(d)return;let i=await t(r,n);i===se&&l.set(n,i),s[n]=i,p--,await _()}catch(e){if(r)g(e);else{c.push(e),p--;try{await _()}catch(e){g(e)}}}})()};(async()=>{for(let e=0;e<n;e++){try{await _()}catch(e){g(e);break}if(f||u)break}})()})}const se=Symbol(`skip`);async function ce(e,t){return oe(e,e=>e(),t)}var le=`17.0.
|
|
2
|
+
import{createRequire as e}from"node:module";import{cwd as t,env as n,exit as r,platform as i,stderr as a,stdout as o,versions as s}from"node:process";import{basename as c,dirname as l,join as u,resolve as d}from"node:path";import{accessSync as f,lstatSync as p,readFileSync as m,truncateSync as h,writeFileSync as g}from"node:fs";import{parseArgs as _,stripVTControlCharacters as v,styleText as y}from"node:util";import{execFileSync as b}from"node:child_process";import{rootCertificates as x}from"node:tls";import{EOL as S,availableParallelism as C,cpus as w}from"node:os";var T=Object.create,E=Object.defineProperty,D=Object.getOwnPropertyDescriptor,O=Object.getOwnPropertyNames,k=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty,A=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),te=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=O(t),a=0,o=i.length,s;a<o;a++)s=i[a],!ee.call(e,s)&&s!==n&&E(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=D(t,s))||r.enumerable});return e},ne=(e,t,n)=>(n=e==null?{}:T(k(e)),te(t||!e||!e.__esModule?E(n,`default`,{value:e,enumerable:!0}):n,e)),j=e(import.meta.url),re=class extends Error{constructor(e){super(),this.name=`AbortError`,this.message=e}};const ie=e=>globalThis.DOMException===void 0?new re(e):new DOMException(e),ae=e=>{let t=e.reason===void 0?ie(`This operation was aborted.`):e.reason;return t instanceof Error?t:ie(t)};async function oe(e,t,{concurrency:n=1/0,stopOnError:r=!0,signal:i}={}){return new Promise((a,o)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!=`function`)throw TypeError(`Mapper function is required`);if(!((Number.isSafeInteger(n)||n===1/0)&&n>=1))throw TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let s=[],c=[],l=new Map,u=!1,d=!1,f=!1,p=0,m=0,h=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),g=e=>{u=!0,d=!0,o(e)};i&&(i.aborted&&g(ae(i)),i.addEventListener(`abort`,()=>{g(ae(i))}));let _=async()=>{if(d)return;let e=await h.next(),n=m;if(m++,e.done){if(f=!0,p===0&&!d){if(!r&&c.length>0){g(AggregateError(c));return}if(d=!0,l.size===0){a(s);return}let e=[];for(let[t,n]of s.entries())l.get(t)!==se&&e.push(n);a(e)}return}p++,(async()=>{try{let r=await e.value;if(d)return;let i=await t(r,n);i===se&&l.set(n,i),s[n]=i,p--,await _()}catch(e){if(r)g(e);else{c.push(e),p--;try{await _()}catch(e){g(e)}}}})()};(async()=>{for(let e=0;e<n;e++){try{await _()}catch(e){g(e);break}if(f||u)break}})()})}const se=Symbol(`skip`);async function ce(e,t){return oe(e,e=>e(),t)}var le=`17.0.1`,ue=A((e=>{e.parse=e.decode=i,e.stringify=e.encode=n,e.safe=o,e.unsafe=s;var t=typeof process<`u`&&process.platform===`win32`?`\r
|
|
3
3
|
`:`
|
|
4
4
|
`;function n(e,i){var a=[],s=``;typeof i==`string`?i={section:i,whitespace:!1}:(i||={},i.whitespace=i.whitespace===!0);var c=i.whitespace?` = `:`=`;return Object.keys(e).forEach(function(n,r,i){var l=e[n];l&&Array.isArray(l)?l.forEach(function(e){s+=o(n+`[]`)+c+o(e)+`
|
|
5
5
|
`}):l&&typeof l==`object`?a.push(n):s+=o(n)+c+o(l)+t}),i.section&&s.length&&(s=`[`+o(i.section)+`]`+t+s),a.forEach(function(a,o,c){var l=r(a).join(`\\.`),u=(i.section?i.section+`.`:``)+l,d=n(e[a],{section:u,whitespace:i.whitespace});s.length&&d.length&&(s+=t),s+=d}),s}function r(e){return e.replace(/\1/g,`LITERAL\\1LITERAL`).replace(/\\\./g,``).split(/\./).map(function(e){return e.replace(/\1/g,`\\.`).replace(/\2LITERAL\\1LITERAL\2/g,``)})}function i(e){var t={},n=t,i=null,a=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;return e.split(/[\r\n]+/g).forEach(function(e,r,o){if(!(!e||e.match(/^\s*[;#]/))){var c=e.match(a);if(c){if(c[1]!==void 0){if(i=s(c[1]),i===`__proto__`){n={};return}n=t[i]=t[i]||{};return}var l=s(c[2]);if(l!==`__proto__`){var u=c[3]?s(c[4]):!0;switch(u){case`true`:case`false`:case`null`:u=JSON.parse(u)}if(l.length>2&&l.slice(-2)===`[]`){if(l=l.substring(0,l.length-2),l===`__proto__`)return;n[l]?Array.isArray(n[l])||(n[l]=[n[l]]):n[l]=[]}Array.isArray(n[l])?n[l].push(u):n[l]=u}}}}),Object.keys(t).filter(function(e,n,i){if(!t[e]||typeof t[e]!=`object`||Array.isArray(t[e]))return!1;var a=r(e),o=t,s=a.pop(),c=s.replace(/\\\./g,`.`);return a.forEach(function(e,t,n){e!==`__proto__`&&((!o[e]||typeof o[e]!=`object`)&&(o[e]={}),o=o[e])}),o===t&&c===s?!1:(o[c]=t[e],!0)}).forEach(function(e,n,r){delete t[e]}),t}function a(e){return e.charAt(0)===`"`&&e.slice(-1)===`"`||e.charAt(0)===`'`&&e.slice(-1)===`'`}function o(e){return typeof e!=`string`||e.match(/[=\r\n]/)||e.match(/^\[/)||e.length>1&&a(e)||e!==e.trim()?JSON.stringify(e):e.replace(/;/g,`\\;`).replace(/#/g,`\\#`)}function s(e,t){if(e=(e||``).trim(),a(e)){e.charAt(0)===`'`&&(e=e.substr(1,e.length-2));try{e=JSON.parse(e)}catch{}}else{for(var n=!1,r=``,i=0,o=e.length;i<o;i++){var s=e.charAt(i);if(n)`\\;#`.indexOf(s)===-1?r+=`\\`+s:r+=s,n=!1;else if(`;#`.indexOf(s)!==-1)break;else s===`\\`?n=!0:r+=s}return n&&(r+=`\\`),r.trim()}return e}})),de=A(((e,t)=>{var n=1,r=2;function i(){return``}function a(e,t,n){return e.slice(t,n).replace(/\S/g,` `)}t.exports=function(e,t){t||={};for(var o,s,c=!1,l=!1,u=0,d=``,f=t.whitespace===!1?i:a,p=0;p<e.length;p++)if(o=e[p],s=e[p+1],!l&&o===`"`&&(e[p-1]===`\\`&&e[p-2]!==`\\`||(c=!c)),!c){if(!l&&o+s===`//`)d+=e.slice(u,p),u=p,l=n,p++;else if(l===n&&o+s===`\r
|
|
@@ -44,7 +44,7 @@ GFS4: `),console.error(e)}),n[s]||(u(n,global[s]||[]),n.close=(function(e){funct
|
|
|
44
44
|
-P, --patch [<pkg,...>] Consider only up to semver-patch
|
|
45
45
|
-m, --minor [<pkg,...>] Consider only up to semver-minor
|
|
46
46
|
-d, --allow-downgrade [<pkg,...>] Allow version downgrades when using latest version
|
|
47
|
-
-
|
|
47
|
+
-C, --cooldown <days> Minimum package age in days
|
|
48
48
|
-E, --error-on-outdated Exit with code 2 when updates are available and 0 when not
|
|
49
49
|
-U, --error-on-unchanged Exit with code 0 when updates are available and 2 when not
|
|
50
50
|
-r, --registry <url> Override npm registry URL
|
|
@@ -59,8 +59,10 @@ GFS4: `),console.error(e)}),n[s]||(u(n,global[s]||[]),n.close=(function(e){funct
|
|
|
59
59
|
Examples:
|
|
60
60
|
$ updates
|
|
61
61
|
$ updates -u
|
|
62
|
-
$ updates -
|
|
62
|
+
$ updates -C 7
|
|
63
|
+
$ updates -e react,react-dom
|
|
63
64
|
$ updates -e '/^react-(dom)?/'
|
|
64
65
|
$ updates -f package.json
|
|
65
66
|
$ updates -f pyproject.toml
|
|
67
|
+
$ updates -f go.mod
|
|
66
68
|
`),await Z()),n&&(console.info(on),await Z());let u={},f={},p={},h={},g=Date.now(),_=0,[v,y]=dr(W(r));for(let t of v){let n=l(d(t)),r=sn[c(t)];if(!_n.has(r)&&!y.has(t))continue;h[r]=t,u[r]||(u[r]={});let a=await fr(n),o=[],s=[];Array.isArray(K.include)&&(o=K.include.filter(e=>typeof e==`string`).flatMap(e=>Sn(e))),Array.isArray(K.exclude)&&(s=K.exclude.filter(e=>typeof e==`string`).flatMap(e=>Sn(e)));let v=cr(o,a?.include??[]),S=cr(s,a?.exclude??[]),C={},w=(0,Vt.default)(`npm`,{registry:`https://registry.npmjs.org`})||{},T={npmrc:w,recursive:!0};if(r===`npm`){w[`strict-ssl`]===!1&&(C.rejectUnauthorized=!1);for(let e of[`cert`,`ca`,`key`]){let n=e===`key`?ar:ir,r=[];w[e]&&(r=(Array.isArray(w[e])?w[e]:[w[e]]).flatMap(e=>n(e))),w[`${e}file`]&&(r=Array.from(n(m(w[`opt${t}`],`utf8`)))),r.length&&(C[e]=e===`ca`?[...x,...r]:r)}}let E=[];Array.isArray(i)?E=i.filter(e=>typeof e==`string`):`types`in a&&Array.isArray(a.types)?E=a.types:r===`npm`?E=Jt:r===`pypi`?E=[...Zt,...Xt]:r===`go`&&(E=Array.from(Qt));let D={};if(r===`go`)p[r]=b(`go`,[`list`,`-m`,`-f`,`{{if not .Indirect}}{{.Path}}@{{.Version}}{{end}}`,`all`],{stdio:`pipe`,encoding:`utf8`,cwd:n});else try{p[r]=m(t,`utf8`)}catch(e){throw Error(`Unable to open ${t}: ${e.message}`)}try{if(r===`npm`)D=JSON.parse(p[r]);else if(r===`pypi`)D=tt(p[r]);else{D.deps={};for(let e of jn(p[r])){let[t,n]=e.split(`@`);n&&(D.deps[t]=n)}}}catch(e){throw Error(`Error parsing ${t}: ${e.message}`)}for(let e of E){let t;if(t=r===`npm`||r===`go`?D[e]||{}:xn(D,e)||{},Array.isArray(t)&&r===`pypi`)for(let{name:n,version:i}of qt(t))lr(n,r,v,S,e)&&(u[r][`${e}${n}`]={old:rr(i),oldOriginal:i});else if(typeof t==`string`){let[n,i]=t.split(`@`);u[r][`${e}${n}`]={old:rr(i),oldOriginal:i}}else for(let[n,i]of Object.entries(t))r!==`go`&&(0,V.validRange)(i)&&lr(n,r,v,S,e)?u[r][`${e}${n}`]={old:rr(i),oldOriginal:i}:r===`npm`&&lr(n,r,v,S,e)?f[`${e}${n}`]={old:i}:r===`go`&&lr(n,r,v,S,e)&&(u[r][`${e}${n}`]={old:nr(i),oldOriginal:i})}if(_+=Object.keys(u[r]).length+Object.keys(f).length,!_)continue;let O;r===`npm`&&(O=U((typeof K.registry==`string`?K.registry:!1)||a.registry||w.registry));let k=[];k=r===`go`?Mn(u,n):(await ce(Object.keys(u[r]).map(e=>async()=>{let[t,n]=e.split(`\0`);return r===`npm`?kn(n,t,O,C,T,w):r===`pypi`?An(n,t,C):null}),{concurrency:e})).filter(Boolean);for(let[e,t,n,i]of k){if(e?.error)throw Error(e.error);let a=typeof J==`boolean`?J:X(e.name,J),o=typeof fn==`boolean`?fn:X(e.name,fn),s=typeof pn==`boolean`?pn:X(e.name,pn),c;c=mn===!0||X(e.name,mn)?new Set([`patch`]):hn===!0||X(e.name,hn)?new Set([`patch`,`minor`]):new Set([`patch`,`minor`,`major`]);let l=`${t}${i}`,d=u[r][l].old,f=u[r][l].oldOriginal,p=Xn(e,{usePre:o,useRel:s,useGreatest:a,semvers:c,range:d,mode:r}),m=``;if([`go`,`pypi`].includes(r)&&p?m=p:p&&(m=Kn(d,p,f)),!p||f&&f===m){delete u[r][l];continue}let h=``;r===`npm`&&e.time?.[p]?h=e.time[p]:r===`pypi`&&e.releases?.[p]?.[0]?.upload_time_iso_8601?h=e.releases[p][0].upload_time_iso_8601:r===`go`&&e.Time&&(h=e.Time),u[r][l].new=m,r===`npm`?u[r][l].info=Fn(e?.versions?.[p],n,e.name):r===`pypi`?u[r][l].info=Fn(e,n,e.info.name):r===`go`&&(u[r][l].info=`https://${Hn(i)}`),h&&(u[r][l].date=h,u[r][l].age=Kt(h,{noAffix:!0}))}if(Object.keys(f).length){let t=(await ce(Object.entries(f).map(([e,t])=>()=>{let n=e.split(`\0`)[1];return tr(e,t,typeof J==`boolean`?J:X(n,J))}),{concurrency:e})).filter(e=>e!==null);for(let e of t){let{key:t,newRange:n,user:i,repo:a,oldRef:o,newRef:s,newDate:c}=e;u[r][t]={old:f[t].old,new:n,oldPrint:nn.test(o)?o.substring(0,7):o,newPrint:nn.test(s)?s.substring(0,7):s,info:`https://github.com/${i}/${a}`,...c?{age:Kt(c,{noAffix:!0})}:{}}}}let ee=K.cooldown??a.cooldown;if(ee){for(let e of Object.keys(u))for(let[t,{date:n}]of Object.entries(u[e]))if(!ur(n,Number(ee),g)){delete u[e][t];continue}}}_===0&&In(`No dependencies found, nothing to do.`);let S=0;for(let e of Object.keys(u))S+=Object.keys(u[e]).length;S||In(`All dependencies are up to date.`);let C=Ln(u);if(s){for(let e of Object.keys(u))if(Object.keys(u[e]).length){try{let t=e===`npm`?Wn:Gn;Rn(h[e],t(p[e],u[e]))}catch(t){throw Error(`Error writing ${c(h[e])}: ${t.message}`)}console.info(dn(`✨ ${c(h[e])} updated`))}}await Z(void 0,C)}try{await pr()}catch(e){await Z(e)}export{ur as canIncludeByDate};
|