Hot-reload registry built on clj-reload.
Extends tonsky/clj-reload with:
Design: Composition over reimplementation.
Hot-reload registry built on clj-reload. Extends tonsky/clj-reload with: - Named component registry - Event-driven listeners (for hive-events integration) - Status tracking and introspection - Cascade control - Watcher integration with coordinated debouncing Design: Composition over reimplementation.
Coordination-aware debouncing for hot-reload events.
Provides debouncing with claim-awareness:
Design: State-based debounce windows, not just time-based.
Coordination-aware debouncing for hot-reload events. Provides debouncing with claim-awareness: - Unclaimed files: time-based debounce (coalesce rapid changes) - Claimed files: buffer until claims released Design: State-based debounce windows, not just time-based.
Event emission for hive-hot integration with hive-events.
Event schemas:
Events are dispatched via hive.events/dispatch for system-wide observability and coordination.
Event emission for hive-hot integration with hive-events.
Event schemas:
- [:file/changed {:file "src/foo.clj" :type :modify|:create|:delete}]
- [:hot/reload-start {}]
- [:hot/reload-success {:loaded [ns...] :unloaded [ns...] :ms N}]
- [:hot/reload-error {:failed ns :error "message"}]
Events are dispatched via hive.events/dispatch for system-wide
observability and coordination.Schema-driven hot-reload registration — the hive-hot leg of the malli macro
layer. reg-hot-schema coerces + validates a component's opts against ONE
malli schema before hive-hot.core/reg-hot stores them: declare the component's
opts schema once and its guard is wired, replacing the ad-hoc :pre check with a
real value-object contract.
hive-hot does not depend on hive-spi/malli; derive/compile-op is resolved LAZILY via a guarded requiring-resolve. When it is unresolvable (hive-spi absent) opts pass through and reg-hot's own :pre still guards :ns — registration never fails on a bare classpath.
Schema-driven hot-reload registration — the hive-hot leg of the malli macro layer. `reg-hot-schema` coerces + validates a component's opts against ONE malli schema before hive-hot.core/reg-hot stores them: declare the component's opts schema once and its guard is wired, replacing the ad-hoc :pre check with a real value-object contract. hive-hot does not depend on hive-spi/malli; derive/compile-op is resolved LAZILY via a guarded requiring-resolve. When it is unresolvable (hive-spi absent) opts pass through and reg-hot's own :pre still guards :ns — registration never fails on a bare classpath.
FileWatcher protocol and WatchService-based implementation.
Provides file system watching for hot-reload coordination. Uses Java WatchService for cross-platform file event detection.
FileWatcher protocol and WatchService-based implementation. Provides file system watching for hot-reload coordination. Uses Java WatchService for cross-platform file event detection.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |