npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

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.

About

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 🙏

© 2026 – Pkg Stats / Ryan Hefner

joplin-plugin-lootboxes

v1.0.0

Published

This [Joplin](https://joplinapp.org/) plugin provides a 'gamification' element for users who use to-do notes to track completion of tasks.

Readme

Lootboxes

This Joplin plugin provides a 'gamification' element for users who use to-do notes to track completion of tasks.

This app relies on Joplin's inherent synchronization capabilities to maintain the user's earned inventory state and lootbox progress across devices. Joplin's media caching also allows the user to easily access and view the multiple media files of their earned lootboxes.

Features

  • Modify the number of to-do notes to complete in order to earn a lootbox within the plugin settings menu. To-do notes will automatically be converted when the lootbox panel is opened, and when a synchronization event is completed.

  • Customize the UI behavior on startup with the checkboxes in the plugin settings menu.

  • Configure a custom keyboard shortcut to toggle the lootbox panel in the Joplin settings. By default this is ctrl+3

Known Issues

  • When a media element is clicked on and expanded into the magnified dialog view, if the user moves their cursor out of the dialog bounds and presses esc twice to close the dialog, the dialog will disappear but the Joplin application will freeze as if there is still a dialog covering the screen. This is avoided for now by clicking the 'close' button to exit from the dialog.

Todo:

  • add more sorting and view options for earned lootboxes
  • enable functionality to specify subset of notebooks which are allowed to earn lootboxes, letting other sections function as normal
  • see if plugin can work well on mobile
  • investigate video element loading behavior
    • looks like Joplin implements native media caching that plays well with the content displayed in the lootbox panel. However, the video elements are often loaded as the blank media fallback element, only loading in when the mouseenter event is triggered...
      • perhaps the video preloading logic can be adjusted, or the caching logic can be adjusted to have these elements load in more smoothly.
  • investigate why clicking out of the big dialog and pressing esc twice causes the application to freeze
  • add more lootboxes
  • determine if it's beneficial to add an optional caching setting for 'all lootboxes' so new lootboxes can be earned offline
  • clean up the verboseLogs value in util.ts; make log messages more consistent in general

suggestions and feedback are welcome!