cli-update-notifier
Version:
Notify users of CLI updates
3 lines (2 loc) • 1.61 kB
JavaScript
var b=Object.create;var o=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var C=(n,t)=>{for(var e in t)o(n,e,{get:t[e],enumerable:!0})},u=(n,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of v(t))!w.call(n,a)&&a!==e&&o(n,a,{get:()=>t[a],enumerable:!(s=h(t,a))||s.enumerable});return n};var c=(n,t,e)=>(e=n!=null?b(k(n)):{},u(t||!n||!n.__esModule?o(e,"default",{value:n,enumerable:!0}):e,n)),W=n=>u(o({},"__esModule",{value:!0}),n);var A={};C(A,{default:()=>p});module.exports=W(A);var d=require("npm-metadata"),g=c(require("boxen"),1),r=c(require("chalk"),1),_=()=>{let n=process.env.npm_config_user_agent||"";return n.startsWith("yarn")?"yarn":n.startsWith("pnpm")?"pnpm":n.startsWith("bun")?"bun":typeof Deno<"u"?"deno":typeof Bun<"u"?"bun":"npm"},x=(n,t)=>{switch(t){case"yarn":return`yarn global add ${n}`;case"pnpm":return`pnpm add -g ${n}`;case"bun":return`bun add -g ${n}`;case"npm":return`npm i -g ${n}`;case"deno":return`deno install -g npm:${n}`}};async function p(n,t,e="Update Available",s="center",a=1,l="green"){let i=await(0,d.metadata)(n,{silentLog:!0}).then($=>$["dist-tags"].latest);if(i===t)return;let f=_(),m=x(n,f),y=[`${r.default.gray("Package:")} ${r.default.bold.cyan(n)}`,`${r.default.gray("Current:")} v${t}`,`${r.default.gray("Latest:")} ${r.default.bold.yellow(`v${i}`)}`,"",`${r.default.gray("Update using:")}`,` ${r.default.cyan(m)}`].join(`
`);console.log((0,g.default)(y,{title:e,titleAlignment:s,padding:a,borderColor:l}))}