Write your entire stack in Dart: React web apps, React Native mobile apps with Expo, and Node.js Express backends.
| Package | Description |
|---|---|
| dart_node_core | Core JS interop utilities |
| dart_node_express | Express.js bindings |
| dart_node_ws | WebSocket bindings |
| dart_node_react | React bindings |
| dart_node_react_native | React Native bindings |
| dart_node_mcp | MCP server bindings |
| dart_node_better_sqlite3 | SQLite3 bindings |
| dart_jsx | JSX transpiler for Dart |
| reflux | Redux-style state management |
| dart_logging | Structured logging |
| dart_node_coverage | Code coverage for dart2js |
| Tool | Description |
|---|---|
| too-many-cooks | Multi-agent coordination MCP server (npm) |
| Too Many Cooks VSCode | VSCode extension for agent visualization |
This project includes a Dev Container that provides a fully configured development environment with Dart, Node.js, and Chromium pre-installed. Open the project in VSCode and select Reopen in Container when prompted.
Why use it?
- Consistent environment — Dart 3.10, Node 20, and Chromium are pinned and pre-configured. No version mismatches across machines.
- Avoids Windows + Node.js performance issues — Node.js file-heavy operations (
npm install,dart2jsoutput,node_modulescreation) run up to 4x slower on Windows than Linux due to NTFS overhead and Windows Defender real-time scanning. Yo will probably get better performance running on WSL2. The Dev Container sidesteps this entirely by running inside a Linux container. - Zero setup — Coverage thresholds, linting, and test tooling are pre-configured via environment variables and VSCode settings.
# Switch to local deps
dart tools/switch_deps.dart local
# Run everything
sh examples/run_taskflow.shOpen http://localhost:8080/web/
Mobile: Use VSCode launch config Mobile: Build & Run (Expo)
BSD 3-Clause License. Copyright (c) 2025, Christian Findlay.
