getAllPackageVersionsForPackageInCache static method
Map<Version, String>
getAllPackageVersionsForPackageInCache(
- String packageName
)
Implementation
static Map<Version, String> getAllPackageVersionsForPackageInCache(
String packageName) {
final cacheDir = pubCacheDir;
final hostedDir = path.join(cacheDir, 'hosted');
final versions = <Version, String>{};
final repositoryDirs =
Directory(hostedDir).listSync().whereType<Directory>().toList();
for (final repositoryDir in repositoryDirs) {
for (final potentialPackageDir
in repositoryDir.listSync().whereType<Directory>()) {
final packageDirName = path.basename(potentialPackageDir.path);
if (!packageDirName.startsWith('$packageName-')) {
continue;
}
final versionPart = packageDirName.substring(packageName.length + 1);
final version = Version.parse(versionPart);
versions[version] = potentialPackageDir.path;
}
}
return versions;
}