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

ndt

v1.0.6

Published

NodeJS daemon tools helper

Downloads

50

Readme

ndt

ndt is a Daemon Tools wrapper for NodeJS that will create, remove, and upgrade the daemon tools folder structure. Where <action> is from the list below.

Usage

Basic app usage

$ sudo su -
$ npm -g install ndt
$ cd /opt/myapp
$ ndt install
$ ndt <action>
$ ndt remove

Database Support

ndt Also supports saving instances to a local database so commands can be ran from anywhere. Also allows use of macros. Where <action> is from the list below.

$ cd /opt/myapp
$ ndt save
$ cd /
$ ndt myapp <action>
$ ndt unsave myapp

Macros

These functions affect all members of the database. Where <action> is from the list of actions below.

$ ndt all <action>

Actions

The following actions are available when using ndt commands that support <action>

  • alarm - Send instance an alarm
  • continue - Continue a paused instance
  • exit - Have supervise exit after instance ends (not for production)
  • hangup - Tell an instance to hangup
  • interrupt - Send instance an interrupt
  • kill - Kill an instance
  • once - Run an instance once and dont restart if it dies
  • pause - Pause an instance
  • restart - Restart an instance
  • start - Start an instance
  • status - Get instance status
  • stop - Stop an instance

dt.json

In order for an application to work with ndt.

{
  "name": "myapp"
  "cwd": "/opt/myapp",
  "user": "node",
  "command": "node app -vv"
  "env": {
    "NODE_ENV": "production",
    "DEBUG": "*"
  },
  "log": {
    "user": "node",
    "command": "multilog s16777215 t /var/log/node/myapp"
  }
}

Generating the dt.json

It is possible to generate the dt.json file in order to make the setup process a bit less cumbersome.

In order to properly populate the environment variables. We recommend piping them through stdin.

EG:

$ su - node
$ cd /opt/myapp
$ env | ndt generate --command "node app -vv" --stdin

Debugging

This package is built using the https://www.npmjs.org/package/debug package.

Use the following to see debug output

$ cd /opt/myapp
$ DEBUG=ndt* ndt install

Changelog

1.0.6

  • Fix main field

1.0.5

  • Latest dependencies
  • Update package json

1.0.4

  • Update to latest commander
  • Fix to default listing

1.0.3

  • Fix handling of default command due to a change in commander

1.0.2

  • Fix included daemontools template to use setuidgid instead of envuidgid

1.0.1

  • Fix update with ndt status not listing status and producing errors
  • Fix issue with list command not being called with no arguments

1.0.0

  • Update dependencies
  • Add support for latest Node.js versions
  • Drop support for Node.js < 4.x
  • Bump to 1.0.0 for a stable perpetual release marking 2 years with ndt in production.

0.3.0

  • Major refactor of the internal code
  • Added macro actions such as ndt all stop
  • Database is now stored globally in /etc/ndt/ndt.json
  • Confirmation of all commands working

0.2.0

  • Completion of features and testing
  • Restart now waits for process exit
  • Removal now waits for process exit
  • Database support

0.1.0

  • Initial release