spm 0.1.2
spm: ^0.1.2 copied to clipboard
Unified static analysis and runtime profiling for Flutter rebuild scopes and their triggers.
Changelog #
0.1.2 #
0.1.1 #
Changed #
- Declared Android as the only supported platform, so the pub.dev package page lists Android alone.
0.1.0 #
analyze now extracts metrics from every rebuild scope, not only State subclasses.
Added #
analyzeemits a row for each rebuild scope:Statesubclasses,ConsumerWidget/HookConsumerWidgetclasses, and the inline builder callbacks ofBlocBuilder,BlocSelector,BlocConsumer,Consumer,Selector,Obx,GetX,GetBuilder, andObserver— the same kindsisolatedetects.--scope-types/-sonanalyze(repeatable) narrows the emitted kinds;-s Statereproduces the previous output.- New
scopeTypecolumn on every JSONL row, and a per-type breakdown in the run summary.
Changed #
- Breaking (JSONL): the
stateClassNamecolumn is nowscopeName.injectreads either spelling, so manifests produced by earlier versions still work; other downstream consumers must be updated. injectskips manifest rows whosescopeTypeis notState, so a full-scopeanalyzeoutput can be passed to it unchanged.- Scope detection is shared between
analyzeandisolateinstead of duplicated: the kind lists live inAppConstantsand the predicates in the analysis feature's scope detector. - SPM now stands for Scope Performance Metrics (was "State Performance Metrics"), matching what
the tool measures. The package, the
spmexecutable, and every public identifier are unchanged.
Notes #
- Scopes nest, and their metrics overlap on purpose: a
Staterow counts the widgets built inside its nested builder callbacks and each callback gets its own row. Aggregations that sum rows per file should filter byscopeType. instanceIdvalues forStatescopes are unchanged, so existing joins with runtime profiler data still hold.
0.0.3 #
- Export
SpmProfilerfrom the publicpackage:spm/spm.dartAPI. - Add compatibility export paths for profiler imports under
package:spm/features/profiler/presentation/. - Restore support for benchmark and integration-test code that imports
SpmStateandSpmProfilerthrough the profiler presentation path.
0.0.2 #
- Add a public API example for
SpmState. - Document the
SpmStateconstructor for subclass usage. - Widen the analyzer dependency constraint.
- Link the published pub.dev package from the README and wiki.
0.0.1 #
- Initial pub.dev release of SPM.
- Adds CLI commands for Flutter rebuild analysis, validation, profiler injection, profile-mode runs, and rebuild-scope isolation.