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.
Files changed (2) hide show
  1. package/dist/index.js +5 -3
  2. 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.0`,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
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
- -c, --cooldown <days> Minimum package age in days
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 -e '@vitejs/*'
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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "updates",
3
- "version": "17.0.0",
3
+ "version": "17.0.1",
4
4
  "description": "Flexible npm and poetry dependency update tool",
5
5
  "author": "silverwind",
6
6
  "repository": "silverwind/updates",