lintCommit function

LintResult lintCommit(
  1. String commitMessage, {
  2. LintConfig? config,
  3. List<LintRule>? rules,
})

Checks whether a commit message follows rules

Implementation

LintResult lintCommit(
  String commitMessage, {
  LintConfig? config,
  List<LintRule>? rules,
}) {
  config ??= LintConfig.defaultConfig;
  bool valid = true;
  String errorMessage = '';
  rules ??= defaultRules;
  final message = CommitMessage.parse(commitMessage);
  final context = LintContext(
    commitStr: commitMessage,
    config: config,
    message: message,
  );
  for (final rule in rules) {
    if (!rule.isValid(context)) {
      valid = false;
      errorMessage = rule.invalidMessage(context);
      break;
    }
  }
  return LintResult(valid: valid, message: errorMessage);
}