dart-sdk/pkg/frontend_server
Jens Johansen 69a8834d15 [frontend_server] Take json when wanting to compile expressions
This adds an option to compile expressions (vm ones and javascript ones)
by communicating via json. This allows for future expansion without
destroying the communication channel.

For now the old versions will continue to exist, again to not destroy
alreadyy used communication channels.

Flutter etc. should be updated to use this new json communication,
but it can wait until plumbing in passing offset and scriptUri anyway.

Change-Id: Ifbff752527fea35e09a73e0bb210072d8ab81cdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/342340
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2023-12-20 10:39:01 +00:00
..
bin [pkg/frontend_server] use package:lints/recommended.yaml 2023-02-10 20:29:17 +00:00
lib [frontend_server] Take json when wanting to compile expressions 2023-12-20 10:39:01 +00:00
test [frontend_server] Take json when wanting to compile expressions 2023-12-20 10:39:01 +00:00
analysis_options.yaml [frontend_server] CFE team takes ownership of package:frontend_server 2023-12-19 10:38:28 +00:00
OWNERS [frontend_server] CFE team takes ownership of package:frontend_server 2023-12-19 10:38:28 +00:00
PRESUBMIT.py [frontend_server] CFE team takes ownership of package:frontend_server 2023-12-19 10:38:28 +00:00
pubspec.yaml [CFE] Refactor macros setup. 2023-11-30 08:08:11 +00:00
README.md Remove the widget cache experiment. 2023-11-29 08:47:59 +00:00

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 following test suites (in addition to normal HHH testing):

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 may be added for experimentation and should not be considered stable.