Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including big-eye with all npm packages installed. Try it out:

var bigEye = require("big-eye")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

big-eye v0.1.2

Execute commands on file changes

Logo

Execute specified command on file change(s)

Travis build AppVeyor build Coveralls

Video

Install

$ npm install [-g] big-eye

Usage

CLI

$ eye --help

    Usage
      $ eye <command>

    Options
      -w, --watch    Files/directories to be watched [Default: pwd]
      -i, --ignore   Files/directories to be ignored [Default: from .gitignore]
      -l, --lazy     Don't execute command on startup
      -d, --delay    Debounce delay in ms between command executions [Default: 100]
      -q, --quiet    Print only command output

    Examples
      $ eye app.js
      $ eye build.js -w src/
      $ eye python module.py -i '*.pyc'
      $ eye 'g++ main.cpp && ./a.out'

    Tips
      Run eye without arguments to execute the npm start script.

API

bigEye(file, [args], [options])

Execute file with args when a file matching the options.watch array gets modified. Returns a new Eye instance.

file

Type: String

Absolute path to the file to be executed. Must be a non-empty String.

args

Type: Array

Arguments that will be passed to child process when executing file.

options

Type: Object

Options object that can take the following keys:

watch

Type: Array, String

Path(s) to files, dir(s) to be watched recursively, or glob pattern(s).

ignore

Type: anymatch compatible definition

Path(s) to files, dir(s) to be ignored, regex(es), or glob pattern(s).

lazy

Type: Boolean
Default: false

If set to true, don't execute file after constructing the instance, but only on watched file change.

delay

Type: Number
Default: 100

Delay in ms when debouncing execution after file changes.

Events

Each Eye instance inherits from EventEmitter and emits a handful of events:

.on('executing', ref)

When a new child process is spawned. ref is an instance of child_process.

on('changes', file)

Debounced file changes that trigger spawning a child process. file is a path to the file that caused the event.

.on('exited', time, code)

When a child has exited. time is its execution time in miliseconds, code is its exit code.

.on('killed', signal)

When a child was killed due to file changes, signal represents the signal used to :knife: it.

License

MIT © nikersify

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free