Fixes#1317
Originally a new Set was generated upon every individual file (or dir)
watched. This typically doesn't take a long time, but if there's 10,000
files to watch, it's very, very slow. Moving this logic out to the ready
event instead, cuts all the processing time of the watch right down.
* chore: bump chokidar to latest
* test: fix weird output on restart filename
* test: skip old broken test
* fix: node_modules watched off relative path
Fixes#1294Fixes#1305 (though couldn't confirm - just looks very similar)
I've gone back and forth on this Chokidar option `cwd` and in this fix
I've removed it from the config. I've checked the issues that were
raised that caused me to add the option, and they still appear to pass
in the tests, so I believe it's okay.
However, it _might_ come back in - just a note for Future @remy.
Previous the rules weren't matching fully inside of chokidar, requiring
that, for instance, node_modules is written as **/node_modules/**.
I've also tidied up what's printed in verbose mode, so it doesn't print
default ignores, and doesn't print the full path of an ignored
directory.
This change _also_ fixes notifications from chokidar from user ignored
paths (using the `cwd` argument). This should fix#1202
Changed to passing Chokidar simple strings instead of custom regexp, only had to prefix with **/ to get it to match the ignore directories properly.
Fixes#916
Fixes the issue where express is a js based project, but the executable
is `www`, so it misses on the match. So now nodemon will watch for
matching extensions but *also* the script the user gave.
Fixes#461
Note that this can't handle the situation where npm is used to run `node
./bin/www` as nodemon can't split out a package script command.
Fixes a range of issues, including:
Fixes#1115
* refactor: use Object.assign in place of merge (this will leak to more work)
Since we're now supporting 6 upwards
The initial `ignored` may be undefined. If it isn't then a pipe character should
be inserted. This is all unnecessary though if we build up an array like before
4826c87744.
Pass the `usePolling` flag to Chokidar when in legacy mode, which is supposed to/hopefully fix containers watching network attached drives.
Fixes#639Fixes#633
Closes#455Closes#453Fixes#419
This method creates a file and checks the stat to check of an offset between the date on the machine and the created time on the file system. Docker (in my tests) show that you can get the offset using this method.
Once we have the offset, we tell the user (once) and then we use that to find files that have been modified according to the offset (either looking in the last using -mmin or in the future using -newer + a touched file).
If trailing is not set to false, a setTimeOut is called if you call the
function when it is 'locked', so you need to set trailing to false to
avoid that unnecessary call
setTimeout.
This changes the behaviour of the option --delay n
This means that as soon as one file changes, nodemon will restart the
script. The previous behavior was to wait for n seconds before
restarting the process. With throttle, the function gets called when the
first file changes. After that, all file changes in the interval [t,t+n]
are ignored