Recursive Dart package analyzer