d0ee5dbe40
Checks that the null safety mode of every module loaded matches the mode of the SDK. This relands https://dart-review.googlesource.com/c/sdk/+/173120 with additional fix to correctly set the mode of a new component created in the frontend_server. Change-Id: I855b226f724ce0b6c83dbdc11ff6113853892dbb Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174881 Reviewed-by: Sigmund Cherem <sigmund@google.com> Reviewed-by: Anna Gringauze <annagrin@google.com> Commit-Queue: Nicholas Shahan <nshahan@google.com>
The frontend_server package is used by both the flutter command line tool and the frontend_server_client package (used by webdev and package:test).
API Stability
Changes to the command line API or behavior should be tested against the follwing test suites (in addition to normal HHH testing):
- flutter_tools: https://github.com/flutter/flutter/tree/master/packages/flutter_tools
- frontend_server_client: https://github.com/dart-lang/webdev/tree/master/frontend_server_client
Otherwise these changes will need to be carefully coordinated with the flutter tooling and frontend_server_client teams.
This API stability does not cover any of the source code APIs.
Stable subset
- The frontend_server kernel compilation and expression evaluation for kernel should be considered "stable".
- The frontend_server JavaScript compilation is semi-stable, but clients should anticipate coordinated breaking changes in the future.
- The frontend_server JavaScript expression evaluation is experimental and is expected to change significantly from Dec 2020 through the end of 2021.
- Specific flags like the --flutter-widget-cache may be added for experimentation and should not be considered stable.