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

asrtd

v1.3.7

Published

asserted.io client

Downloads

11

Readme

asrtd

npm CircleCI GitHub

asserted logo

asserted.io command line interface

Test in prod. Continously integration test your app with tests written in Mocha.

Installation

Install the command line client and log in.

npm i -g asrtd
asrtd login

Move to your project directory and initialize.

cd my-project
asrtd init

This will create an .asserted/ directory containing the following:

routine.json    ## Routine configuration with interval and mocha config
package.json    ## NPM package defining the (currently) fixed set of dependencies available during testing
examples/       ## Directory containing examples, can be modified or removed   

Developing Locally

Create some tests inside .asserted/ (or modify the tests in examples/), then run them using the command below:

asrtd run

asrtd records

By default, test files should be suffixed with .asrtd.js to be picked up by Mocha, but that can be configured in routine.json.

Push to asserted.io

When you're ready to run them continuously, use:

asrtd push

They'll immediately start running on asserted.io with the interval that you specified. Go to app.asserted.io to configure the notification preferences for test failures to get pinged by email, SMS, or Slack webhook.

Status, Timeline, and Records

To see the current status of the routine associated with the current directory, run:

asrtd status

asrtd records

To get a timeline of the how the status has changed recently, run:

asrtd timeline

asrtd records

To get a list of recent records, run:

asrtd records

asrtd records

Commands

At any time you can run asrtd --help to get a list of available commands.

asrtd records

Dependencies

Fixed Dependencies

The dependencies available on the free plan are fixed, but they should cover most major use cases.

For cases where custom dependencies are required, upgrade to a paid plan.

Major libraries

All Available Dependencies

{
    "ajv": "^6.12.2",
    "async": "^3.2.0",
    "axios": "^0.19.2",
    "bcrypt": "^4.0.1",
    "bluebird": "^3.7.2",
    "chai": "^4.2.0",
    "cookie": "^0.4.1",
    "crypto-js": "^4.0.0",
    "dotenv": "^8.2.0",
    "faker": "^4.1.0",
    "fs-extra": "^9.0.0",
    "getenv": "^1.0.0",
    "got": "^11.1.3",
    "http-status": "^1.4.2",
    "ip": "^1.1.5",
    "jsdom": "^16.2.2",
    "jsonwebtoken": "^8.5.1",
    "lodash": "^4.17.15",
    "luxon": "^1.24.1",
    "mocha": "^7.1.2",
    "moment": "^2.25.3",
    "ms": "^2.1.2",
    "node-fetch": "^2.6.0",
    "qs": "^6.9.4",
    "ramda": "^0.27.0",
    "request": "^2.88.2",
    "request-promise": "^4.2.5",
    "sinon": "^9.0.2",
    "tar": "^6.0.2",
    "underscore": "^1.10.2",
    "uuid": "^8.0.0",
    "validator": "^13.0.0"
}

Custom Dependencies

For paid plans, custom dependencies are an option. To use custom dependencies, just change the "dependencies" entry in your routine.json to "custom", as shown below.

{
  "id": "rt-GKgRG",
  "projectId": "p-1HLbs9Z",
  "name": "custom-dep-tests",
  "description": "Tests with Custom Dependencies",
  "interval": {
    "unit": "min",
    "value": 10
  },
  "dependencies": "custom", // The "custom" option is available on paid plans
  "mocha": {
    "files": [
      "**/*.asrtd.js"
    ],
    "ignore": [],
    "bail": false,
    "ui": "bdd"
  },
  "timeoutSec": 10
}

Once that change is made, any subsequent pushes will include all of the dependencies listed in the "dependencies" entry of your package.json. "devDependencies" and "peerDependencies" are ignored.

A modified version of npm-shrinkwrap is used to capture the exact versions of the dependencies in your current node_modules folder during the push.