Latest stager is incompatible with latest Dart SDK
- Dominant language
- Dart
- Stars
- 1.7k
- Forks
- 404
- Avg merge
- 6d 17h
- Merged PRs (30d)
- 18
Description
A roll of the Dart SDK into Flutter has revealed that devtools_app is incompatible with the latest Dart SDK.
devtools_app depends on [stager](https://github.com/bryanoltman/stager); the latest release of stager depends on a specific range of source_gen and of the analyzer package, both of which prohibit analyzer 8.x.y or 9.x.y.
The latest Dart SDK on the main channel includes dot-shorthand syntax in `dart:developer` sources. Any version of the analyzer package predating 8.4.1 cannot parse this code.
What to do?
* Bump stager - In June, I was able to land a PR in the stager GitHub repo that [widens the constraint on source_gen](https://github.com/bryanoltman/stager/commit/16c8bdc023df1c92211980124fc2956323aee8df). This code has not been published on pub, and the repo has been idle since that PR. This PR was actually for a different issue, and bumping the constraint to include source_gen ^3.0.0, and also to require analyzer ^8.0.0 or ^9.0.0, would be new work.
* Drop stager - Can we drop stager? Can we drop it temporarily so that devtools can continue to be tested in the Flutter customer tests? It seems to be mostly used in some tests, as it is mostly referenced in `test/test_infra/scenes`.
Contributor guide
Research direction
Start by inspecting the stager references under test/test_infra/scenes and the devtools_app dependency constraints. Compare the available stager source-gen and analyzer constraints with the latest Dart SDK, then determine whether updating or removing stager is viable. Done means the project supports the current analyzer and the Flutter customer tests run successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart
- Domain
- devtools, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100