Herramientas para encuestar paquetes de dardos.
Descargo de responsabilidad: este no es un producto de Google compatible oficialmente.
Estas herramientas se ejecutan mejor desde la fuente. Para obtener las fuentes, clona el repositorio surveyor como este:
$ git clone https://github.com/pq/surveyor.git
Desde allí puedes ejecutar los examples .
dart run example/api_surveyor.dart <path_to_project>
Analizará proyectos en la ruta dada e identificará los usos de algunas API específicas.
async de topografía dart run example/async_surveyor.dart <path_to_project>
Analizará proyectos en la ruta dada e identificará lugares donde "async" se usa como un identificador simple. Estos lugares producirían errores si async se convierta en una palabra clave reservada.
Tenga en cuenta que esto genera mucha salida. Para asegurarse de que no se pierda nada de eso, considere redirigir a un archivo. Por ejemplo:
dart run example/async_surveyor.dart <path> 2>&1 | tee survey_out.txt
dart run example/error_surveyor.dart <path_to_project>
Analizará proyectos en la ruta dada, filtrando los errores.
dart run example/lint_surveyor.dart <path_to_project>
Analizará proyectos en la ruta dada e identificará violaciones de las reglas de pelusa (reglas personalizadas o otras definidas por package:linter ).
dart run example/doc_surveyor/lib/main.dart <path_to_project>
Analizará el proyecto en la ruta dada marcando a los miembros públicos que faltan documentos API.
Una ejecución de la muestra produce salida como esta:
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>
Analizará el proyecto en la ruta dada y presentará una lista de Widget infantil-cramos de 2 gramos de 2 gramos.
Una ejecución de la muestra produce un archivo CSV con contenido como este:
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
(Tenga en cuenta que, por defecto, las dependencias del paquete solo se instalarán si un archivo .packages está ausente del proyecto en Análisis. Si desea asegurarse de que las dependencias del paquete estén instaladas (re), ejecute con la opción --force-install .
Consulte también package:pub_crawl , que se puede usar para obtener fuentes de paquetes para el análisis de Pub.
Este es en gran medida un trabajo en progreso. Aplique solicitudes de funciones, errores y cualquier comentario en el rastreador de problemas.
¡Gracias!