npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details


  • User packages



Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.


Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2022 – Pkg Stats / Ryan Hefner




use puppeteer geek time course to pdf





print your geek time course to pdf. If you have already bought it

need phone, password, course name.

Do not record any information...

npm install geek-time-topdf -g  # in china use cnpm | 推荐使用 cnpm,加快安装速度

gkpdf init # 账号初始化
gkpdf clear # 清除账号信息

将你已经购买的极客时间的课程,打印为 pdf。





Run in docker container via VSCode

Open this folder in container in VSCode.

Or add --cap-add=SYS_ADMIN when run and build the docker image alone.

通过 VSCode 在 docker 容器中运行

在 VSCode 容器中打开此文件夹。

或者在单独运行并构建 docker 映像时添加 --cap-add=SYS_ADMIN


  • 4.1.0: feat: 增加国家代码,调整样式过滤
  • 4.0.5: feat: 添加 clear 命令。用于切换账号
  • 4.0.4: fix: 修复 windows 下文件名存在非法字符导致的下载出错
  • 4.0.3: fix: 修复课程打印不出来的问题
  • 4.0.2: fix: 课程名称处理正则未全局匹配
  • 4.0.1: fix: 课程展示不全
  • 4.0.0: 调整为接口获取课程方式。(必须更新,旧的包已不可使用
  • 3.2.0: 调整了课程搜索的滚动方式,增加成功率
  • 3.0.0: 处理极客时间登陆改版,导致登陆不了的问题,并且加了一个重复打印的选项
  • 2.0.2: 修改页面滚动的等待时间,提高成功率
  • 2.0.1: 修复 windows 系统下 特殊中文字符 pdf 生成报错的问题
  • 2.0.0: 更新代码来支持极客时间的最新版页面(必须更新,旧的包已不可使用
  • 1.1.4: 修复自定义目录时,未正确创建目录的 bug
  • 1.1.2: 版本添加 png 输出选项


  • [ ] 一键下载所有课程
  • [ ] 出错自动重试
  • [ ] puppeteer page 并行