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

kape

v0.0.43

Published

Monorepo for all projects by RayBenefield

Downloads

59

Readme

Kape

Kape is a testing framework focused on Developer Experience first. It does this by prioritizing the following concepts as first class citizens:

  • Snapshot Testing
  • Data Driven Testing
  • Behavior Driven Development
  • CLI UX
  • Promises

Inception

As a developer that loves the most minimal setup possible with the smallest footprint, I've always been tied to Tape as a testing framework. Over time, Tape was not able to fulfill the needs I had of a testing framework. I really enjoy Behavior Driven Development terminology so to enable that I added in Tape BDD. Following that I really wanted Snapshot Testing as made popular by Jest. While I thought that would be a simple thing to add... it wasn't. While trying snapshot testing, I also really needed promise support and I needed to add Blue Tape. At that moment I realized I needed something to do all of the above.

On top of that growing stack just for testing, I am also a REALLY lazy developer... most of the time I just want to know that a function's output does not change as long as I maintain the same input. I wanted a Snapshot Testing First strategy, that was just not easy to do in any framework. I tried getting Jest to work, but ultimately I got stuck in configuration hell due to the Alle monorepo setup. So instead I decided to write my own framework where all you needed to provide was a set of inputs and the framework would snapshot the output of the function under test by default and always check against the snapshot. And with that Kape was born.


Usage

The simplest way to use Kape is below:

import describe from 'kape'
import funcUnderTest from './some-function'

describe('Name of Function', funcUnderTest, snapshot =>
    snapshot([], [arg1], [arg1, arg2])
)

The above will run 3 tests. It will run each argument of snapshot as a set of arguments for the given funcUnderTest, after running that it will snapshot the result and save it. If a snapshot already exists, it will validate against the old snapshot, and then ask for verification if any changes are present. Simple as that.