mirror of
https://github.com/jashkenas/coffeescript.git
synced 2026-05-03 03:00:14 -04:00
"Re-fs.watching files on rename event"
See discussion at #1803, #1846, and at https://github.com/joyent/node/issues/2062
This commit is contained in:
@@ -197,9 +197,12 @@
|
||||
|
||||
watch = function(source, base) {
|
||||
return fs.stat(source, function(err, prevStats) {
|
||||
var callback;
|
||||
if (err) throw err;
|
||||
return fs.watch(source, function(event) {
|
||||
if (event === 'change') {
|
||||
return fs.watch(source, callback = function(event) {
|
||||
if (event === 'rename') {
|
||||
return fs.watch(source, callback);
|
||||
} else if (event === 'change') {
|
||||
return fs.stat(source, function(err, stats) {
|
||||
if (err) throw err;
|
||||
if (stats.size === prevStats.size && stats.mtime.getTime() === prevStats.mtime.getTime()) {
|
||||
|
||||
@@ -174,11 +174,13 @@ loadRequires = ->
|
||||
watch = (source, base) ->
|
||||
fs.stat source, (err, prevStats)->
|
||||
throw err if err
|
||||
fs.watch source, (event) ->
|
||||
if event is 'change'
|
||||
fs.watch source, callback = (event) ->
|
||||
if event is 'rename'
|
||||
fs.watch source, callback
|
||||
else if event is 'change'
|
||||
fs.stat source, (err, stats) ->
|
||||
throw err if err
|
||||
return if stats.size is prevStats.size and
|
||||
return if stats.size is prevStats.size and
|
||||
stats.mtime.getTime() is prevStats.mtime.getTime()
|
||||
prevStats = stats
|
||||
fs.readFile source, (err, code) ->
|
||||
|
||||
Reference in New Issue
Block a user