Skip to content

Commit f56d76a

Browse files
committed
👷 ci: add multi-platform build workflow and refactor API structure
Add GitHub Actions workflow for building example app across all platforms (Windows, macOS, Linux, Android, iOS) with automated releases. Refactor core API modules for better organization: - Restructure engine, error, runtime, and source modules - Update FRB codegen for new API structure - Remove legacy engine.dart file - Update integration tests and example screens BREAKING CHANGE: API module restructuring affects import paths
1 parent a647d27 commit f56d76a

34 files changed

Lines changed: 6499 additions & 5832 deletions

.github/workflows/build-all-platforms.yml

Lines changed: 470 additions & 0 deletions
Large diffs are not rendered by default.

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Changelog
22

3+
## 1.5.0
4+
5+
* **BREAKING**: Simplified Engine API - Removed `JsAction`, `JsCallback`, `JsCallbackResult`, and `JsActionResult` enums
6+
* **BREAKING**: Replaced action-based messaging with direct async methods for better developer experience
7+
* **FEATURE**: New direct async methods on `JsEngineCore`: `eval()`, `evaluateModule()`, `declareNewModule()`, `declareNewModules()`, `clearNewModules()`, `getDeclaredModules()`, `isModuleDeclared()`, `call()`
8+
* **FEATURE**: Simplified bridge callback - now uses `Fn(JsValue) -> DartFnFuture<JsResult>` instead of complex enum-based callbacks
9+
* **FEATURE**: Added `initWithoutBridge()` method for engines that don't need Dart bridge communication
10+
* **IMPROVEMENT**: Reduced code complexity by removing the action queue and channel-based messaging
11+
* **IMPROVEMENT**: Better error handling with direct result returns instead of callback-based error propagation
12+
* **IMPROVEMENT**: Cleaner API surface - engine methods now return results directly
13+
* **INTERNAL**: Updated FRB codegen for new API structure
14+
* **INTERNAL**: Refactored internal state management using `Arc<RwLock<Option<...>>>` for bridge storage
15+
* **DOCS**: Updated workflow configuration for FJS example builds
16+
317
## 1.4.0
418

519
* **BREAKING**: Restructured API modules - removed deprecated `js` module, added `engine`, `error`, `runtime`, and `source` modules for better organization

0 commit comments

Comments
 (0)