Watch for file changes and then execute command


1511.0.14 years ago4 years agoMinified + gzip package size for @lassehaslev/executor in KB



Run a command every time a file change. Its that simple.


# Install project globaly
npm install -g @lassehaslev/executor

# Install executor per project
npm install @lassehaslev/executor --save-dev


Command line

# Doc
executor "<command>"

    -- [{Custom arguments added to the <command>}]

# Example
executor './vendor/bin/phpunit' --watch='**/*.php' --ignore='/node_modules|\.git|vendor/'

# Custom arguments
executor './vendor/bin/phpunit' --watch='**/*.php' -- --filter="CustomTest"



    "scripts": {
        "my-script": "executor '<command>' [options]",

Now you can run the command npm run my-script from command line.

If you run per project and not in a npm script the command is ./node_modules/.bin/executor.

Pro tip: use npm run my-script -- --your --command-option="yey" to add options to your command.

Laravel TDD

I use this project to run Test Driven Development for my Laravel applications.

Check out this Laracasts thread for more information.

Add tdd script to projects package.json

  "scripts": {
    "tdd": "executor './vendor/bin/phpunit --color=always' --watch='**/*.php' --ignore='node_modules/' --ignore='vendor/'"

Then run npm run tdd from your projects folder.

Pro tip: use npm run tdd -- --filter="awesome_test" to filter your phpunit tests.


Follow these steps to contribute to project.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes


# link to local command line
npm link

# compile to es6
npm run dev

# When you are finished unlink local command
npm unlink

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.