{"_id":"@mcptoolshop/registry-stats","_rev":"19-aa5e56f4417fe22432ab13f7b7e70b49","name":"@mcptoolshop/registry-stats","dist-tags":{"latest":"3.2.3"},"versions":{"0.3.0":{"name":"@mcptoolshop/registry-stats","version":"0.3.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@0.3.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://github.com/mcp-tool-shop-org/registry-stats#readme","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"bb780160c67c9f6d0ede7470a64717d87aa7714e","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-0.3.0.tgz","fileCount":16,"integrity":"sha512-ysRfX1qw8eDQ68h2ruI3y9AgQf6cjB/SE7YMbuL/KpFeGkEze11woM9EX22YjVDnzGp4glfAMODd0QFmxL0Ubw==","signatures":[{"sig":"MEUCIGYMdRQjp5WgCA6OpA45QPpD5lI8ADoBuIb063NR+ff/AiEA5Ign960yEKuanB0BwakbS/Nfve7oG5cfhp78UzACGwU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":461062},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"ab3a4e9c1e01f3aa448d6dcd370591c6e6280e2c","scripts":{"test":"vitest run","build":"tsup","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_0.3.0_1771755416409_0.9516258145699552","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@mcptoolshop/registry-stats","version":"0.3.1","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@0.3.1","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"3bc06395eff7c21ea9c002d101a6844f730716e7","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-0.3.1.tgz","fileCount":16,"integrity":"sha512-aNpKR4RH3U8KWD17VOy+KMJrPWMAIhrRDDCEYu5Pde5zuATV3Roiu5pq/XmrMjKpl1EsDsnSwIGX7PM30hfHjQ==","signatures":[{"sig":"MEUCIDyPvKWSuFmETwfLkV5I3apYHEdaW8DzWe+l+uOZWWcAAiEApsAXgkukuZEEP+Y+77Cd4i2hfDaJCt/c/RnP5+tCrnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462123},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"72c08b08b1d5acd15c15fcf365cc3b24b1a4a202","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_0.3.1_1771757510241_0.8627920761770076","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@mcptoolshop/registry-stats","version":"0.4.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@0.4.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"c5b38a61216eae37b71c0bb5634bd61e811b6bc1","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-0.4.0.tgz","fileCount":16,"integrity":"sha512-HTUsd4xbLhm2fmNQF1vPFBZPNR7h+RTQQouGS6emJZ/swQX4VMI/dvlsP3ymyfLPoq4lErlJohYdBISP9LT6UQ==","signatures":[{"sig":"MEUCIGpGJD2FG2f7HF0VGn9eLVR3xUKPusppl6Qn34nd3GstAiEAwEnFzeapTjZKmTxLetdTT3DVQOVn5CiWmG1UTdAe7Vk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":480327},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"6df18edf4b0d4a74a66082f87fefb4f282673ee6","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_0.4.0_1771761243034_0.610085129761875","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@mcptoolshop/registry-stats","version":"0.4.1","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@0.4.1","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"1399b3af235147729965057dbea3002acce0e289","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-0.4.1.tgz","fileCount":16,"integrity":"sha512-3qzCpVc0R3P9vz6jT3VOiLzHl4SbqtWjSihT/CkSt62BQfp2/gEZVMR6g0XQh13TjiY2GAYgOw8+QWiZFFSNfg==","signatures":[{"sig":"MEQCIBZKbgdYjuFxo32Qh3TTHYIV2gCFBdE7rDWKgwkOhXKhAiAe/jvdMOftEyhpeT7vMpduE7TdwGV0joQHlCyltT3uUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218295},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"d4ad56f9934596ff6ba4cc93e64b29fe7bd87a9e","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_0.4.1_1772128313787_0.1695935897129186","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@mcptoolshop/registry-stats","version":"1.0.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@1.0.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"651e931ebb7be719fad4531b72161834206b78d7","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-1.0.0.tgz","fileCount":16,"integrity":"sha512-iR1kLjwRw8IAZKpn7cJSXO5YFWfPiejq2heI7wWYz6u1CYCZE7oLbBaEqoUWFtPXHBFRNIgO9fXVy1mVLI0tZg==","signatures":[{"sig":"MEUCIBGYON1JWKwrclwYuSeLJMT/59jJB58dC6gzyvL+tsKXAiEA00Edjs8ntcRv34TEC9N1lV3Blu0Ft8TBQ4yyyARCKMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219198},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"a4e4d5a18ce470edebf4f697304eec6a57d584d6","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_1.0.0_1772239938447_0.20008972181651785","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@mcptoolshop/registry-stats","version":"1.2.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@1.2.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"6d23e7fa0eb42f692953eab528be06692e0dbadd","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-1.2.0.tgz","fileCount":16,"integrity":"sha512-cvwdZE9zPNbCYnEr083T4KfBgHGkrfA9eFZh337vmEZVz3J/iV3h3Ms1fVAcvaH2iCaTf6ixVa0JVLlQms/50g==","signatures":[{"sig":"MEQCIHI4f6MH5hfPK2GrSX1+3hfwahz11HI2Cs9NJWyMQKnXAiBIruWt5HuosU+PJG8UwgSqoCySCoZj60dm2lg5EDPb2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220020},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"a4ed469930f6c554d87bf5ea9b8d12b2fc8e282b","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_1.2.0_1772359045568_0.4084680783348491","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@mcptoolshop/registry-stats","version":"1.2.1","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@1.2.1","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"e6f0666d1f87e8cf0d2ee3a882ee67aad1ab87e2","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-1.2.1.tgz","fileCount":16,"integrity":"sha512-Qe7l/Vh+j46ZhsmJgYlbiPAbHnHUbYVdHNxLTj9n9L76V7jx0ONSgXoHP5kr95IuessQKmLjS8eE/Eti71Q48w==","signatures":[{"sig":"MEUCIATPXkXc4moz7In8wb38HFYNuAMkLNGMKK9eee5r5ttIAiEA7Tf6s6LCm0L02L4OTps1tyO1gFg8zfX8w/062OFfM2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220020},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"9fc00f69ed3f4a13a1cbfcf1c60adde451f99bbe","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_1.2.1_1772361667485_0.9219979841521087","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@mcptoolshop/registry-stats","version":"1.2.2","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@1.2.2","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"45ed4a244d323844d168789d7e65154d34417977","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-1.2.2.tgz","fileCount":16,"integrity":"sha512-rt9S4aihERkWvcvhdE/pkovbtRW2xbjkQSki0071UNe/hCSUcXy29cfDg2gMi1OBBQLHFt17NVyFf0TcEn6J+Q==","signatures":[{"sig":"MEUCIQCg2JV7IYpqRDTl425MnbFXwyz1qxfOnqpShP1mP/AryAIgKEqTUSxTYTF3xPlzAGFJFk+TxQgRC0dULy0L3YpjG7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":224222},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"072b2ea365af4f2d469a3dbc3370dad7f587319e","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_1.2.2_1772395096231_0.9440910780715916","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@mcptoolshop/registry-stats","version":"1.2.3","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@1.2.3","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"8aa5bce4d12ca6dccd5c47f3658e39c324fe6823","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-1.2.3.tgz","fileCount":16,"integrity":"sha512-T8l7KPHqElaHqrAwHYPfHMdV5oppDSUmmjZiV7eboeX8rCLkHXyhnbj70uhnX4l/lGgUueeKYurtATU+A+hwJA==","signatures":[{"sig":"MEUCIQCCBdPBkExeB02358WDQzRqBqOonP0ZyP4PzXvX9BpYgwIgHNACOeRNMgcPuM3+AgpJ2XKg+vf29yIEgzk/ManiJ4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226466},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"d285feac78bfd848586b7eedcfa85dd078b05c99","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_1.2.3_1772395401567_0.6823327627388898","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@mcptoolshop/registry-stats","version":"1.2.4","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@1.2.4","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"35271916613e0830cdd8ac3f1f65ff7a25ded2b6","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-1.2.4.tgz","fileCount":16,"integrity":"sha512-Qh5uK4dRYJZUcW9lsedapGCJoNep7qKXU7CaZNaXImyPtTEyxAoS2V3tY891fW2oWcymGq1SCyTy4jcCUDrAYw==","signatures":[{"sig":"MEUCICJsaiieHf7ubAIAtLj99TrAEZNdFOjKBMQ8Tx4sHtQWAiEA/YS17l82G6huF3QxoTzswFZ26VOLZUqOA3L85JhDYjg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220020},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"79ff9903d858f63878711ba1686cd587b2a1e723","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_1.2.4_1772395886707_0.5328577444124432","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@mcptoolshop/registry-stats","version":"2.0.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@2.0.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"70a0c6bd021d0a20ee2c06d9152894a6192b820a","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-2.0.0.tgz","fileCount":16,"integrity":"sha512-CE2/Vkx+awFj1+MHedJ5p7YpZKzKBvgjeHxOUM9S18UFHuBBA/k5dLsCEqCPLQyZBiMk4eHYIKYirxAJIpAq9A==","signatures":[{"sig":"MEUCIQDcdFpEWnpTG88m72Ik/tirQTbzjG9JeFPYlPZdIxd0yAIgDhFWpGt8UOlRjqVTc8aPQ65e0oxHNIh3+Ao0PVC5ewI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246609},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"d1d1cdc634857409a7f6a18e90c3ba0268516c6e","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats — engine, dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_2.0.0_1772447632603_0.46885210966539903","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@mcptoolshop/registry-stats","version":"2.1.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@2.1.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"66f7c34554466dc1166886c7845cc64a6e87ada4","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-2.1.0.tgz","fileCount":16,"integrity":"sha512-/2QXE5EXqxauT4wwl4JRTrUjPAdEm/7GEW1oZVzKP+ai8jB1kUBkZACrgR9xptehUiKBK4MVyNbbL1r1sdeVlw==","signatures":[{"sig":"MEUCIQDHBXUz+Aw07iRh78z1brZsi6CvatnugfQCmIJQB/NbjwIgXFco4GPpPmwaIXzIg7Kn/wTNAcfLqkVZT0rdw867qHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":253402},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"79ce574fa72e279416e1951bfbb9bbea62b63e61","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats — engine, AI-powered dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_2.1.0_1772462754702_0.34472382688989467","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@mcptoolshop/registry-stats","version":"2.2.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@2.2.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"69d81a8151761f5e53a7daa2e501963e962a91db","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-2.2.0.tgz","fileCount":16,"integrity":"sha512-uoW++fP/k4JW2o7UUqLKKxGvvxGCGzv6/Zh6V33uYkk9xMGxO3BCWABrFS/TrTLGltGHgQwVM33U3o5EcBvk5Q==","signatures":[{"sig":"MEUCICka+TZtOBrZ5QKUcu1HgkP1sf9gOjkl6PT0ZnaWfuusAiEAmF6agyV6ItG9qiwf/mCOsa4sxpLW2SHg0ZSy/pI7dRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254146},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"57fb251b196077375cc7b3d993061563d7d20d64","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats — engine, AI-powered dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_2.2.0_1772468870304_0.18696051153778237","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@mcptoolshop/registry-stats","version":"2.3.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@2.3.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"e7ebfda21ed2fc8199df28adcdc42aa871065759","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-2.3.0.tgz","fileCount":16,"integrity":"sha512-E5SLIkaB9nEwLJv0DTkx7E/wE1/i4Ca6kgG2RU8yyaTrT8t/su3Z8eus24RSw908GsFM8L87UauDjIjDEoonjw==","signatures":[{"sig":"MEUCIErijXFoqYPhzVfQn3vOmpnZUiIZE0pVrQIik/eYN57eAiEA6vaeMfxlhHGzmRYg3Sataap2tjzVpE8YTtQNXK6THRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254146},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"7e0b606e40bc91026bfdeabc7e4e66b343afc0c4","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats — engine, AI-powered dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_2.3.0_1772478200934_0.05311855740824245","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@mcptoolshop/registry-stats","version":"3.0.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@3.0.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"6cd810a94f7025b125cb7a38bc1ebc8531e5f7a7","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-3.0.0.tgz","fileCount":16,"integrity":"sha512-wwX+ZUhA2jlIuTdZdnVosNJUp0u/Q3UN9weUR6gs7slsSQo5z9OJIiw7jdh0DFYweSKNu+4fKpdrHtVXRh3ROw==","signatures":[{"sig":"MEQCIFXWC0CvzRiJSSaYsgEAXZXkiaqXEcTRp5XDmsIOIeB3AiAohn8hH2eAkN/71NWzL94BjDQ5y3IPBtI8FhJTqYojlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":265542},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"017066543453ffcde08996e6beb5e18f00d4f625","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats — engine, AI-powered dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_3.0.0_1772641101630_0.13859374404308666","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@mcptoolshop/registry-stats","version":"3.1.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@3.1.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"c6051ce0df9fa97084c049c7d45ec8c22533e40e","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-3.1.0.tgz","fileCount":16,"integrity":"sha512-alCF1IhgFKCluFAQ54PVHc3gnLDyrQh+ns/7G4wGfxe7A75QROlPKb1gUcbB6Bsyhh1XThEBRumSINlNCL9b8g==","signatures":[{"sig":"MEYCIQDrkLrW1Uvd9gCNDvGd2OeALLeHKFVjdu0JefRDuBEOWwIhANVlLCyfHr3GPqzzMWejptRXj81e9lxgsvTbaMurOU1A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298332},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"ccb58f68a21f6353f0f824cd4c4e1eea45fb7600","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats — engine, AI-powered dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_3.1.0_1773941840719_0.12070541584190742","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@mcptoolshop/registry-stats","version":"3.2.0","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@3.2.0","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"10327b1b591fab18508b97dbb1332c12fccdd599","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-3.2.0.tgz","fileCount":16,"integrity":"sha512-jYGld4nILe6VR8ydSAuQrx1ruziV0Kp/d/F9+3U6V4JNHNF5DfeSXHMCy5XcubaBT9ghb6L4rx8HyrpVaF7OyA==","signatures":[{"sig":"MEUCIQCPjhkqqc0/26IqIaEO85v/CzVc7JxEDXBOy4x6HMf+wAIgGyqLddH+VvVgrYEVFgCt1liACxvmE3TWp76hFoWlfys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321265},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"bd30659af61815e9ac776c245d80749a717f5ef1","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats — engine, AI-powered dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_3.2.0_1773943601262_0.009363590136580058","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@mcptoolshop/registry-stats","version":"3.2.1","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","_id":"@mcptoolshop/registry-stats@3.2.1","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"bin":{"registry-stats":"dist/cli.js"},"dist":{"shasum":"bade855b6c8c880ed7c177666e9074d888c0d357","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-3.2.1.tgz","fileCount":16,"integrity":"sha512-0ItCk1onfi9It/7yF1W6smvnB+Q4jtaA91NU7oHuHfkTAMLhUUki9/ZXBfHJw9icwxQpmSK8D2GMquw2gRA66g==","signatures":[{"sig":"MEUCIGc+JGjF80x/uim61BAdFwPR92tYVXxWWd/tB9ID3euyAiEA8wldVyyUIFA1qpn4r8iKVsOn2Qoa15I5R4HXGrzyY9A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321327},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"bd30659af61815e9ac776c245d80749a717f5ef1","scripts":{"test":"vitest run","build":"tsup","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","test:watch":"vitest","site:preview":"npm --prefix site run preview","prepublishOnly":"npm run build"},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"repository":{"url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git","type":"git"},"_npmVersion":"10.9.4","description":"Multi-registry download stats — engine, AI-powered dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","directories":{},"_nodeVersion":"22.21.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^3.0.0","typescript":"^5.4.0","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/registry-stats_3.2.1_1773946675501_0.9017072163820015","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"@mcptoolshop/registry-stats","version":"3.2.3","description":"Multi-registry download stats — engine, AI-powered dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"bin":{"registry-stats":"dist/cli.js"},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","prepublishOnly":"npm run build","site:dev":"npm --prefix site run dev","site:build":"npm --prefix site run build","site:preview":"npm --prefix site run preview"},"keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"author":{"name":"mcp-tool-shop"},"license":"MIT","homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","repository":{"type":"git","url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git"},"engines":{"node":">=18.0.0"},"devDependencies":{"@types/node":"^25.3.0","tsup":"^8.0.0","typescript":"^5.4.0","vitest":"^3.0.0"},"_id":"@mcptoolshop/registry-stats@3.2.3","gitHead":"d645f756572cbdb739fd53e63bddd911351d334b","bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-5INKlcqoL03GuOmIRelGJxV0+WWHnSgsukR+CYAOlP5v6srZmk23SXs9SE5uiMPvJibFUkx8VU3qX0X2iLMBEg==","shasum":"32c76478fd2e0ac753977a2c2a30119dbca31312","tarball":"https://registry.npmjs.org/@mcptoolshop/registry-stats/-/registry-stats-3.2.3.tgz","fileCount":16,"unpackedSize":348094,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICSfR0ZDczd7mupwCdL0Leq4ygyqhLunMmmqu7D3qzOLAiEAhdwBPLhHKQJacFux9HGwpcijI62eNIX/xzGO2w23c3c="}]},"_npmUser":{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"},"directories":{},"maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/registry-stats_3.2.3_1774719193983_0.9176496997649717"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-22T10:16:56.333Z","modified":"2026-03-28T17:33:14.282Z","0.3.0":"2026-02-22T10:16:56.594Z","0.3.1":"2026-02-22T10:51:50.442Z","0.4.0":"2026-02-22T11:54:03.225Z","0.4.1":"2026-02-26T17:51:53.940Z","1.0.0":"2026-02-28T00:52:18.621Z","1.2.0":"2026-03-01T09:57:25.729Z","1.2.1":"2026-03-01T10:41:07.674Z","1.2.2":"2026-03-01T19:58:16.398Z","1.2.3":"2026-03-01T20:03:21.726Z","1.2.4":"2026-03-01T20:11:26.856Z","2.0.0":"2026-03-02T10:33:52.789Z","2.1.0":"2026-03-02T14:45:54.866Z","2.2.0":"2026-03-02T16:27:50.488Z","2.3.0":"2026-03-02T19:03:21.098Z","3.0.0":"2026-03-04T16:18:21.798Z","3.1.0":"2026-03-19T17:37:20.864Z","3.2.0":"2026-03-19T18:06:41.408Z","3.2.1":"2026-03-19T18:57:55.654Z","3.2.3":"2026-03-28T17:33:14.146Z"},"bugs":{"url":"https://github.com/mcp-tool-shop-org/registry-stats/issues"},"author":{"name":"mcp-tool-shop"},"license":"MIT","homepage":"https://mcp-tool-shop-org.github.io/registry-stats/","keywords":["npm","pypi","nuget","vscode","docker","download","stats","statistics","registry"],"repository":{"type":"git","url":"git+https://github.com/mcp-tool-shop-org/registry-stats.git"},"description":"Multi-registry download stats — engine, AI-powered dashboard, and desktop app for npm, PyPI, NuGet, VS Code Marketplace, and Docker Hub","maintainers":[{"name":"mikefrilot","email":"mikeyfrilot@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"README.ja.md\">日本語</a> | <a href=\"README.md\">English</a> | <a href=\"README.es.md\">Español</a> | <a href=\"README.fr.md\">Français</a> | <a href=\"README.hi.md\">हिन्दी</a> | <a href=\"README.it.md\">Italiano</a> | <a href=\"README.pt-BR.md\">Português (BR)</a>\n</p>\n\n<p align=\"center\">\r\n  <img src=\"https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/registry-stats/readme.png\" alt=\"registry-stats logo\" width=\"400\" />\r\n</p>\r\n\n<p align=\"center\">\r\n  Five registries. One engine. Dashboard included.\r\n</p>\r\n\n<p align=\"center\">\r\n  <a href=\"https://github.com/mcp-tool-shop-org/registry-stats/actions/workflows/pages.yml\"><img src=\"https://github.com/mcp-tool-shop-org/registry-stats/actions/workflows/pages.yml/badge.svg\" alt=\"CI\"></a>\r\n  <a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"MIT License\"></a>\r\n  <a href=\"https://www.npmjs.com/package/@mcptoolshop/registry-stats\"><img src=\"https://img.shields.io/npm/v/@mcptoolshop/registry-stats\" alt=\"npm version\"></a>\r\n  <a href=\"https://mcp-tool-shop-org.github.io/registry-stats/dashboard/\"><img src=\"https://img.shields.io/badge/Dashboard-live-green\" alt=\"Dashboard\"></a>\r\n  <a href=\"https://mcp-tool-shop-org.github.io/registry-stats/\"><img src=\"https://img.shields.io/badge/Landing_Page-live-blue\" alt=\"Landing Page\"></a>\r\n</p>\r\n\n<p align=\"center\">\r\n  <a href=\"#dashboard\">Dashboard</a> &middot;\r\n  <a href=\"#desktop-app\">Desktop App</a> &middot;\r\n  <a href=\"#install\">Install</a> &middot;\r\n  <a href=\"#cli\">CLI</a> &middot;\r\n  <a href=\"#programmatic-api\">API</a> &middot;\r\n  <a href=\"#rest-api-server\">REST Server</a> &middot;\r\n  <a href=\"#config-file\">Config</a> &middot;\r\n  <a href=\"#license\">License</a>\r\n</p>\r\n\n---\r\n\n您可以在 npm、PyPI、NuGet、VS Code Marketplace 以及 Docker Hub 上发布软件包。目前，要了解“我的软件包表现如何？”，您需要查看五个不同的网站。**registry-stats** 是一个完整的平台：一个 TypeScript 引擎（包含命令行工具、API 和 REST 服务器），一个实时 Web 控制面板，以及一个原生 Windows 桌面应用程序——所有这些都来自一个代码仓库。\n\n没有运行时依赖。使用原生的 `fetch()` 方法。Node 18+。\n\n## 内容\n\n| 层 | 功能 |\n|-------|-------------|\n| **Engine** | TypeScript 库 + 命令行工具 + REST 服务器。使用一个界面查询五个注册中心。已发布到 npm，名为 `@mcptoolshop/registry-stats`。 |\n| **Dashboard** | 一个由Astro驱动的Web应用程序，配备Pulse AI智能助手（支持语音流、网页搜索、全屏模式、GitHub数据连接器），包含六个交互式图表，支持实时刷新，并可导出报告（PDF/JSONL/Markdown），以及分Tab的帮助文档。该应用程序每周由CI自动构建，并可按需刷新。 |\n| **Desktop** | 一个原生 Windows 应用程序，使用 WinUI 3 + WebView2。将控制面板打包在本地，按需获取实时统计数据。 |\n\n## 控制面板\n\n一个自动更新的统计信息控制面板位于 [`/dashboard/`](https://mcp-tool-shop-org.github.io/registry-stats/dashboard/)。\n\n- **分Tab界面** — 包含“首页”、“分析”、“排行榜”和“帮助”等Tab。\n- **Pulse AI智能助手** — 基于Ollama的对话式助手，支持语音合成（LLM模型输出时同步语音，提供4种声音，通过[mcp-voice-soundboard](https://github.com/mcp-tool-shop-org/mcp-voice-soundboard)实现），网页搜索（Wikipedia + 可选的SearXNG），自动语音播报，全屏模式，GitHub组织数据连接器，模型选择器，以及对话记忆功能。\n- **关键指标概览** — 健康评分（0–100），多样性指数，每周变化，所有注册表的总下载量。\n- **六个交互式图表** — 30天趋势图（聚合/按注册表/前5名切换），注册表份额（极坐标图），投资组合风险（直方图 + Gini系数和P90），前10名增长情况，速度跟踪图（带sparklines），以及30天热力图（带异常值检测，>2σ）。\n- **智能增长引擎** — 通过基线阈值、百分比上限和阻尼速度公式，处理小基数偏差问题。\n- **可执行的洞察** — 自动生成推荐和关注提醒，用于识别下降的软件包。\n- **Pulse面板** — 分屏显示已建立的流行软件包（≥ 50次/周下载）和新兴/新软件包，并带有内联7天sparklines，绝对值和百分比变化，基线信息，以及简要的执行摘要。\n- **实时刷新** — 客户端按需从npm和PyPI API获取数据，并显示进度指示器；结果缓存在sessionStorage中（5分钟TTL），因此Tab切换速度非常快。\n- **导出报告** — 在“刷新”按钮旁边，提供下拉菜单，可以选择三种格式：**Exec PDF**（通过jsPDF实现），**LLM JSONL**（用于AI模型输入的结构化记录），以及**Dev Markdown**（GFM表格）。\n- **排行榜** — 按照每周下载量对132个软件包进行排名，并带有内联30天sparklines和智能趋势标识。\n- **配置页面** — 包含投资组合编辑器（带验证功能），注册表同步辅助部分，以及流水线概览。\n- **帮助Tab** — 提供用户友好的指南，涵盖每个Tab，关键概念，AI助手使用技巧，数据流水线，以及有用的链接。\n- **深色/浅色主题** — 自动跟随系统偏好设置。\n\n数据在构建时获取，并每周由 CI 自动重建（每周一 06:00 UTC）。实时刷新直接从注册中心 API 获取最新数据。在 `site/src/data/packages.json` 中配置要跟踪的软件包（5 个注册中心，共 132 个软件包）。\n\n## 桌面应用程序\n\n一个原生 Windows 应用程序，它将控制面板封装在一个本地 WebView2 容器中：\n\n- **支持离线使用** — 包含打包的 HTML/CSS/JS；无需互联网连接即可使用\n- **实时刷新** — 按需从 GitHub Pages 获取 `stats.json` 文件\n- **CSV 导出** — 一键导出排行榜数据\n- **MSIX 软件包** — 通过 `desktop-ci.yml` 在 CI 中构建和签名\n\n桌面应用程序的源代码位于 `desktop/` 目录中。使用 .NET 10 MAUI 构建，目标是 WinUI 3。\n\n## 安装\n\n```bash\r\nnpm install @mcptoolshop/registry-stats\r\n```\r\n\n## 命令行界面 (CLI)\n\n```bash\r\n# Query a single registry\r\nregistry-stats express -r npm\r\n#  npm     | express\r\n#            month: 283,472,710  week: 67,367,773  day: 11,566,113\r\n\r\n# Query all registries at once\r\nregistry-stats express\r\n\r\n# Time series with monthly breakdown + trend\r\nregistry-stats express -r npm --range 2025-01-01:2025-06-30\r\n\r\n# Raw JSON output\r\nregistry-stats express -r npm --json\r\n\r\n# Other registries\r\nregistry-stats requests -r pypi\r\nregistry-stats Newtonsoft.Json -r nuget\r\nregistry-stats esbenp.prettier-vscode -r vscode\r\nregistry-stats library/node -r docker\r\n\r\n# Create a config file\r\nregistry-stats --init\r\n\r\n# Run with config — fetches all tracked packages\r\nregistry-stats\r\n\r\n# Compare across registries\r\nregistry-stats express --compare\r\n\r\n# Export as CSV or chart-friendly JSON\r\nregistry-stats express -r npm --range 2025-01-01:2025-06-30 --format csv\r\nregistry-stats express -r npm --range 2025-01-01:2025-06-30 --format chart\r\n\r\n# Start a REST API server\r\nregistry-stats serve --port 3000\r\n```\r\n\n## 配置文件\n\n在您的项目根目录下创建一个 `registry-stats.config.json` 文件（或者运行 `registry-stats --init` 命令）：\n\n```json\r\n{\r\n  \"registries\": [\"npm\", \"pypi\", \"nuget\", \"vscode\", \"docker\"],\r\n  \"packages\": {\r\n    \"mcpt\": {\r\n      \"npm\": \"mcpt\",\r\n      \"pypi\": \"mcpt\"\r\n    },\r\n    \"tool-compass\": {\r\n      \"npm\": \"@mcptoolshop/tool-compass\",\r\n      \"vscode\": \"mcp-tool-shop.tool-compass\"\r\n    }\r\n  },\r\n  \"cache\": true,\r\n  \"cacheTtlMs\": 300000,\r\n  \"concurrency\": 5\r\n}\r\n```\r\n\n运行 `registry-stats` 命令，不带任何参数，即可获取所有配置软件包的统计数据。命令行界面会从当前工作目录向上查找最近的配置文件。\n\n配置文件也可以通过编程方式访问：\n\n```typescript\r\nimport { loadConfig, defaultConfig, starterConfig } from '@mcptoolshop/registry-stats';\r\n\r\nconst config = loadConfig();          // finds nearest config file, or null\r\nconst defaults = defaultConfig();     // returns default Config object\r\nconst template = starterConfig();     // returns starter JSON string\r\n```\r\n\n## 编程 API\n\n```typescript\r\nimport { stats, calc, createCache } from '@mcptoolshop/registry-stats';\r\n\r\n// Single registry\r\nconst npm = await stats('npm', 'express');\r\nconst pypi = await stats('pypi', 'requests');\r\nconst nuget = await stats('nuget', 'Newtonsoft.Json');\r\nconst vscode = await stats('vscode', 'esbenp.prettier-vscode');\r\nconst docker = await stats('docker', 'library/node');\r\n\r\n// All registries at once (uses Promise.allSettled — never throws)\r\nconst all = await stats.all('express');\r\n\r\n// Bulk — multiple packages, concurrency-limited (default: 5)\r\nconst bulk = await stats.bulk('npm', ['express', 'koa', 'fastify']);\r\n\r\n// Time series (npm + pypi only)\r\nconst daily = await stats.range('npm', 'express', '2025-01-01', '2025-06-30');\r\n\r\n// Calculations\r\ncalc.total(daily);                         // sum of all downloads\r\ncalc.avg(daily);                           // daily average\r\ncalc.groupTotals(calc.monthly(daily));     // { '2025-01': 134982, ... }\r\ncalc.trend(daily);                         // { direction: 'up', changePercent: 8.3 }\r\ncalc.movingAvg(daily, 7);                  // 7-day moving average\r\ncalc.popularity(daily);                    // 0-100 log-scale score\r\n\r\n// Export formats\r\ncalc.toCSV(daily);                         // \"date,downloads\\n2025-01-01,1234\\n...\"\r\ncalc.toChartData(daily, 'express');        // { labels: [...], datasets: [{ label, data }] }\r\n\r\n// Comparison — same package across registries\r\nconst comparison = await stats.compare('express');\r\nawait stats.compare('express', ['npm', 'pypi']);  // specific registries only\r\n\r\n// Caching (5 min TTL, in-memory)\r\nconst cache = createCache();\r\nawait stats('npm', 'express', { cache });  // fetches\r\nawait stats('npm', 'express', { cache });  // cache hit\r\n```\r\n\n## 仓库支持\n\n| 仓库 | 软件包格式 | 时间序列 | 可用数据 |\n|----------|---------------|-------------|----------------|\n| `npm` | `express`, `@scope/pkg` | 是 (549 天) | 最近一天、最近一周、最近一个月 |\n| `pypi` | `requests` | 是 (180 天) | 最近一天、最近一周、最近一个月、总数 |\n| `nuget` | `Newtonsoft.Json` | No | 总数 |\n| `vscode` | `publisher.extension` | No | 总数（安装量）、评分、趋势 |\n| `docker` | `namespace/repo` | No | 总数（拉取次数）、星级 |\n\n## 内置可靠性\n\n- 自动重试，并在遇到 429/5xx 错误时采用指数退避策略\n- 尊重 `Retry-After` 头部信息\n- 批量请求的并发限制\n- 可选的 TTL 缓存（可插拔，通过 `StatsCache` 接口，您可以自定义 Redis 或文件后端）\n\n## REST API 服务器\n\n可以作为微服务运行，也可以嵌入到您自己的服务器中：\n\n```bash\r\nregistry-stats serve --port 3000\r\n```\r\n\n```\r\nGET /stats/:package              # all registries\r\nGET /stats/:registry/:package    # single registry\r\nGET /compare/:package?registries=npm,pypi\r\nGET /range/:registry/:package?start=YYYY-MM-DD&end=YYYY-MM-DD&format=json|csv|chart\r\n```\r\n\n用于自定义服务器或无服务器环境的编程用法：\n\n```typescript\r\nimport { createHandler, serve } from '@mcptoolshop/registry-stats';\r\n\r\n// Option 1: Quick start\r\nserve({ port: 3000 });\r\n\r\n// Option 2: Bring your own server\r\nimport { createServer } from 'node:http';\r\nconst handler = createHandler();\r\ncreateServer(handler).listen(3000);\r\n```\r\n\n## 自定义仓库\n\n```typescript\r\nimport { registerProvider, type RegistryProvider } from '@mcptoolshop/registry-stats';\r\n\r\nconst cargo: RegistryProvider = {\r\n  name: 'cargo',\r\n  async getStats(pkg) {\r\n    const res = await fetch(`https://crates.io/api/v1/crates/${pkg}`);\r\n    const json = await res.json();\r\n    return {\r\n      registry: 'cargo' as any,\r\n      package: pkg,\r\n      downloads: { total: json.crate.downloads },\r\n      fetchedAt: new Date().toISOString(),\r\n    };\r\n  },\r\n};\r\n\r\nregisterProvider(cargo);\r\nawait stats('cargo', 'serde');\r\n```\r\n\n## 代码仓库结构\n\n```\r\nregistry-stats/\r\n├── src/        # TypeScript engine (published to npm)\r\n├── site/       # Astro dashboard + landing page (deployed to GitHub Pages)\r\n├── desktop/    # WinUI 3 desktop app (.NET 10 MAUI)\r\n└── test/       # Library tests (vitest)\r\n```\r\n\n## 开发\n\n```bash\r\n# Engine\r\nnpm install && npm run build && npm test\r\n\r\n# Dashboard (dev server)\r\nnpm run site:dev\r\n\r\n# Dashboard (production build)\r\nnpm run site:build\r\n```\r\n\n## 安全与数据范围\n\n| 方面 | 详细信息 |\n|--------|--------|\n| **Data touched** | 从 npm、PyPI、NuGet、VS Code Marketplace、Docker Hub 获取的公开下载统计数据。可选的内存缓存。 |\n| **Data NOT touched** | 无遥测。无分析。无凭证存储。无用户数据。无文件写入。 |\n| **Permissions** | 读取：通过 HTTPS 访问公共注册表 API。写入：仅限于标准输出/标准错误输出。 |\n| **Network** | 通过 HTTPS 访问公共注册表 API。可选的本地 REST 服务器。 |\n| **Telemetry** | 未收集或发送任何数据。 |\n\n请参阅 [SECURITY.md](SECURITY.md) 以报告漏洞。\n\n## 评分卡\n\n| 类别 | 评分 |\n|----------|-------|\n| A. 安全性 | 10 |\n| B. 错误处理 | 10 |\n| C. 操作文档 | 10 |\n| D. 发布规范 | 10 |\n| E. 身份验证（软性） | 10 |\n| **Overall** | **50/50** |\n\n> 完整审计：[SHIP_GATE.md](SHIP_GATE.md) · [SCORECARD.md](SCORECARD.md)\n\n## 许可证\n\nMIT\n\n---\r\n\n由 <a href=\"https://mcp-tool-shop.github.io/\">MCP Tool Shop</a> 构建。\n","readmeFilename":"README.zh.md"}