Files
sdk/pkg/frontend_server
Nate Biggs 2284e74d7e [tfa] Update protobuf treeshaker to handle protobuf messages with mixins.
Dart protobufs allow users to specify a mixin class that will get
applied to a GeneratedMessage subclass's class hierarchy. Internal
programs use these mixins for various purposes. But these classes can
still benefit from tree shaking.

This is controlled by a separate flag because it is technically unsafe
to introduce this treeshaking to a new set of classes. The user must
opt-in to verify these new classes are safe to tree-shake. We already
have an analagous flag for tree shaking in dart2js (and some customers
have turned it on).

TEST=Treeshaker test and testcases updated.

Change-Id: Id613078699af38b7ca36420fb2b41945d645b6a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/462180
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2025-11-21 00:22:56 -08:00
..
2025-02-19 09:33:31 -08:00
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.