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

sideline

v1.2.1

Published

CoffeeScript shell for your server

Downloads

10

Readme

Sideline, a CoffeeScript shell for your server

Use Sideline in development to troubleshoot bugs, munge data, live-edit functions, test code snippets.

Connect Sideline over SSH to troubleshoot production instance.

Run Sideline in standalone mode and use model objects to mess with the database.

Sideline talks CoffeeScript.

Add a shell to your Web server

With Express you could:

Sideline = require("sideline")

server.configure "development", ->
  Sideline.using(server: server).listen()

Connect to the running server and do stuff:

$ sideline
> server.settings.env
'development'
> server.routes.routes.post.map (r)-> r.path
[ '/signin', '/signup', '/v1/push', '/upload' ]
> server.settings.cache = false
false

Things you will always find in the global scope:

console
global
process
module
setTimeout/clearTimeout
setInterval/clearInterval
sideline
require
_

The _ property hold the result of the last statement.

Use sideline.using() to add more properties to the global scope.

Edit code snippets with the scratchpad

The .edit command opens a text editor, and runs the code when you’re done:

$ sideline
> .show

> .edit
1
> .show
c = "foo:bar:baz"
c.split().length

Use .show to see the contents of the scratchpad.

You can also use .edit and .show to edit functions:

$ sideline
> .show foo.bar
foo.bar = ->
  "before"
> .edit foo.bar
> foo.bar()
'after'
> .show foo.bar
foo.bar = ->
  "after"

Sideline uses the editor from the SIDELINE_EDITOR or EDITOR environment variable.

For example, for Vim you would want to use: vim --nofork -c "set syntax=coffee".

See more commands by typing .help.

For example, try this:

$ sideline --self
> .expand require("./lib/sideline")

Add an application shell

You can run Sideline as standalone shell by connecting to itself:

#!/usr/bin/env coffee
app = require("config/app")
Sideline = require("sideline")
Sideline.using(app: app).connect()

Sideline defaults to port 1973, but when used in this way will upgrade to port 1974.

Or use the --self command line option:

$ sideline --self
Sideline listening on port 1974
Sideline client connected from 127.0.0.1
>

Teleporting into production

Use your SSH access to tunnel into production instance:

$ ssh -f -L 1973:localhost:1973 -N awesome.do.ma.in
$ sideline
>

License

Sideline is copyright of Assaf Arkin, released under the MIT License