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

@bitblit/ports-of-call

v0.2.1

Published

Serial device detector and wrapper

Downloads

43

Readme

@bitblit/PortsOfCall

Detector and wrapper for serial port devices

Introduction

A computer may have multiple devices attached to it through serial ports, but we may not know which devices there are, and wo which ports they are connected. Moreover, which port they are on can change over time. PortsOfCall combines an architecture for searching the various attached ports, trying to detect what device is attached to them, with wrappers that can then be attached to the port and used as abstractions for the device itself. While I mean for it to have a plugin architecture, the main devices I mean to support out of the box are GPS units and OBD-II devices for cars.

Installation

npm install @bitblit/ports-of-call

Usage

TBD

Dependencies

This library depends on the following libraries:

  • Serialport - I really hope its obvious why I depend on this
  • GPS - For processing data coming in from the gps device
  • Ratchet - I depend on my own Ratchet library for various utility functions
  • Winston - because I always need logging
  • Moment - because I always need better date handling than what comes with Javascript
  • Moment-Timezone - because I always need timezone specific handling of date
  • RXJS - I use observable timers for periodic reconnection, as well as for wrapping some things in observables

Testing

Ha! No, seriously - I am actually improving on this in Node, slowly (2018-03-23)

To run the tests that ARE in here,

npm test

Release Notes

The 0.x.x branches are built on Node 8.11.1.
The 0.1.x branches are built on Node 8.12.0. The 0.2.x branches are built on Node 10.x

Deployment

I'll write notes-to-self here on how my deployment from CircleCI is actually going to work.

Following the notes from here. Important points:

  • Everything in the package that isn't in .gitignore or .npmignore gets uploaded. Review before post

For circleci using these notes

Looks like its my standard - set a release tag and push to Github, CircleCI takes care of the rest:

    git commit -m "New stuff"
    git tag -a release-0.0.5 -m "Because I like it a lot"
    git push origin master --tags

Also following notes from here on converting the typescript into usable javascript+mapping stuff.

Contributing

Pull requests are welcome, although I'm not sure why you'd be interested!