My NPM Packages

Supporting the Developer Ecosystem

Here's a few of the packages I have released on NPM. Developing self-contained code for consumption by others has taught me a lot about the importance of intuitive APIs, effective code reuse, and quality code.

Scroll Down

PackageWeak LRU Cache

A simple implementation of an LRU cache that expires items with Weak References to allow the cache items to continue to be reused until garbage collected.

Implements the entire Map api, allowing easy drop in usage in existing apps using Maps to cache responses.

NPM VersionNPM DownloadsMINZIPPED SizeNPM Type Definitions

PackageESLint Filename Enforcement

A simple ESLint plugin to enforce the name of JS and TS module files matching to the names of their exports.

Rules:

  • match-named-export: Enforces that the filename matches to a named export.
  • match-default-export: Enforces that filenames match the name of the default export.
NPM VersionNPM DownloadsMINZIPPED Size

PackagePreact Heroicons

The beautiful Heroicons all bundled up as Preact components. Tree-shakable and Typed for use in any Preact project.

This project was a necessity, as the official Heroicons React components are not compatible with Preact typings, and of course also require preact-compat which just won't do.

NPM VersionNPM DownloadsMINZIPPED SizeNPM Type Definitions

PackageSpotify API

Born from my own difficulties using other wrapper libraries for Spotify, this library seeks to be the best possible API wrapper.

  • 🏷 Types out of the box!
  • 🌴 Treeshakeable and composable!
  • ⚡️ Improved performance from the intelligent use of caches and batching!
  • 🏗 Consistent Behavior through normalized return types!
  • 🦕 Supports Deno and Bun out of the box!
NPM VersionNPM DownloadsMINZIPPED SizeNPM Type Definitions

PackagePreact Global State

A simple, lightweight global state manager, now with 100% more Signals!

Perfect for enabling simply access to globally available state from anywhere in your app, only as needed.

NPM VersionNPM DownloadsMINZIPPED SizeNPM Type Definitions

PackageEasy Hotkeys

This is a very simple package that allows you to register hotkeys to run functions, or update state easily in response to key presses!

Includes Types, and is fully compatible with Preact/React useEffect hooks

NPM VersionNPM DownloadsMINZIPPED SizeNPM Type Definitions