fromDirectory static method
Parse the pubspec.yaml in dir and return a PackageManifest.
If pubspec.lock exists alongside it, exact resolved versions are
also populated in PackageManifest.resolvedVersions.
Implementation
static PackageManifest fromDirectory(Directory dir) {
final pubspecFile = File(
'${dir.path}${Platform.pathSeparator}pubspec.yaml',
);
if (!pubspecFile.existsSync()) {
return const PackageManifest(name: 'unknown');
}
final manifest = fromString(pubspecFile.readAsStringSync());
final lockFile = File('${dir.path}${Platform.pathSeparator}pubspec.lock');
if (lockFile.existsSync()) {
return _withLockVersions(manifest, lockFile.readAsStringSync());
}
return manifest;
}