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

thunderpush

v0.1.0

Published

Thunderpush API library

Downloads

2

Readme

Thunderpush API library for node.js

Thunderpush API library

Getting Started

Install the module with: npm install thunderpush

var Thunderpush = require('thunderpush');

var thunderpush = new Thunderpush({
    host: 'localhost', // default: localhost
    port: 1234, // default: 80
    key: 'somepublickey',
    secret: 'someprivatekey'
});

// build connection
var tpHandle = thunderpush.connect();

// Get channel users
tpHandle.channel("my-channel").get(); // [123, 456, 789]

// Message channel users
tpHandle.channel("my-channel").message("hi"); // 3

// Get number of connected users
tpHandle.user().get(); // 12

// Get user 123 presence
tpHandle.user(123).presence(); // online || offline

// Message user 123
tpHandle.user(123).message("hi"); // 1

// Disconnect user 123
tpHandle.user(123).disconnect();

Install with cli command

$ npm install -g thunderpush
$ thunderpush-cli --help
    Usage: cli [options] [command]

      Commands:

        ping
           Test connection

        server:connections
           Get number of connections

        server:users [options]
           Get count of users

        server:channels
           Get list of channels

        channel:users [options] <channel>
           Get list of users in a channel

        channel:message <channel> [message]
           Send message to a channel

        user:presence <user>
           Get user presence

        user:message <user> [message]
           Send message to a user


      Options:

        -h, --help                    output usage information
        -V, --version                 output the version number
        -h, --host <hostname>         Hostname of service
        -p, --port <port>             Port of service
        -k, --key <key>               Key for service [required]
        -s, --secret-key <secretKey>  Secret key for service [required]
        -v, --verbose                 Add verbosity

      Examples:

        $ thunderpush-cli -vvv -k key -s secret ping
            DEBUG: Sending ping
            DEBUG:     Server took 200ms
$

Documentation

See source code for documentation.

(More coming soon)

Examples

See the cli script for an example

(More coming soon)

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

License

Copyright (c) 2014 Ryan Schumacher
Licensed under the MIT license.