Skip to content

Add Reflux state management and cross-platform demo#13

Merged
MelbourneDeveloper merged 33 commits intomainfrom
newstuff
Dec 11, 2025
Merged

Add Reflux state management and cross-platform demo#13
MelbourneDeveloper merged 33 commits intomainfrom
newstuff

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Owner

@MelbourneDeveloper MelbourneDeveloper commented Dec 11, 2025

TLDR;

New reflux package for Redux-style state management + demo showing shared state between Flutter and React web.

What Does This Do?

  • Adds reflux: Redux-inspired state management using Dart's sealed classes for type-safe action handling
  • Adds reflux_demo: Counter app demonstrating shared state logic between Flutter and React web
  • Adds markdown_editor: Example web app showcasing dart_node_react capabilities
  • Updates dart_node_react with improved hooks and JSX DSL
  • Updates dart_node_ws with proper test infrastructure
  • Restructures CI into tiered publish workflows

Brief Details

New Packages:

  • reflux: Store, reducers, middleware, selectors with full pattern matching on sealed action classes
  • examples/reflux_demo/counter_state: Shared state logic (actions, reducer, selectors)
  • examples/reflux_demo/flutter_counter: Flutter app consuming shared state
  • examples/reflux_demo/web_counter: React web app consuming same shared state
  • examples/markdown_editor: Full-featured markdown editor with live preview

Key improvements:

  • State as typedef records (structural typing)
  • Actions as sealed classes with exhaustive pattern matching
  • Memoized selectors via createSelector1/2/3
  • No string-based action types - all type-safe

How Do The Tests Prove The Change Works?

  • reflux: Full test coverage for store, middleware, selectors, enhancers, compose
  • flutter_counter: Widget tests with golden image comparisons
  • web_counter: Browser-based UI integration tests
  • markdown_editor: Browser-based component tests
  • dart_node_react: Split monolithic test file into focused test modules

@MelbourneDeveloper MelbourneDeveloper merged commit bdae492 into main Dec 11, 2025
1 check passed
@MelbourneDeveloper MelbourneDeveloper deleted the newstuff branch December 11, 2025 21:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant