generateLicenseInfo function
Implementation
Future<List<Package>> generateLicenseInfo({required String pubspecLockPath}) async {
final pubCacheDir = guessPubCacheDir();
if (pubCacheDir == null) {
throw "could not find pub cache directory";
}
final pubspecLock = await File(pubspecLockPath).readAsString();
final pubspec = loadYaml(pubspecLock);
final packages = pubspec['packages'] as Map;
final loadedPackages = await Future.wait(
packages.keys.map(
(node) => Package.fromMap(
outerName: node,
packageJson: packages[node],
pubCacheDirPath: pubCacheDir,
flutterDir: flutterDir,
pubspecLockPath: pubspecLockPath,
),
),
);
return loadedPackages.where((p) => p != null).cast<Package>().toList();
}