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

livecable

v0.0.12

Published

A small browser agnostic live-reload library that does not require manual client-side code.

Downloads

15

Readme

livecable

A small browser agnostic live-reload library that does not require manual client-side code

Getting started

Standalone

You can either use this as a standalone server by cloning this repo and run the command npm start. Then just replace files inside static folder and you are good to go.

NPM Package

OR you can install livecable as a package through npm. Livecable at the moment works only with ExpressJS

npm install --save-dev livecable

Sample

Below you can find the most minimal setup needed for livecable to work. For a list of options check the configuration section below.


const express = require('express')
const livecable = require('livecable')

const app = express()

livecable(app, {
  pathToWatch: `${process.cwd()}/static`
})

... rest of your code

Single Page Applications

Livecable has experimental support for single page applications. Please refer to the configuration options on how to enable this.

How it works

Livecable is built on the idea that the fetched page from the browser does not need user interaction to add client-side code. Livecable automatically injects the required client-side code to establish a websocket connection. Then its a matter of watching for changes in the specified path. Special props to live-server which this project is based off of.

Configuration options

There are few configuration parameters you can pass to livecable. (see sample above)

pathToWatch

type: String

As the name suggests, its the root path that livecable will watch for. Its best to use process.cwd() and then the folder name. e.g. process.cwd()/dist

entryPointFile

type: String

This option tells livecable what the default entryPoint in the pathToWatch directory is. The default is index.html

socketAddress

type: String

If your app already connects to a websocket address and for coincidence the socket path ends in livecable, you can change it here to avoid conflicts. Default is livecable e.g. ws://localhost:8080/livecable

spa

type: Boolean

If you are working with a single-page application then you need to enable this. Default false

Contribution

Feel free to open up issues and make pull requests.