Skip to content

fix(dart): isolate the experimental standalone runner - #24

Merged
lijy91 merged 1 commit into
mainfrom
codex/dart-beta-entrypoint
Nov 5, 2026
Merged

lijy91 merged 1 commit into
mainfrom
codex/dart-beta-entrypoint

Conversation

@lijy91

@lijy91 lijy91 commented Nov 5, 2026

Copy link
Copy Markdown
Member

Importing nativeapi.dart on Dart 3.14 compiled the unused standalone runner and failed on removed experimental Isolate APIs. Move runNativeApp behind package:nativeapi/standalone.dart, keeping ordinary Dart and Flutter imports independent of those APIs. Migrate standalone examples and documentation, and record the breaking import change.

The standalone runner itself still requires Dart 3.13's experimental VM APIs; this change does not claim to port it to Dart 3.14. Its current SDK limit is documented explicitly.

Validation: reproduced the error with Dart 3.14.0-315.3.beta before the change; ordinary kernel and both web entrypoints compile on that beta. Stable Dart 3.13.5 compiles the ordinary and standalone kernel entrypoints plus both web entrypoints. On macOS, the standalone callback creates a native window, runs a Dart timer and exits successfully. Package/example analysis and all 11 Flutter widget tests pass. CI now checks stable and the reported beta entrypoint compilation.

Fixes #22.

Move runNativeApp to an explicit standalone entrypoint so ordinary nativeapi and Flutter imports compile on Dart 3.14. Migrate standalone callers, document the runner SDK limit and add stable and beta entrypoint compilation checks.

Fixes #22.
@lijy91
lijy91 merged commit 1313020 into main Nov 5, 2026
17 of 18 checks passed
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.

nativeapi 0.5.7 does not compile on Dart 3.14 (beta): Isolate.create unshipped

1 participant