Workiva / dart_dev

Centralized tooling for Dart projects. Consistent interface across projects. Easily configurable.
https://pub.dartlang.org/packages/dart_dev
Apache License 2.0
74 stars 40 forks source link

format_tool: optimization pass #424

Closed alexandercampbell-wk closed 8 months ago

alexandercampbell-wk commented 8 months ago

We can save a lot (~90%) of execution time of dart_dev format on some repos with two changes:

This is technically a breaking change to the API since we no longer return a full list of excluded files and hidden directories. I have retained the collapseDirectories parameter in the name of backward compatibility for now, but it's ignored and marked @deprecated.

This moves the responsibility for handling argv limitations into FormatTool.

aviary2-wf commented 8 months ago

Security Insights

No security relevant content was detected by automated scans.

Action Items

alexandercampbell-wk commented 8 months ago

I just pushed a commit to restore the deleted fields back onto FormatterInputs, but leave them unused and marked as @deprecated. I believe that was the only Dart API breaking change. I want to be extra careful about compat here given the dependency loops between tools.

alexandercampbell-wk commented 8 months ago

Oops, I broke CI. I'll get that addressed today.

alexandercampbell-wk commented 8 months ago

@Workiva/release-management-pp

tomconnell-wf commented 8 months ago

Rosie doesn't require QA on this repo? :sus: