0 purchases
pubspec yaml
pubspec_yaml #
Dart library to access and manipulate content of pubpec.yaml files
Class PubspecYaml #
PubspecYaml is a data type representing data stored in pubspec.yaml files.
The following fields are supported:
Package name
Package version
Package description
Package author/authors
Package homepage, repository, and issue tracker
Package documentation
Package server specification
Dependency specifications: regular, dev, and overrides
SDK constraints
Command-line executables provided by the package
Other fields are accessible via PubspecYaml.customFields as a JSON structure (Map<String, dynamic>).
YAML Import #
PubspecYaml provides two methods to import pubspec.yaml content:
The factory method PubspecYaml.loadFromYamlString() creates an object from a string with pubspec.yaml content
String extension method toPubspecYaml()
YAML Export #
PubspecYaml.toYamlString() produces pubspec.yaml content that can be written to a file
Data Manipulation #
PubspecYaml uses functional_data extensions to enable equality operations and lenses (https://pub.dev/packages/functional_data).
Example #
The following Dart script checks whether production dependencies have overrides:
void main() {
final pubspecYaml = File('pubspec.yaml').readAsStringSync().toPubspecYaml();
final productionOverrides = pubspecYaml.dependencyOverrides.where(
(override) => pubspecYaml.dependencies.any((
productionDependency,
) =>
productionDependency.package() == override.package()),
);
if (productionOverrides.isEmpty) {
print('SUCCESS: No overrides of production dependencies detected');
} else {
print('WARNING: Overrides of production dependencies detected:');
productionOverrides.forEach(print);
}
}
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.