surveyor
1.0.0
用於測量飛鏢軟件包的工具。
免責聲明:這不是官方支持的Google產品。
這些工具最好從源運行。要獲取來源,請這樣克隆surveyor的回購:
$ git clone https://github.com/pq/surveyor.git
從那裡您可以運行examples 。
dart run example/api_surveyor.dart <path_to_project>
將在給定路徑上分析項目,並確定一些特定API的用途。
async標識符使用 dart run example/async_surveyor.dart <path_to_project>
將在給定路徑上分析項目,並確定"async"用作簡單標識符的地方。如果async成為保留的關鍵字,這些地方將產生錯誤。
請注意,這會產生很多輸出。為了確保丟失的任何一個都不會丟失,請考慮將其重定向到文件。例如:
dart run example/async_surveyor.dart <path> 2>&1 | tee survey_out.txt
dart run example/error_surveyor.dart <path_to_project>
將在給定路徑上分析項目,過濾錯誤。
dart run example/lint_surveyor.dart <path_to_project>
將在給定路徑上分析項目,並確定違反棉絨規則的行為( package:linter )。
dart run example/doc_surveyor/lib/main.dart <path_to_project>
將以給定的路徑分析該項目的標記缺少API文檔的公共成員。
樣本運行會產生這樣的輸出:
122 public members
Members without docs:
Void • <path-to-provider-repo>/packages/provider/lib/src/proxy_provider.dart • 107:1
NumericProxyProvider • <path-to-provider-repo>/packages/provider/lib/src/proxy_provider.dart • 177:1
Score: 0.98
dart run example/widget_surveyor/lib/widget_surveyor.dart <path_to_project>
將以給定路徑分析項目,並列出找到的Widget兒童父母2克。
樣本運行會產生帶有類似內容的CSV文件:
AppBar -> Text, 1
Center -> Column, 1
Column -> Text, 3
FloatingActionButton -> Icon, 1
MaterialApp -> MyHomePage, 1
Scaffold -> AppBar, 1
Scaffold -> Center, 1
Scaffold -> FloatingActionButton, 1
null -> MaterialApp, 1
null -> MyApp, 1
null -> Scaffold, 1
(默認情況下,只有在分析項目中不存在.packages文件的情況下,才會安裝依賴項。如果要確保已安裝(重新)的軟件包依賴項,請使用--force-install Option運行。)
另請參見package:pub_crawl ,可用於獲取包裝源以獲取來自Pub的分析。
這是一項正在進行的工作。請提交功能請求,錯誤和問題跟踪器中的任何反饋。
謝謝!