Appearance
Setup And CLI
Events are first-class in new Holo-JS projects.
Discovery directories
Holo-JS discovers events and listeners recursively from:
server/eventsserver/listeners
Subfolders are supported.
Examples:
text
server/events/user/registered.ts
server/events/billing/invoice-paid.ts
server/listeners/user/send-welcome-email.ts
server/listeners/billing/sync-invoice-state.tsScaffolding commands
Create an event:
bash
npx holo make:event user/registeredCreate a listener for one event:
bash
npx holo make:listener user/send-welcome-email --event user.registeredCreate a listener for multiple events:
bash
npx holo make:listener audit/user-lifecycle \
--event user.registered \
--event user.deletedExisting projects
Install event support into an existing Holo-JS app with:
bash
npx holo install eventsThis adds the @holo-js/events package dependency when needed and creates the discovery directories:
server/eventsserver/listeners
After install, the next holo dev or holo build refreshes discovery automatically. Use holo prepare only when you want to refresh discovery without starting dev or build.
Generated metadata
Discovery output is written under .holo-js/generated, including event and listener registries and type augmentation for @holo-js/events.
Runtime boot reads generated metadata. It does not scan files directly at runtime.