getSubDirectories method

Iterable<Directory> getSubDirectories({
  1. bool recursive = true,
})

Implementation

Iterable<Directory> getSubDirectories({
  bool recursive = true,
}) {
  final featurePackagesPath = _workdir
      .listSync(recursive: recursive)
      .whereType<Directory>()
      .where((e) {
    final isDartTool = e.path.contains('.dart_tool');
    final isSdk = e.path.contains('flutter_sdk') ||
        e.path.contains('.symlinks') ||
        e.path.contains('.plugin_symlinks');
    final isFromFvm = e.path.contains('.fvm');
    final isHiddenDirectory = _lastPathSegment(e.uri).startsWith('.');

    return !isSdk && !isDartTool && !isHiddenDirectory && !isFromFvm;
  });

  return featurePackagesPath;
}