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

sinae

v0.0.1-beta.0

Published

A light-weight testing framework.

Readme

sinae

A light-weight testing framework. Made using pure JavaScript.

User Stories

As a Maker,
So I can group all my tests,
It should have a way to group tests under a main title

As a Maker,
So I can see what the test is about,
It should have a way to title tests

As a Maker,
So I can test my code is working correctly,
It should have a way to evaluate values

As a Maker,
So I can check my tests,
It should print out to the console if they pass or fail

As a Maker,
So I can check what wrong with my test,
It should print out what was expected and what actually happened

As a Maker,
So I can test my software is working correctly,
It should have a way to evaluate values in different ways

As a Maker,
So I can read the console output easily,
It should indent the output

Instructions

Installation

 npm install -D sinae
 yarn add -D sinae

Usage

Require the framework in your test file:

const sinae = require('sinae')

// add required functionality (see API)
const describe = sinae.describe
const it = sinae.it
const expect = sinae.expect

API

describe(description: String, fn: Function)

Creates a block that groups several tests together.

  • description: identifies the group of tests in the console.
  • fnfunction declaration, inside which you can further organise your test suite using describe blocks, or, set up a test inside an it block.

it(description: String, fn: Function)

Creates a block where you can set up and run a test.

  • description: identifies the test in the console
  • fn: function decleration, inside which the test is set up and an expectation is defined

expect(value: any).<matcher>(condition: any)

Stores a value, which is passed onto a matcher for evaluation.

  • value: the variable, returned value, or object passed in for evaluation
  • condition: the expectation the value will be compared to

Matchers

Equality

Evaluate value against condition.

  • toEqual(condition: any): normal comparision
  • toNotEqual(condition: any): normal comparision
  • toBe(condition: any): strict comparision
  • toNotBe(condition: any): strict comparision

Inclusion

Evaluate whether an array (value) contains the condition.

  • toContain(condition: any): passes if condition array contains condition one level deep
  • toContain(condition: any): passes if condition array doesn't contain condition one level deep

Note: useage of expect is expect(value: Array) for inclusion matchers.

Style

Logs inside describe and it blocks are indented:

Makers
  #culture
    has an awesome culture

Passing tests are green and failing tests are red. Failing tests display what was expected and what was received:

Programming Languages
  Python rocks // green output
  JavaScript is better than Ruby // red output
    
    Expected: true
    Got: false