dynamic_modules
A minimal wrapper over the Dart VM's dynamic-module loader, used by the iOS CodePush path.
This will not compile against a stock Flutter SDK, by design. It requires
an engine built with --dart-dynamic-modules.
The name is load-bearing
loadDynamicModule lives in dart:_internal, which ordinary app code cannot
import. The Dart front end allows exactly three importers, hardcoded in
pkg/kernel/lib/target/targets.dart:
bool allowPlatformPrivateLibraryAccess(Uri importer, Uri imported) =>
importer.isScheme("dart") ||
(importer.isScheme("package") &&
(importer.path.startsWith("dart_internal/") ||
importer.path.startsWith("dynamic_modules/")));
The check is on the package name in the import URI and nothing else. A package
named dynamic_modules is allowed to do this; one named anything else is not.
That is the entire reason this package exists under this name.
Mirrors the upstream, SDK-internal pkg/dynamic_modules.
Libraries
- dynamic_modules
- Dart VM dynamic-module loading, exposed to this app.