onlyHaveDependenciesFromFolders static method
Implementation
static Validation<DartLibrary> onlyHaveDependenciesFromFolders(
List<String> folders,
) {
return Validation(
(lib, package, addViolation) {
final invalidDependencies = lib.dependencies.where((dep) {
final isFromOtherPackage = dep.targetPackage != package.name;
if (isFromOtherPackage) {
return false;
}
final depFolders = dep.targetLibrary.split('/')..removeLast();
return !folders.any((folder) => depFolders.contains(folder));
});
if (invalidDependencies.isNotEmpty) {
addViolation(
'Can only have dependencies from folders $folders.\n' +
_buildInvalidImports(invalidDependencies),
);
}
},
description: 'only have dependencies from folders $folders',
);
}