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

@pixlcore/xyrun

v1.0.8

Published

Remote job runner script for xyOps.

Readme

Overview

xyOps Remote Job Runner (xyRun) is a companion to the xyOps workflow automation and server monitoring platform. It is a wrapper for running remote jobs inside Docker containers, or over a remote SSH connection.

The idea is that when a job is running "remotely" (i.e. not a direct child process of xySat) then we cannot monitor system resources for the job. Also, input and output files simply do not work in these cases (because xySat expects them to be on the local filesystem where it is running). xyRun handles all these complexities for you by sitting "in between" your job and xySat. xyRun should run inside the container or on the far end of the SSH connection, where your job process is running.

To use xyRun in a xyOps Event Plugin, make sure you set the Plugin's runner property to true. This hint tells xyOps (and ultimately xySat) that the job is running remotely out if its reach, and it should not perform the usual process and network monitoring, and file management. Those duties get delegated to xyRun.

Features

  • Handles monitoring processes, network connections, CPU and memory usage of remote jobs, and passing those metrics back to xyOps.
  • Handles input files by creating a temporary directory for you job and pre-downloading all files from the xyOps master server.
  • Handles output files by intercepting the files message and uploading them directly to the xyOps master server.

Installation

xyRun requires both Node.js LTS and NPM.

Docker

In your Dockerfile, preinstall Node.js LTS if needed (assuming Ubuntu / Debian base):

RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash
RUN apt-get update && apt-get install -y nodejs

And preinstall xyRun like this:

RUN npm install -g @pixlcore/xyrun

Then wrap your CMD with a xyrun prefix like this:

CMD xyrun node /path/to/your-script.js

xyRun will directly launch whatever is passed to it on the CLI, including arguments.

Other

For other uses (i.e. SSH) install the NPM module globally on the target machine where the remote job will be running:

npm install -g @pixlcore/xyrun

Then wrap your remote command with a xyrun prefix:

ssh user@target xyrun node /path/to/your-script.js

Script Mode

When no sub-command is specified on the CLI, xyRun will look inside the job JSON data (passed in via STDIN) for a parameter named script. If this is found, it is quickly written out to a temp file, made executable (775), and that is what it launches. It is assumed that the provided script will contain a proper Shebang line.

This allows xyRun to act as a "Remote Shell Plugin" for certain xyOps jobs that require it.

Development

You can install the source code by using Git (Node.js is also required):

git clone https://github.com/pixlcore/xyrun.git
cd xyrun
npm install

You can then pass it mock job data by issuing a pipe command such as:

echo '{"xy":1, "runner":true}' | node main.js node your-script-here.js

License

See LICENSE.md in this repository.