• MarkZ's avatar
    Adding support for DDC modules when running Flutter Web in debug mode (#141423) · ee94fe26
    MarkZ authored
    ### Context:
    
    DDC modules are abstractions over how libraries are loaded/updated. The entirety of google3 uses the DDC/legacy module system due to its flexibility extensibility over the other two (ES6 and AMD/RequireJS). Unifying DDC's module system saves us from duplicating work and will allow us to have finer grained control over how JS modules are loaded. This is a a prerequisite to features such as hot reload.
    
    ### Overview:
    
    This change plumbs a boolean flag through flutter_tools that switches between DDC (new) and AMD (current) modules. This mode is automatically applied when `--extra-front-end-options=--dartdevc-module-format=ddc` is specified alongside `flutter run`. Other important additions include:
    * Splitting Flutter artifacts between DDC and AMD modules
    * Adding unit tests for the DDC module system
    * Additional bootstrapper logic for the DDC module system
    
    We don't expect to see any user-visible behavior or performance differences.
    
    This is dependent on [incoming module system support in DWDS](https://github.com/dart-lang/webdev/pull/2295) and [additional artifacts in the engine](https://github.com/flutter/engine/pull/47783).
    
    This is part of a greater effort to deprecate the AMD module system: https://github.com/dart-lang/sdk/issues/52361
    ee94fe26
Name
Last commit
Last update
..
analyze_continuously_test.dart Loading commit data...
analyze_suggestion_test.dart Loading commit data...
analyze_test.dart Loading commit data...
android_analyze_test.dart Loading commit data...
assemble_test.dart Loading commit data...
attach_test.dart Loading commit data...
build_aar_test.dart Loading commit data...
build_darwin_framework_test.dart Loading commit data...
build_ios_test.dart Loading commit data...
build_ipa_test.dart Loading commit data...
build_linux_test.dart Loading commit data...
build_macos_test.dart Loading commit data...
build_test.dart Loading commit data...
build_web_test.dart Loading commit data...
build_windows_test.dart Loading commit data...
clean_test.dart Loading commit data...
config_test.dart Loading commit data...
create_usage_test.dart Loading commit data...
custom_devices_test.dart Loading commit data...
daemon_test.dart Loading commit data...
devices_test.dart Loading commit data...
doctor_test.dart Loading commit data...
downgrade_test.dart Loading commit data...
drive_test.dart Loading commit data...
flutter_web_platform_test.dart Loading commit data...
generate_localizations_test.dart Loading commit data...
http_host_validator_test.dart Loading commit data...
ide_config_test.dart Loading commit data...
install_test.dart Loading commit data...
ios_analyze_test.dart Loading commit data...
logs_test.dart Loading commit data...
precache_test.dart Loading commit data...
proxied_devices_test.dart Loading commit data...
proxy_validator_test.dart Loading commit data...
pub_test.dart Loading commit data...
run_test.dart Loading commit data...
screenshot_command_test.dart Loading commit data...
shell_completion_test.dart Loading commit data...
symbolize_test.dart Loading commit data...
test_test.dart Loading commit data...
update_packages_test.dart Loading commit data...
upgrade_test.dart Loading commit data...