Skip to content

Via package.json, configure glob patterns to watch and invoke an npm run script on change.

License

Notifications You must be signed in to change notification settings

wilmoore/rerun-script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rerun-script

Build Status NPM version NPM downloads LICENSE js-standard-style

Invoke npm scripts upon file changes. Configure via package.json using glob patterns.

$ npm install rerun-script --save-dev

usage

Usage: rerun-script [options]

Options:

  -a, --automatic              run tests automatically
  -h, --help                   output usage information
  -V, --version                output the version number
  -d, --directory [directory]  package directory

configure package.json

  • NOTE 1: While the examples below use the standard lint checker, you are free to use any lint checker you like.
  • NOTE 2: The watch script in package.json is optional and is only necessary if you plan to invoke rerun-script via npm run. You can use any script name you like.

package.json

compact (recommended) format:
{
    "scripts": {
        "test": "node test.js",
        "lint": "standard",
        "watch": "rerun-script"
    },

    "watches": {
        "test": [ "*.js", "lib/**/*.js", "test/**/*.js" ],
        "lint": [ "*.js", "lib/**/*.js", "test/**/*.js" ]
    }
}
verbose format:
{
    "scripts": {
        "test": "node test.js",
        "lint": "standard",
        "watch": "rerun-script"
    },

    "watches": [
        {
            "script": "test",
            "patterns": [ "*.js", "lib/**/*.js", "test/**/*.js" ]
        },
        {
            "script": "lint",
            "patterns": [ "*.js", "lib/**/*.js", "test/**/*.js" ]
        }
    ]
}

If you only have one pattern to match for a script, you can pass in a string instead of an array:

{
    "scripts": {
        "test": "node test.js",
        "lint": "standard",
        "watch": "rerun-script"
    },

    "watches": {
        "test": "test/**/*.js",
        "lint": "*.js"
    }
}

start the watcher

# directly
$ ./node_modules/.bin/rerun-script

# or via `npm run watch`
$ npm run watch

screenshot

License

MIT

About

Via package.json, configure glob patterns to watch and invoke an npm run script on change.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •