dart-lang / sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.31k stars 1.59k forks source link

☂️ New analyzer plugin system #53402

Open srawlins opened 1 year ago

srawlins commented 1 year ago

Tasks needed to deliver a new analyzer plugin system:

Tech preview

General availability

Product excellence

matanlurey commented 1 year ago

This is really exciting Sam! If you could use any help trying out prototypes I'd volunteer some time!

parlough commented 1 year ago

@srawlins Would you mind creating go links for your design docs on https://github.com/flutter/website/blob/main/firebase.json? Then you can add them to the top of your docs making them a bit easier to share and discuss publicly.

Community members often follow new go links on flutter.dev as well.

srawlins commented 6 months ago

I'm not good about referencing this issue in my CLs, as all the work is sort of just preparation and grooming the code. So I'll write down some of the under-the-hood changes I've been making. They are largely to support two areas: lint rule APIs and correction producer (mostly quick fix) APIs:

lint rule APIs:

correction producer APIs:

Plugin server API:

Analysis Options

I'll update this comment as I make more preparatory changes.

rrousselGit commented 2 weeks ago

:wave: Is this likely to land within 6months or so?

This seems to be actively worked on ; which is cool! But it also makes me re-evaluate how much effort I should spend working on custom_lint. If this takes a while to land >= 6month, I'll likely keep working on custom_lint in the meantime (such as supporting newer analyzer versions whenever they land). But if it's <=6 months, I'd consider stopping support for custom_lint, to use that time on things more valuable in the long term.

srawlins commented 2 weeks ago

Yes, actively working on it, and hope to send out something in the next month or so. Definitely < 6 months 😁 stay tuned.