Skip to content
Closed
No due date
Closed Dec 20, 2025

v0.8.4 Release - TConfig Generic Support in CLI

Minor release adding TConfig generic parameter to createCLI for type-safe custom configuration types.

Feature

#152: TConfig Generic Parameter in createCLI

  • Added TConfig generic to CLIOptions and createCLI interfaces
  • extendFlags and createExecutor callbacks now receive typed config
  • Full IntelliSense support for custom config properties
  • No type casting needed for adapter-specific configs

Impact

Firebase Team Unblocked:

  • Can use createCLI<IFirebaseDB, FirebaseAdapter, FirebaseConfig>() with full type safety
  • extendFlags callback receives FirebaseConfig type (not base Config)
  • createExecutor callback receives FirebaseConfig type (not base Config)

Type Safety Completion:

  • Completes type safety story from v0.8.0-v0.8.3
  • Consistent with THandler (#138) and executor TConfig (#144)
  • Same pattern across all generic type parameters

Quality Metrics

  • Tests: 1572 passing (+4 new tests for TConfig support)
  • Coverage: 100% maintained (2815/1450/581/2713)
  • Backward Compatibility: ✅ Default TConfig = Config preserves existing behavior
  • Documentation: Updated cli-adapter-development.md with Firebase examples
  • Effort: ~10 minutes implementation (as estimated)

Related Issues

  • #138: Added THandler generic for type-safe handler access
  • #144: Added TConfig generic to executor interfaces
  • #151: Added addCustomOptions/extendFlags callbacks (v0.8.3)

Migration

No breaking changes - fully backward compatible. Existing code works without modifications.

Optional Enhancement:

// Before (works but requires casting)
createCLI({ ... })

// After (optional type safety)
createCLI<IDB, Adapter, CustomConfig>({ ... })
100% complete

List view

    There are no open issues in this milestone

    Add issues to milestones to help organize your work for a particular release or project. Find and add issues with no milestones in this repo.