{"version":3,"sources":["jsdelivr-header.js","/npm/@byodian/easynpm@0.0.4/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;OCJO,UAAW,eACT,QAAW,4BACX,eAAkB,qCACf,YAAa,iBAClB,QAAS,MAEhB,MAAM,OAAS,QAAQ,KAAK,MAAM,UAE3B,MAAM,YAAc,eAAe,GACxC,MAAM,EAAU,6BAA6B,IACvC,QAAiB,IAAI,EAAS,CAClC,MAAO,WACP,QAAS,CAAE,eAAgB,eAEvB,QAAiB,EAAS,OAC1B,EAAI,QAAQ,KAAK,GAEvB,MAAO,CACL,eAAgB,EAAE,oBAAoB,SAAS,KAAK,QACpD,aAAc,EAAE,kBAAkB,SAAS,KAAK,QAEpD,SAEO,MAAM,YAAc,eAAe,GACxC,MAAM,EAAY,qCAAqC,sBACjD,QAAiB,IAAI,EAAW,CACpC,MAAO,WACP,QAAS,CAAE,eAAgB,uBAEvB,aAAE,EAAY,gBAAE,SAA0B,EAAS,OAEzD,MAAO,CACL,eACA,kBAEJ,EAEA,MAAM,cAAgB,SAAS,EAAK,GAClC,MACM,EAAU,IADI,EAAM,wEAA0E,WAAW,qBAC9E,QASjC,MAAO,CACL,UACA,KATW,SAAS,EAAO,WAC3B,EAAQ,eAAe,CACrB,KAAe,YAAT,EAAqB,mBAAqB,4BAChD,OAAiB,YAAT,EAAqB,MAAM,MAAM,MAAQ,MAAM,IAAI,OAE/D,EAMF,EAEM,gBAAkB,eAAe,EAAK,GAC1C,MAAM,EAAU,cAAc,EAAK,GAEnC,IACE,MAAM,aAAE,EAAY,gBAAE,SAA0B,YAAY,GAC5D,EAAQ,OAEJ,IACF,QAAQ,IAAI,MAAM,KAAK,KAAK,oBAC5B,OAAO,KAAK,GAAiB,SAAQ,IACnC,QAAQ,IAAI,MAAM,KAAK,EAAI,KAAM,MAAM,KAAK,6BAA6B,MAAO,KAIhF,IACF,QAAQ,IAAI,MAAM,KAAK,KAAK,iBAC5B,OAAO,KAAK,GAAc,SAAQ,IAChC,QAAQ,IAAI,MAAM,KAAK,EAAK,KAAM,MAAM,KAAK,6BAA6B,MAAO,IAIvF,CAAE,MAAO,GACP,EAAQ,KAAK,SACb,gBAAgB,EAAK,EACvB,CACF,SAEO,MAAM,KAAO,eAClB,EACA,GAEA,IAAK,EAEH,YADA,QAAQ,IAAI,MAAM,IAAI,YAIxB,MAAM,EAAU,cAAc,EAAK,GACnC,IACE,MAAM,eAAE,EAAc,aAAE,SAAuB,YAAY,GAG3D,GAFA,EAAQ,QAEH,EAEH,YADA,QAAQ,IAAI,MAAM,OAAO,qBAI3B,QAAQ,IAAI,MAAM,KAAK,GAAG,kBAAsB,MAAM,KAAK,KAC3D,QAAQ,IAAI,MAAM,KAAK,GAAG,gBAAoB,MAAM,KAAK,KAEzD,MAAM,EAAiB,EAAe,QAAQ,qBAAsB,UAC9D,gBAAgB,KAAM,EAC9B,CAAE,MAAO,GACP,EAAQ,KAAK,SACb,KAAK,EAAK,EACZ,CACF,EAEA,KAAK,KAAM,OAAO","file":"/npm/@byodian/easynpm@0.0.4/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@byodian/easynpm@0.0.4/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\n\nimport chalk from 'chalk';\nimport { get } from './utils/request.js';\nimport { httpsAgent } from './utils/getHttpsAgent.js'\nimport * as cheerio from 'cheerio';\nimport ora from 'ora'\n\nconst rawArg = process.argv.slice(2);\n\nexport const getRepoName = async function(name) {\n  const NPM_URL = `https://npmjs.com/package/${name}`;\n  const response = await get(NPM_URL, {\n    agent: httpsAgent,\n    headers: { 'Content-Type': 'text/html' }\n  });\n  const document = await response.text();\n  const $ = cheerio.load(document);\n\n  return {\n    repositoryLink: $('#repository-link').parent().attr('href'),\n    homePageLink: $('#homePage-link').parent().attr('href')\n  }\n}\n\nexport const getPackages = async function(repoName) {\n  const rawGithub = `https://raw.githubusercontent.com/${repoName}/main/package.json`;\n  const response = await get(rawGithub, {\n    agent: httpsAgent,\n    headers: { 'Content-Type': 'application/json' }\n  });\n  const { dependencies, devDependencies } = await response.json();\n\n  return {\n    dependencies,\n    devDependencies\n  }\n}\n\nconst createSnipper = function(err, text) {\n  const spinnerText = err ? `There appears to be trouble with your network connection. Retrying...` : `Loading ${text} dependencies...`\n  const spinner = ora(spinnerText).start();\n\n  const stop = function(type = 'success') {\n    spinner.stopAndPersist({\n      text: type === 'success' ? 'Congratulations!' : 'Opps something was wrong!',\n      symbol: type === 'success' ? chalk.green('✔️') : chalk.red('✖️')\n    })\n  }\n\n  return {\n    spinner,\n    stop\n  }\n}\n\nconst getDependencies = async function(err, repositoryName) {\n  const spinner = createSnipper(err, repositoryName)\n\n  try {\n    const { dependencies, devDependencies } = await getPackages(repositoryName)\n    spinner.stop()\n\n    if (devDependencies) {\n      console.log(chalk.gray.bold('devDependencies'));\n      Object.keys(devDependencies).forEach(key => {\n        console.log(chalk.cyan(key,'👉', chalk.blue(`https://npmjs.com/package/${key}`)))\n      })\n    }\n\n    if (dependencies) {\n      console.log(chalk.gray.bold('dependencies'))\n      Object.keys(dependencies).forEach(key => {\n        console.log(chalk.cyan(key, '👉', chalk.blue(`https://npmjs.com/package/${key}`)))\n      })\n    }\n\n  } catch (err) {\n    spinner.stop('error')\n    getDependencies(err, repositoryName)\n  }\n}\n\nexport const init = async function(\n  err, \n  name, \n) {\n  if (!name) {\n    console.log(chalk.red('请输入查询内容'))  \n    return\n  }\n\n  const spinner = createSnipper(err, name)\n  try {\n    const { repositoryLink, homePageLink } = await getRepoName(name);\n    spinner.stop()\n\n    if (!repositoryLink) {\n      console.log(chalk.yellow('未找到指定的 github 仓库'));\n      return\n    }\n\n    console.log(chalk.cyan(`${name} repository 👉`, chalk.blue(repositoryLink)));\n    console.log(chalk.cyan(`${name} homePage 👉`, chalk.blue(homePageLink)));\n\n    const repositoryName = repositoryLink.replace('https://github.com', '')\n    await getDependencies(null, repositoryName)\n  } catch (err) {\n    spinner.stop('error')\n    init(err, name)\n  }\n}\n\ninit(null, rawArg[0])\n"]}