Files
sdk/pkg/frontend_server_client/README.md
T
Jessy Yameogo 81a139584e [frontend_server_client] Migrate package to the SDK repository
This CL migrates the `frontend_server_client` package into the Dart SDK
repository.

Key Changes:
- Migration: Moved source code and tests into `pkg/frontend_server_client`.
- Monorepo Compliance: Updated the pubspec to align with the SDK pub workspace setup.
- Linting: Adopts `package:dart_flutter_team_lints` for analysis options and fixes associated linting errors.
- Path Resolution: Resolved package configuration and script path issues encountered in local and CI environments; see the [Workspace Tests Fixes](https://docs.google.com/document/d/1UdiRqP19qYgj-ItxDfqXSdUU6CGimiyK3BmdvjtTEyw/edit?pli=1&tab=t.0#heading=h.xfm1ezicaoik) in the design doc for implementation details.

Testing:
- All tests passing locally.
- CI try bots are green.

Design Doc: http://goto.google.com/migrating-webdev
Cq-Include-Trybots: luci.dart.try:pkg-win-release-try,pkg-win-release-arm64-try,pkg-mac-release-try,pkg-mac-release-arm64-try,pkg-linux-release-try,pkg-linux-release-arm64-try,pkg-linux-debug-try
Change-Id: Id44a701107d626df5fcd21d724980243981c7958
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461200
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jessy Yameogo <yjessy@google.com>
2025-11-18 07:34:31 -08:00

1.7 KiB

pub package package publisher

This package provides a client interface around the frontend_server compiler which ships with the Dart SDK.

SDK Versioning Policy

This package keeps a relatively tight version constraint on the SDK to allow for breaking changes in the frontend_server binary itself.

Specifically, releases of this package will have an upper bound of less than the next minor (middle) version number of the latest stable SDK. There are no requirements for the lower bound (other than the package must pass tests on that SDK).

The effect of this policy is that breaking changes will be allowed to the frontend_server binary, but only in minor SDK version releases.

Note: This also means that when a new stable SDK is released, this package will also need a new version published on pub before users can get a valid version solve.

Working with dev SDK releases

By default, when you do a pub get/upgrade, a constraint like <2.9.0 will actually allow dev releases of 2.9.0 if the current SDK is a dev release. It emits a warning when it does this, but will happily allow it.

  • This means that we don't have to publish versions that explicitly allow dev releases. We will be notified of breakages by our bots if a dev release does break us, and can release a patch.

If we need to depend on some new feature from a dev release, the min sdk constraint should be bumped to that version but the max sdk constraint should not be changed. So for example we will have constraints like >=2.9.0-dev.1 <2.9.0.