Fruatre Botz
Fruatre Botz
June 16, 2025 at 11:32 AM
*[ FITUR NPMJS DETAIL ]* 🍰 sumber : https://whatsapp.com/channel/0029VavIvw29RZAabgJslv2w ~ 🪄 berikut detail codenya : case 'npm': case 'npmjs': { if (!text) return m.reply(`Example: ${prefix + command} axios\n${prefix + command} axios --download\n${prefix + command} axios --info\n${prefix + command} --trending\n${prefix + command} --stats react`) let args = text.split(' ') let packageName = args[0] let flag = args.find(arg => arg.startsWith('--')) try { if (flag === '--trending') { let res = await fetch('https://registry.npmjs.org/-/v1/search?text=&size=20&popularity=1.0') let { objects } = await res.json() let txt = '*🔥 TRENDING NPM PACKAGES*\n\n' txt += objects.slice(0, 10).map((obj, i) => { let pkg = obj.package return `${i+1}. *${pkg.name}*\n v${pkg.version} | ⭐ ${pkg.links.npm}\n ${pkg.description?.substring(0, 80)}...` }).join('\n\n') return m.reply(txt) } if (flag === '--stats') { let statsRes = await fetch(`https://api.npmjs.org/downloads/point/last-month/${packageName}`) let stats = await statsRes.json() let pkgRes = await fetch(`https://registry.npmjs.org/${packageName}`) let pkgData = await pkgRes.json() if (pkgData.error) return m.reply('Package tidak ditemukan') let txt = `*📊 ${packageName} STATISTICS*\n\n` txt += `📦 Name: ${pkgData.name}\n` txt += `🏷️ Latest: v${pkgData['dist-tags'].latest}\n` txt += `📅 Created: ${new Date(pkgData.time.created).toLocaleDateString()}\n` txt += `🔄 Modified: ${new Date(pkgData.time.modified).toLocaleDateString()}\n` txt += `📥 Downloads: ${stats.downloads?.toLocaleString() || 'N/A'}/month\n` txt += `👤 Author: ${pkgData.author?.name || 'Unknown'}\n` txt += `📄 License: ${pkgData.license || 'N/A'}\n` txt += `🔗 Homepage: ${pkgData.homepage || 'N/A'}\n` txt += `🐛 Issues: ${pkgData.bugs?.url || 'N/A'}\n` txt += `📋 Keywords: ${pkgData.keywords?.join(', ') || 'N/A'}` return m.reply(txt) } if (flag === '--info') { let pkgRes = await fetch(`https://registry.npmjs.org/${packageName}`) let pkgData = await pkgRes.json() if (pkgData.error) return m.reply('Package tidak ditemukan') let latest = pkgData.versions[pkgData['dist-tags'].latest] let txt = `*📦 ${pkgData.name}*\n\n` txt += `🏷️ Version: ${pkgData['dist-tags'].latest}\n` txt += `📝 Description: ${pkgData.description}\n` txt += `👤 Author: ${pkgData.author?.name || 'Unknown'}\n` txt += `📄 License: ${pkgData.license}\n` txt += `📦 Main: ${latest.main || 'index.js'}\n` txt += `🔧 Dependencies: ${Object.keys(latest.dependencies || {}).length}\n` txt += `⚙️ DevDeps: ${Object.keys(latest.devDependencies || {}).length}\n` txt += `🔗 Repository: ${pkgData.repository?.url || 'N/A'}\n` txt += `🌐 Homepage: ${pkgData.homepage || 'N/A'}\n` txt += `📋 Keywords: ${pkgData.keywords?.join(', ') || 'N/A'}` if (latest.dependencies && Object.keys(latest.dependencies).length > 0) { txt += '\n\n*🔧 Dependencies:*\n' txt += Object.entries(latest.dependencies).slice(0, 10).map(([dep, ver]) => `• ${dep}: ${ver}`).join('\n') } return m.reply(txt) } if (flag === '--download') { m.reply('⏳ Downloading package...') let pkgRes = await fetch(`https://registry.npmjs.org/${packageName}`) let pkgData = await pkgRes.json() if (pkgData.error) return m.reply('Package tidak ditemukan') let latestVersion = pkgData['dist-tags'].latest let tarballUrl = pkgData.versions[latestVersion].dist.tarball let downloadRes = await fetch(tarballUrl) let buffer = Buffer.from(await downloadRes.arrayBuffer()) let filename = `${packageName}-${latestVersion}.tgz` await zdx.sendMessage(m.chat, { document: buffer, fileName: filename, mimetype: 'application/gzip', caption: `📦 ${pkgData.name} v${latestVersion}\n📝 ${pkgData.description}\n📊 Size: ${(buffer.length / 1024).toFixed(2)} KB\n📥 Downloaded successfully!` }, { quoted: m }) } else { let res = await fetch(`http://registry.npmjs.com/-/v1/search?text=${packageName}&size=15`) let { objects } = await res.json() if (!objects.length) return m.reply('❌ Package tidak ditemukan') let txt = `*🔍 NPM SEARCH: ${packageName}*\n\n` txt += objects.slice(0, 10).map((obj, i) => { let pkg = obj.package let quality = Math.round(obj.score?.detail?.quality * 100) || 0 let popularity = Math.round(obj.score?.detail?.popularity * 100) || 0 return `${i+1}. *${pkg.name}* (v${pkg.version})\n 📊 Q:${quality}% P:${popularity}%\n 📝 ${pkg.description?.substring(0, 100)}...\n 🔗 ${pkg.links.npm}` }).join('\n\n') txt += `\n\n*📋 Commands:*\n` txt += `• ${prefix + command} ${packageName} --download\n` txt += `• ${prefix + command} ${packageName} --info\n` txt += `• ${prefix + command} ${packageName} --stats` m.reply(txt) } } catch (e) { m.reply('❌ Terjadi kesalahan') } } break note : sesuaikan dengan script kalian and terima kasih 🥐✨ > Created by Zidan

Comments