force_inject_flutter 0.3.1 copy "force_inject_flutter: ^0.3.1" to clipboard
force_inject_flutter: ^0.3.1 copied to clipboard

Flutter integration for ForceInject – scoped DI made clean.

📱 forceinject_flutter #

Flutter integration for ForceInject — a zero-runtime-dependency DI container inspired by .NET Core.

✨ Features #

  • ForceScopeWidget — Automatically manages scoped lifetimes tied to widget lifecycle
  • ForceViewModelBuilder<T> — Injects and rebuilds using reactive ValueNotifier ViewModels
  • No state management dependency — works with any pattern (MVVM, Clean, Redux, etc.)
  • Pure Dart and Flutter — lightweight and testable

🔁 ViewModel Lifecycle Support #

ViewModels injected via ForceViewModelBuilder can now:

  • Implement ForceInitializableViewModel to run init(BuildContext context) after mount
  • Implement Disposable to be cleaned up automatically when the widget tree is disposed
class MyViewModel implements ForceInitializableViewModel, Disposable {
  @override
  void init(BuildContext context) {
    print('Initialized with: ${Localizations.localeOf(context)}');
  }

  @override
  void dispose() {
    print('Cleaned up');
  }
}

🧪 Example #

Check out the scoped_widget_flutter_di example for a complete working app.

ForceScopeWidget(
  provider: provider,
  child: ForceViewModelBuilder<MyViewModel>(
    builder: (context, vm) => Text('${vm.count.value}'),
  ),
)

📦 Requirements #

  • Flutter 3.10+
  • Dart 3.6+
  • force_inject >= 0.2.0

💡 Use Cases #

  • Scoped ViewModels per screen
  • Widget-driven lifetime management
  • Modular app architecture

🧰 No Code Generation #

ForceInject and its Flutter integration work without:

  • build_runner
  • annotations
  • mirrors
  • codegen

Use pure constructor-based registration — just like .NET Core DI.

Support me (@diegomgarcia) with Patreon #

Patreon

Or make a donation buying me a coffee:

Buy Me A Coffee

📜 License #

MIT — use it freely in commercial or personal projects.


Made with ❤️ by @diegomgarcia

1
likes
155
points
52
downloads

Documentation

API reference

Publisher

verified publisherdiegogarcia.ca

Weekly Downloads

Flutter integration for ForceInject – scoped DI made clean.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, force_inject

More

Packages that depend on force_inject_flutter