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

air-srv

v1.0.3

Published

AIR — a lightweight prototyping framework for gun, riot and pug

Downloads

3

Readme

AIR — a lightweight prototyping framework for gun, riot and pug

DISCLAIMER: totally work in progress


air runs a web server that

  • serves static files from ./static
  • compiles tags in ./src/tags from pug to riot js
  • live syncs authoritative changes via GUN

Getting started

install air from npm or yarn

yarn global add air-srv       OR         npm install -g air-srv

initialize a minimal air project

air init

to start hacking, run

air

and open http://localhost:8765/. You should see a minimal page.

now, edit ./src/tags/hello-world.riot.tag to your liking. Save and boom.

Command line options

air [command] [options]

COMMANDS
serve                             [default] start a gun server on http
init                              create a small air project in cwd
print NODEPATH                    load NODEPATH and print as JSON
version                           print version numbers and exit

GENERAL OPTIONS
--file PATH         ./gundata/    set file parameter of Gun()
--peers STRING                    comma-seperated list of URLs and IPs
                                  (IPs are expanded to http://IP:8765/gun)
--no-color                        do not use any colors in output
--debug                           print GUN debug info
--silent                          reduce command line output
--repl                            go into a repl (with gun instace)
--config            ./air.json    read configuration from file
                                  set to false to ignore existing file
--auth              ./.auth.json  file path or user:pass string

[serve] OPTIONS
--host STRING       0.0.0.0       set the ip to listen on
--port NUMBER       8765          set the port to listen on
--watch PATH                      log changes with gun.path(PATH).on()
--certs PATH        ./certs       use https with cert files from PATH
                                  (key.pem, cert.pem, ca.pem)
--nocerts                         disable auto-discovery of ./certs
--webrtc                          load lib/webrtc
--axe                             load axe
--uploads           true          allow remote uploads
--uploads.dir STR   uploads       uploads destination subfolder
--uploads.limit N   50            uploads limit in MB

[init] OPTIONS
--overwrite         false         overwrite existing files and folders

[print] OPTIONS
--out FILENAME                    write to FILENAME instead of stdout
--indent STRING                   indent characters for JSON output
--debounce NUMBER   50            debounce .load() to resolve nested data
                                  set to 0 to disable debouncing
--timeout NUMBER    1000          wait this much for answers to your request