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 🙏

© 2024 – Pkg Stats / Ryan Hefner

sunder-kit

v0.1.1

Published

THIS PACKAGE HAS BEEN MOVED TO @sunder/kit

Downloads

5

Readme

kit

This package has been moved to @sunder/kit

CI NPM badge

Kit is a library of building blocks and utilities for Cloudflare Workers (CFW).

Functionality can be individually imported, so you can pick the parts you need without increasing your bundle size too much.

Some included modules are Sunder framework-specific, these are marked with 〽️. All others modules should be easy to use in any CFW project.

What's included

🔌 Plug-and-play middlewares

  • 🗂 Static file serving (Cloudflare Sites) 〽️
  • 🐛 Error logging through Sentry. 〽️

👨‍💻 Session management

  • 🍪 A cookie-based authentication system for keeping users logged in securely. By being backed by Workers KV (or any other database) you can associate arbitrary data with a session, so there is little excuse for using JWT instead.

🕵️‍♀️ Crypto & Encoding/Decoding

  • 🔏 Random token generation (cryptographically sound), use this to generate post IDs, user IDs or even secrets such as API tokens.
  • 📦 Base64 encoding and decoding (RFC 3548 compliant)
  • 🏷 Base-X encoding and decoding, which can be used for encoding data or random IDs with a given alphabet. Example alphabets:
    • Base 58 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz (does not contain Il0O for easier human copying)
    • Base 62 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ (base64 without special characters)
    • Base 36 0123456789abcdefghijklmnopqrstuvwxyz (all lowercase, useful for case-insensitive systems)

    Warning: these encodings are not RFC3548 compliant. The padding is different, base-x uses Bitcoin's padding scheme.

⚡️ Node compatibility utils (100% local development)

Kit contains the building blocks to achieve Node compatibility fairly easily. This allows for local development and testing without Wrangler-in-the-loop. It contains

  • 🚞 An Express wrapper for Sunder which allows you to run Sunder apps in Node. Combine this with nodemon and you can have live-reload functionality. 〽️
  • 🐠 Polyfills/mocks that make Node behave as closely to a Cloudflare Worker environment as possible.

Why is this important?

  • Development velocity (live reload): instantly see your changes instead of uploading your code every time.
  • A sane testing & CI story: just use Jest or your other favorite Javascript testing framework.
  • Self-hosting: If your project is commercially succesful it is likely that one day you will need to run your Cloudflare Workers outside of Cloudflare's offering. A large enterprise client may pay a lot of $$$ to run your worker on their own servers.

Installation

npm i sunder-kit

Documentation

👷‍♀️ Guides and long-form docs are to-do, use the Typescript typings and comments for now..

The docs will live on sunderjs.com.

License

MIT