run method
Executes the audit.
Implementation
@override
Future<AuditResult> run(ProjectContext context) async {
final issues = <SecurityIssue>[];
if (!context.libDirectory.existsSync()) {
return AuditResult(issues: issues);
}
final dartFiles = context.libDirectory
.listSync(recursive: true)
.whereType<File>()
.where((file) => file.path.endsWith('.dart'))
.where(
(file) => !_ignoredFileNamePattern.hasMatch(p.basename(file.path)),
);
for (final file in dartFiles) {
final lines = await file.readAsLines();
for (var lineNumber = 0; lineNumber < lines.length; lineNumber++) {
_scanLine(
file: file,
line: lines[lineNumber],
lineNumber: lineNumber + 1,
issues: issues,
);
}
}
return AuditResult(issues: issues);
}