Prime-Holding / rx_bloc

A set of Flutter packages that help implement the BloC (Business Logic Component) design pattern using the power of reactive streams
https://pub.dev/packages/rx_bloc
62 stars 21 forks source link

Generate configuration file with rx_bloc_cli projects #817

Open DDavidPrime opened 1 day ago

DDavidPrime commented 1 day ago

With each incremental update to the rx_bloc_cli package, we introduce changes and new features to the generated projects. Sometimes, while looking at an existing project, it would be nice to know which version it was created with and include a list of associated features during generation ("metadata" about the project generation).

A way we could tackle this is by generating a metadata configuration file along the project files. While this has no everyday value, it is something that could help tracking and troubleshooting potential issues with a specific version. The file would look something like this:

{
  "version": "5.0.0",
  "timestamp" : "2024-10-02 15:00:00",
  "flutter_version" : "3.24.3",
  "features" : {
    "enabled" : [ "analytics", "push_notifications", "patrol", "cicd", "..." ], // List of all enabled options during project generation
    "cicd" : "github" // or any other option, with none being disabled
    "realtime_communication" : "none",
    // ... other listed options we want to track
  }
}