Skip to content

Package Development Suspended - Impacted by Dart Macros Suspension #2

@Manishmg3994

Description

@Manishmg3994

This package, singleton_macro, used Dart macros to automatically generate singleton implementations for Dart classes. With the recent announcement from the Dart team regarding the suspension of macros development (https://medium.com/dartlang/an-update-on-dart-macros-data-serialization-06d3037d4f12), further development of this package is effectively suspended.

The future of singleton_macro is uncertain. We are evaluating potential alternative solutions, but at this time, there's no clear path forward that offers the same level of seamless integration and code generation provided by macros. We understand this may be disruptive to users who depend on this package.

Current Status:

  • Development: Suspended
  • Maintenance: Limited (bug fixes only, if feasible)
  • Future: Uncertain

Impact on Users:

Existing code that uses singleton_macro to generate singletons will continue to function. However, no new features or support for new Dart language features requiring code generation will be added. Users should be aware that future Dart updates might break compatibility if they heavily rely on code generation.

Potential Alternatives:

We are investigating alternative approaches, such as manual singleton implementation or code generation using build_runner. However, these alternatives do not offer the same developer experience as the macro-based solution. Manual implementation is tedious and error-prone, while build_runner requires a different setup and might not be able to achieve the same level of integration.

Call to Action:

We welcome community feedback and suggestions regarding potential alternatives or solutions. If you have a use case for singleton_macro, please comment below to help us understand the impact of this change and any workarounds you might have found.

Labels:

  • dart
  • macros
  • singleton
  • code-generation
  • help-wanted

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions