
Security News
vlt 1.5.0 Adds Agent Skills Management
vlt 1.5.0 links skills from JavaScript dependencies to coding agents, with lockfile versioning and Socket data to filter out known malicious packages.
@eggjs/watcher
Advanced tools
File watcher plugin for egg
In worker process:
Start watching file(s).
Stop watching file(s).
In agent process:
Start watching file(s).
Stop watching file(s).
development ModeThere's a built-in development mode which works in local(env is local). Once files on disk is modified it will emit a change event immediately.
Say we want to build a custom event source plugin (package name: egg-watcher-custom, eggPlugin.name: watcherCustom).
Firstly define our custom event source like this:
// {plugin_root}/lib/custom_event_source.js
import { Base } from 'sdk-base';
export default class CustomEventSource extends Base {
// `opts` comes from app.config[${eventSourceName}]
// `eventSourceName` will be registered later in
// `config.watcher.eventSources` as the key shown below
constructor(opts) {
super(opts);
this.ready(true);
}
watch(path) {
// replace this with your desired way of watching,
// when aware of any change, emit a `change` event
// with an info object containing `path` property
// specifying the changed directory or file.
this._h = setInterval(() => {
this.emit('change', { path });
}, 1000);
}
unwatch() {
// replace this with your implementation
if (this._h) {
clearInterval(this._h);
}
}
}
Event source implementations varies according to your running environment. When working with vagrant, docker, samba or such other non-standard way of development, you should use a different watch API specific to what you are working with.
Then add your custom event source to config:
// config/config.default.js
import CustomEventSource from '../lib/custom_event_source';
export default {
watcher: {
eventSources: {
custom: CustomEventSource,
},
},
};
Choose to use your custom watching mode in your desired env.
// config/config.${env}.js
export default {
watcher: {
type: 'custom',
},
// this will pass to your CustomEventSource constructor as opts
watcherCustom: {
// foo: 'bar',
},
};
If possible, plugins named like egg-watcher-${customName}(egg-watcher-vagrant eg.) are recommended.
Please open an issue here.
Made with contributors-img.
FAQs
file watcher plugin for egg
The npm package @eggjs/watcher receives a total of 647 weekly downloads. As such, @eggjs/watcher popularity was classified as not popular.
We found that @eggjs/watcher demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 10 open source maintainers collaborating on the project.

Security News
vlt 1.5.0 links skills from JavaScript dependencies to coding agents, with lockfile versioning and Socket data to filter out known malicious packages.

Security News
Rust 1.100 will add opt-in dependency cooldowns to Cargo, giving security scanners and maintainers time to catch malicious crate releases.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.