Skip to content

Full-Stack Dart: Add React Web Frontend, React Native Mobile, and JSX DSL#9

Merged
MelbourneDeveloper merged 14 commits intomainfrom
typesandtests
Dec 4, 2025
Merged

Full-Stack Dart: Add React Web Frontend, React Native Mobile, and JSX DSL#9
MelbourneDeveloper merged 14 commits intomainfrom
typesandtests

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Owner

@MelbourneDeveloper MelbourneDeveloper commented Dec 4, 2025

TLDR;

Major refactor adding React web frontend, React Native mobile app, and comprehensive JSX-like DSL. Full-stack Dart-to-JS framework now supports backend, web, and mobile platforms.

What Does This Do?

  • Adds React Web Frontend (examples/frontend/) - Complete web app with login, registration, and task management using dart_node_react
    • Adds PR CI GitHubAction (examples/frontend/) - Runs checks and tests for PRs
  • Adds React Native Mobile App (examples/mobile/) - Mobile app with login, registration, and task list screens using dart_node_react_native
  • Implements JSX-like DSL (packages/dart_node_react/lib/src/jsx.dart) - Operator-based element composition using >> for concise component syntax
  • Expands dart_node_react - New hooks (useReducer, useRef, useContext), context API, synthetic events, SVG elements, and testing utilities
  • Adds dart_node_react_native package - React Native component bindings (View, Text, TextInput, Button, etc.) with testing support
  • Shared library (examples/shared/) - Common HTTP client, models (Task, User), JS types, and theme styles
  • Improves WebSocket support - Client-side WebSocket utilities for real-time updates
  • Streamlines build tooling - Dependency switcher (tools/switch_deps.dart) for local vs release deps
  • Updates CLAUDE.md rules - Refined coding guidelines (async/await, typedef records, pattern matching)

Brief Details?

Area Changes
New Packages dart_node_react_native, examples/shared, examples/frontend, examples/mobile
React Package JSX DSL, hooks (reducer, ref, context), SVG elements, synthetic events, testing library
Backend Minor formatting cleanup in server.dart, schemas.dart, token_service.dart
Build Tools switch_deps.dart for local/release dependency management, updated build.dart
Documentation JSX_IMPLEMENTATION_PLAN.md design doc, updated README.md quick start
Files Changed 80+ files across 10+ packages/examples

How Do The Tests Prove The Change Works?

  • Frontend tests (examples/frontend/test/) - UI tests for login form, task management, and app rendering using Chrome platform
  • Mobile tests (examples/mobile/test/) - Login screen tests, type tests for Task/User models with mock HTTP client
  • React package tests (packages/dart_node_react/test/) - Unit tests for hooks, elements, and UI interaction tests
  • Backend tests - Existing server tests continue to pass with formatting changes only

Test configuration uses dart_test.yaml with Chrome platform and custom HTML templates for browser-based testing.

@MelbourneDeveloper MelbourneDeveloper merged commit f11e96c into main Dec 4, 2025
1 check passed
@MelbourneDeveloper MelbourneDeveloper deleted the typesandtests branch December 4, 2025 09:33
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