in src/watcher.js [56:104]
this.liveReloadServer.refresh = function(filepath) {
try {
let result = [];
log.verbose("File modified:", filepath);
// call original function if we are listening
if (argv.livereload) {
result = refresh.call(this, filepath);
}
// run build command before invoke triggers below
if (argv.onBuild) {
log.highlight("On build: ", argv.onBuild);
spawnSync(argv.onBuild, {shell: true, stdio: "inherit"});
}
// run shell command
if (argv.onChange) {
log.highlight("On run: ", argv.onChange);
spawnSync(argv.onChange, {shell: true, stdio: "inherit"});
}
// action invoke
if (argv.invokeParams || argv.invokeAction) {
let json = {};
if (argv.invokeParams) {
if (argv.invokeParams.trim().startsWith("{")) {
json = JSON.parse(argv.invokeParams);
} else {
json = JSON.parse(fs.readFileSync(argv.invokeParams, {encoding: 'utf8'}));
}
}
const action = argv.invokeAction || argv.action;
wsk.actions.invoke({
name: action,
params: json
}).then(response => {
log.step(`Invoked action ${action} with params ${argv.invokeParams}: ${response.activationId}`);
}).catch(err => {
log.error("Error invoking action:", err);
});
}
return result;
} catch (e) {
log.error(e);
}
};