Skip to content

v0.57.0 — Application: Feathers-style ergonomics

Latest

Choose a tag to compare

@tshafer tshafer released this 11 Jul 17:56
· 99 commits to main since this release

Adopted the useful parts of the Feathers Application API onto Keel's Application. All additive.

  • app.configure(fn) — run a (app) => unknown configurator and chain it. The one-shot inline alternative to a ServiceProvider when you don't need the register/boot split.
  • app.set(key, value) / app.get(key, fallback?) — app-wide settings store, backed by Config so app.set("db.url", …) and config().get("db.url") read the same store.
  • app.on / app.once / app.off / app.emit — app-level events delegating to the Events singleton (same emitter as the global listen() helper). on/once return an unsubscribe fn; emit awaits listeners in order.
  • New exported type Configurator.

app.listen/teardown map to Keel's existing Hono adapter + boot()/terminate(); the service registry (use/service) is Keel's container + service broker. Backward compatible. 368 tests; type-checked doc examples. See docs/architecture.md → "The application object".