flutter_simple_architecture 2.4.1 copy "flutter_simple_architecture: ^2.4.1" to clipboard
flutter_simple_architecture: ^2.4.1 copied to clipboard

A robust Flutter bootstrapping tool and project template emphasizing a clean, layer-first architecture with strict state management.

2.4.1 #

Improvements #

  • Design System Refactor: Migrated to pure ThemeData inheritance. Widgets are now "Naked Shells" that automatically inherit styles from global component themes (ElevatedButtonTheme, OutlinedButtonTheme, InputTheme, etc.), eliminating Theme.of(context) lookups in build methods.
  • Code Quality: Fixed analysis errors and optimized widget build methods for better performance and architectural alignment.

2.4.0 #

Features #

  • Secure Session Observability: Added LogSanitizer and Breadcrumb system to LoggerService. Automatically captures sanitized session timelines (Network, State, Transactions) for crash reporting without leaking PII.
  • Environment Management: Implemented AppEnv for switching between Dev, Stg, and Prod via --dart-define=ENV=....
  • Global Connectivity monitoring: Integrated ConnectivityService to automatically notify users of internet status changes via the global side-effect system.
  • Unified Persistent Storage: Combined shared_preferences and flutter_secure_storage into a single StorageService.
  • CLI Localization Scaffolding: Added fsa generate l10n <key> <value> to automate .arb updates and code generation.
  • Repository Unit Tests: The fsa generate repository command now creates a corresponding unit test file using mocktail and MockApiClient.

Improvements #

  • Global Error Handling: Integrated FlutterError and PlatformDispatcher hooks in main.dart for centralized, secure crash reporting.
  • Transaction Rollback: Enhanced BaseRepository with runTransaction for atomic multi-step operations.
  • Security: All logging mechanisms now recursively scrub sensitive data (tokens, passwords, PII) before outputting.

2.3.0 #

Features #

  • Production Network Layer: Integrated Dio with centralized ApiClient and interceptors for automated logging and failure mapping.
  • Context-less Navigation: Added NavigationService allowing Notifiers to perform routing without BuildContext.
  • CLI Expansion: Added repository and entity generators to the fsa tool.
  • Automated Testing: Every generated page now includes a corresponding widget test boilerplate.
  • Design System Expansion: Added AppTextField sealed widget for consistent form inputs.
  • Form Support: Introduced AppFormMixin for structured form state management within Notifiers.
  • Shimmer System: Integrated Shimmer and SkeletonBox into AppViewBuilder for standardized loading UIs.

Improvements #

  • UI State Pattern: Migrated from sealed union states to Data Class + Status Enum pattern to preserve state during transitions.
  • Global Side Effects: Centralized side-effect listening at the root (main.dart) using navigatorKey.
  • Hook Optimization: Restrict flutter_hooks to Dumb Components; Logic-heavy views now use pure ConsumerWidget.
  • Documentation: Added comprehensive industry-grade engineering documentation for the CLI and source code.

2.1.0 #

Improvements #

  • CLI Templates Refinement:
    • Union States: Now generated using sealed class for better exhaustiveness checking with state.when or pattern matching.
    • Sync States: Now generated using abstract class with a private internal constructor (const UIState._()), following the project's entity pattern.
  • Consistency: Unified state templates across page and async component generators.
  • Robustness: Fixed syntax issues in generated boilerplate for sync state models.

2.0.0 #

⚠️ BREAKING CHANGES #

  • Core Rename: ViewBuilder is now AppViewBuilder.
  • Terminology Shift:
    • Smart is now Async.
    • Simple is now Sync.
  • CLI Flags: fsa generate page --type=smart is now --type=async. fsa generate page --type=simple is now --type=sync.
  • Generator Command: fsa generate smart is now fsa generate async.

Improvements #

  • Renaming: Renamed ViewBuilder to AppViewBuilder to follow core widget naming conventions.
  • Terminology Update: Renamed Smart to Async and Simple to Sync for more intuitive architecture guidance. Updated CLI flags and documentation accordingly.
  • Architectural Rule: Added a strict rule that AppViewBuilder variants should only be used if the view needs to listen to an initial async task.

1.2.2 #

  • State Management: Pivoted to .autoDispose providers by default across the entire architecture to optimize memory usage and state cleanup.
  • Documentation: Updated README.md and GEMINI.md with strict guidelines on when to use Smart, Simple, and Static pages, and the new auto-dispose policy.
  • Guidance: Aligned documentation with the new fsa-validator skill heuristics.
  • Testing: Fixed widget_test.dart to support ProviderScope and match the new Todo app template.

1.2.1 #

  • Documentation: Updated README.md with strict guidelines on when to use Smart, Simple, and Static pages.
  • Guidance: Aligned documentation with the new fsa-validator skill heuristics.

1.2.0 #

  • New Page Types: Added --type flag to fsa generate page supporting smart (default), simple, and static archetypes.
  • Architectural Refinement: Reduced boilerplate for simple features by allowing data-class state or stateless pages.
  • Internal: Fixed casing logic in generators to support CamelCase inputs correctly.

1.1.0 #

  • New Architectural Pattern: Introduced the SideEffect Notifier for managing non-interactive events (Success, Failure, Info, Warning).
  • AppViewBuilder Enhancement: Added the onSideEffect hook to AppViewBuilder for customizable side-effect handling (e.g., SnackBars instead of Dialogs).
  • Generator Updates: The CLI now generates Notifiers and Views pre-configured with the SideEffect pattern.
  • Improved Scaffolding: Added automatic copying of architecture templates for globally activated CLI usage.

1.0.2 #

  • Fixed template directory resolution when the CLI is run as a globally activated package.
  • Improved reliability of fsa create in external directories.

1.0.1 #

  • Improved fsa create bootstrapping logic to ensure all dependencies and configurations are correctly applied.
  • Cleaned up lib/main.dart template by removing default Flutter counter boilerplate.
  • Added copying of .fvmrc and GEMINI.md to new projects.
  • Added automated tests for project bootstrapping.

1.0.0 #

  • Initial release of FSA (Flutter Simple Architecture).
  • Integrated CLI tool with create and generate commands.
  • Layer-first architecture template including core, domain, and presentation.
  • Centralized design system with sealed widgets.
  • Functional error handling with fpdart.
  • Automated logging with LoggerService.
0
likes
0
points
658
downloads

Publisher

unverified uploader

Weekly Downloads

A robust Flutter bootstrapping tool and project template emphasizing a clean, layer-first architecture with strict state management.

Homepage
Repository (GitLab)
View/report issues

License

unknown (license)

Dependencies

args, connectivity_plus, cupertino_icons, dio, flutter, flutter_hooks, flutter_localizations, flutter_secure_storage, fpdart, freezed_annotation, google_fonts, hooks_riverpod, interact_cli, intl, json_annotation, logger, path, shared_preferences

More

Packages that depend on flutter_simple_architecture