refactor watch module
This commit is contained in:
parent
656ac157d3
commit
4c1f3fb8f6
92
lib/watch.js
92
lib/watch.js
|
@ -37,70 +37,58 @@ Watch.prototype.watchAssets = function(embarkConfig, callback) {
|
|||
filesToWatch.push(appConfig[targetFile]);
|
||||
}
|
||||
|
||||
this.logger.trace(filesToWatch);
|
||||
|
||||
var assetWatcher = chokidar.watch(filesToWatch, {
|
||||
ignored: /[\/\\]\./, persistent: true, ignoreInitial: true, followSymlinks: true
|
||||
});
|
||||
|
||||
assetWatcher
|
||||
.on('add', path => {
|
||||
self.logger.info(`File ${path} has been added`);
|
||||
this.watchFiles(
|
||||
filesToWatch,
|
||||
function(eventName, path) {
|
||||
self.logger.info(`${eventName}: ${path}`);
|
||||
self.trigger('rebuildAssets', path);
|
||||
})
|
||||
.on('change', path => {
|
||||
self.logger.info(`File ${path} has been changed`);
|
||||
self.trigger('rebuildAssets', path);
|
||||
})
|
||||
.on('unlink', path => {
|
||||
self.logger.info(`File ${path} has been removed`);
|
||||
self.trigger('rebuildAssets', path);
|
||||
})
|
||||
.on('ready', () => callback());
|
||||
},
|
||||
function() {
|
||||
callback();
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
Watch.prototype.watchContracts = function(embarkConfig, callback) {
|
||||
var contractsToWatch = [];
|
||||
contractsToWatch.push(embarkConfig.contracts);
|
||||
|
||||
this.logger.trace(contractsToWatch);
|
||||
|
||||
var contractWatcher = chokidar.watch(contractsToWatch, {
|
||||
ignored: /[\/\\]\./, persistent: true, ignoreInitial: true, followSymlinks: true
|
||||
});
|
||||
|
||||
contractWatcher
|
||||
.on('add', path => {
|
||||
self.logger.info(`File ${path} has been added`);
|
||||
var self = this;
|
||||
this.watchFiles(
|
||||
[embarkConfig.contracts],
|
||||
function(eventName, path) {
|
||||
self.logger.info(`${eventName}: ${path}`);
|
||||
self.trigger('redeploy', path);
|
||||
})
|
||||
.on('change', path => {
|
||||
self.logger.info(`File ${path} has been changed`);
|
||||
self.trigger('redeploy', path);
|
||||
})
|
||||
.on('unlink', path => this.logger.info(`File ${path} has been removed`))
|
||||
.on('ready', () => callback());
|
||||
},
|
||||
function() {
|
||||
callback();
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
Watch.prototype.watchConfigs = function(callback) {
|
||||
var configWatcher = chokidar.watch("config/**/contracts.json", {
|
||||
var self = this;
|
||||
this.watchFiles(
|
||||
"config/**/contracts.json",
|
||||
function(eventName, path) {
|
||||
self.logger.info(`${eventName}: ${path}`);
|
||||
self.trigger('redeploy', path);
|
||||
},
|
||||
function() {
|
||||
callback();
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
Watch.prototype.watchFiles = function(files, changeCallback, doneCallback) {
|
||||
this.logger.trace(files);
|
||||
|
||||
var configWatcher = chokidar.watch(files, {
|
||||
ignored: /[\/\\]\./, persistent: true, ignoreInitial: true, followSymlinks: true
|
||||
});
|
||||
|
||||
configWatcher
|
||||
.on('add', path => {
|
||||
self.logger.info(`File ${path} has been added`);
|
||||
self.trigger('redeploy', path);
|
||||
})
|
||||
.on('change', path => {
|
||||
self.logger.info(`File ${path} has been changed`);
|
||||
self.trigger('redeploy', path);
|
||||
})
|
||||
.on('unlink', path => {
|
||||
self.logger.info(`File ${path} has been removed`);
|
||||
self.trigger('redeploy', path);
|
||||
})
|
||||
.on('ready', () => callback());
|
||||
.on('add', path => changeCallback('add', path))
|
||||
.on('change', path => changeCallback('add', path))
|
||||
.on('unlink', path => changeCallback('add', path))
|
||||
.on('ready', doneCallback);
|
||||
};
|
||||
|
||||
Watch.prototype.on = function(eventName, callback) {
|
||||
|
|
Loading…
Reference in New Issue