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

ez-command

v1.0.3

Published

CLI tool that aggregates commands and facilitates their execution

Downloads

4

Readme

ez-command

Motivation

When troubleshooting differents environments at the same time I found myself having multiple terminal tabs (with each tab splitted up to 4 terminal) for SSH tunneling, TCP redirections and diagnostic commands among others. Each environment could have been running in a different deployment (say k8s or plain instances) and felt like the cognitive load to switch, add or toggle any of these "groups" of terminals was way too much. I have a really bad memory and wanted something that could help me remember the little tiny details while at the same time being interactive for the user.

Install

You can use npx (npx ez-command -c config.json) or install it globally npm i ez-command -g

Usage

Throughout configuration you will be able to define the name, the command to be executed and a URL property (optional). The URL column is not detected automatically, it's meant to be an easy shortcut (CTRL+click) to open a URLs from the list. The configuration can follow two different formats: groups of commands or a plain list.

Using groups

If you want to define separate certain commands from others groups will be useful. An example of a configuration file using groups would look like as follows:

{
  "groups": [
    {
      "name": "first group",
      "items": [
        {
          "name": "item1 - group 1",
          "command": "ls"
        }
      ]
    }, {
      "name": "second group",
      "items": [
        {
          "name": "item1 - group 2",
          "command": "ps aux"
        }
      ]
    }
  ]
}

Using a plain list

If you're not interested in separating different groups of commands you can provide a configuration similar to the following:

[
  {
    "name": "first item",
    "command": "ls"
  }, {
    "name": "second item",
    "command": "printenv"
  }
]

Examples

You can browse the examples directory to see some configurations.

ez-command-demo

Customization

The theme by default is green but you can tweak and provide your own customized theme by running:

$ ez-command --theme path/to/your/theme -c config.json

ez-command is also built to support multiple layouts like the logs container displayed on the right, or the bottom. To use such layouts you can specify ez-command --layout "number" where number can be one of the described layouts below:

| Layout number | description | |:-:|:-:| | 1 | item list to the left and logs to the right | | 2 | item list to the right and logs to the left | | 3 | item list to the top left and logs on the bottom half |

Author

Alejandro Oviedo <[email protected]>