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的分析。
这是一项正在进行的工作。请提交功能请求,错误和问题跟踪器中的任何反馈。
谢谢!