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

polkadash

v1.0.0

Published

The Polkadot Dashboard

Downloads

2

Readme

Polkadash

The Polkadot Dashboard

Screenshot

image

How it works

Polkadash comes in two parts: the server and the client. The server serves out an HTML file containing the basic static page and the JS "bundle" file built from the client project. It also sets up a Websockets server that pushes updated data to the client as it becomes ready. The data is fetched from the local Polkadot node (assumed to be running on ws://localhost:9933) via RPC, cached and sent onto the Websockets connection using polkadot.js Bonds API and the generic serveBonds function.

The client is a basic Bonds + React application which uses WebsocketBond to succinctly receive the updates to the page in the form of Bonds. The Bonds represent richly typed values that makes working with the composite types common in Polkadot easier. They are isolated and displayed using simple Rspan tags from the oo7-react library, after being prettified/stringified according to their type.

Install

To install, ensure you use npm i in both the server (top level directory) and client (under client/):

npm i && cd client npm i

Development

To develop, run npm run dev in both the top-level directory and the client/ subdirectory. In one terminal keep the client bundle up to date:

$ cd client && npm run dev

Then in another, keep the server up to date:

$ npm run dev

Finally, open your browser (the default port to serve the page from is 3000):

http://localhost:3000/

Deploy

The port on which the page is served is 3000 by default. To change it to e.g. 80, create config.json in the top-level and edit it so it reads:

{
  "port": 80
}

The Websockets connection is hard-coded to be 40510. Ensure this port and the previous are both open on your server.

Finally, just run npm start. This will build the client bundle once and then run the server:

$ npm start