Outils pour l'arpentage des forfaits de fléchettes.
Avertissement: il ne s'agit pas d'un produit Google officiellement pris en charge.
Ces outils sont mieux exécutés à partir de la source. Pour obtenir les sources, clonez le dépôt de surveyor comme celui-ci:
$ git clone https://github.com/pq/surveyor.git
De là, vous pouvez exécuter les examples .
dart run example/api_surveyor.dart <path_to_project>
Analysera les projets sur le chemin donné et identifiera les utilisations de quelques API spécifiques.
async dart run example/async_surveyor.dart <path_to_project>
Analysera les projets sur le chemin donné et identifiera les endroits où "async" est utilisé comme identifiant simple. Ces endroits produiraient des erreurs si async devenait un mot-clé réservé.
Notez que cela génère beaucoup de sortie. Pour vous assurer que rien de tout cela n'est perdu, envisagez de rediriger vers un fichier. Par exemple:
dart run example/async_surveyor.dart <path> 2>&1 | tee survey_out.txt
dart run example/error_surveyor.dart <path_to_project>
Analysera les projets sur le chemin donné, filtrant les erreurs.
dart run example/lint_surveyor.dart <path_to_project>
Analysera les projets sur le chemin donné et identifiera les violations des règles de charpie (règles personnalisées ou définies par package:linter ).
dart run example/doc_surveyor/lib/main.dart <path_to_project>
Analysera le projet sur le chemin donné, signalant les membres publics qui manquent des documents API.
Un échantillon de course produit une sortie comme ceci:
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>
Analysera le projet sur le chemin donné et présentera une liste de 2 grammes de 2 grammes de Widget -carré.
Un exemple de course produit un fichier CSV avec un contenu comme celui-ci:
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
(Notez que par défaut, les dépendances de package ne seront installées que si un fichier .packages est absent du projet en analyse. Si vous souhaitez vous assurer que les dépendances du package sont (re) installées, exécutez avec l'option --force-install .)
Voir aussi package:pub_crawl , qui peut être utilisé pour récupérer les sources de package pour analyse de Pub.
C'est vraiment un travail en cours. Veuillez déposer des demandes de fonctionnalités, des bogues et des commentaires du suivi du problème.
Merci!