UNPKG

cli-update-notifier

Version:
3 lines (2 loc) 948 B
import{metadata as p}from"npm-metadata";import l from"boxen";import t from"chalk";var f=()=>{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"},m=(n,e)=>{switch(e){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 y(n,e,a="Update Available",s="center",o=1,i="green"){let r=await p(n,{silentLog:!0}).then(g=>g["dist-tags"].latest);if(r===e)return;let u=f(),c=m(n,u),d=[`${t.gray("Package:")} ${t.bold.cyan(n)}`,`${t.gray("Current:")} v${e}`,`${t.gray("Latest:")} ${t.bold.yellow(`v${r}`)}`,"",`${t.gray("Update using:")}`,` ${t.cyan(c)}`].join(` `);console.log(l(d,{title:a,titleAlignment:s,padding:o,borderColor:i}))}export{y as default};