Automatically restart a Node application when dependencies change.
Install with npm:
npm install -g rewind
Start your application with
rewind instead of
rewind server.js 3000
This will load
server.js as the main module. Any changes to
server.js or its dependencies will cause the server to restart.
If your application caches non-module assets, use the
-w option to
watch them. For example:
rewind -w ./static -w ./templates server.js 3000
Rewind will scan these files or folders recursively. If any file is
modified, the application with be restarted.
- Restarts your application automatically when files change.
- Monitors anything Node loads; no hard-coded filename extensions!
- By default, only monitor loaded modules; no need for .ignore files.
- Uses fs.watch(), so detecting changes is fast!
- Optionally upports monitoring any additional folders.
- Ignores temporary editor files.
How it Works
Rewind forks a subprocess to run the real application. The subprocess
detects loaded modules and reports them to the parent, which is
monitoring the filesystem using fs.watch(). If any dependency
changes, the subprocess is terminated with a
SIGHUP and forked
If the subprocess dies (exits non-zero),
rewind waits until one on
the monitored files is changed. If the subprocess terminatss normally
(exits zero), rewind stops monitoring files and exits as well.