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

grunt-supervisor

v0.3.0

Published

Run supervisor as a grunt task for easy configuration and integration with the rest of your workflow.

Downloads

88

Readme

grunt-supervisor

NPM version Dependency Status Downloads counter

Run supervisor as a grunt task for easy configuration and integration with the rest of your workflow.


This Grunt task is freely inspired from the grunt-nodemon by Chris Wen.

Getting Started

If you haven't used grunt before, be sure to check out the Getting Started guide, as it explains how to create a gruntfile as well as install and use grunt plugins. Once you're familiar with that process, install this plugin with this command:

npm install grunt-supervisor --save-dev

Then add this line to your project's Gruntfile.js gruntfile:

grunt.loadNpmTasks( "grunt-supervisor" );

The "supervisor" task

In your project's Gruntfile, add a section named supervisor to the data object passed into grunt.initConfig().

Minimal usage

The minimal usage of grunt-supervisor runs with a script specified:

supervisor: {
  target: {
    script: "index.js"
  }
}

Usage with all available options

supervisor: {
  target: {
    script: "index.js",
    options: {
      args: [ "dev" ]
      watch: [ "bin" ],
      ignore: [ "test" ],
      pollInterval: 500,
      extensions: [ "js,jade" ],
      exec: "node",
      debug: true,
      inspect: true,
      debugBrk: true,
      harmony: true,
      noRestartOn: "exit",
      forceWatch: true,
      quiet: true,
      forceSync: true
    }
  }
}

Required property

script

Type: String

Script that supervisor runs and restarts when changes are detected.

Options

The following options corresponds to the available options from supervisor. If you don't pass these options to the grunt tasks, the default values of supervisor will be used.

args

Type: Array of Strings List of arguments to be passed to your script.

watch

Type: Array of Strings List of folders or js files to watch for changes.

ignore

Type: Array of Strings List of folders to ignore for changes.

pollInterval

Type: Number of milliseconds How often to poll watched files for changes.

extensions

Type: Array of Strings List of file extensions to watch for changes.

exec

Type: String The executable that runs the specified script.

debug

Type: Boolean Starts node with --debug flag.

debugBrk

Type: Boolean Starts node with --debug-brk flag.

inspect

Type: Boolean Starts node with --inspect flag.

harmony

Type: Boolean Starts node with --harmony flag.

noRestartOn

Type: String, "error" or "exit" Don't automatically restart the supervised program if it ends. Supervisor will wait for a change in the source files. If "error", an exit code of 0 will still restart. If "exit", no restart regardless of exit code.

forceWatch

Type: Boolean Use fs.watch instead of fs.watchFile. This may be useful if you see a high cpu load on a windows machine.

quiet

Type: Boolean Suppress DEBUG messages

forceSync

Type: Boolean Avoid the default async behavior. Set to true if there is another task like "watch" folowing this one.

Using supervisor with a watch task.

You can use supervisor and a watch task using the forceSync option.

For more advanced use, please consider the use of grunt-concurrent task.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Contributors

Many thanks to them. :)

Release History

  • 0.1.0: Initial release (28/02/14)
  • 0.2.0: Add forceSync option (23/04/14)

TODO

Write tests :)

License

Copyright (c) 2014 Leny Licensed under the MIT license.