Skip to content

Commit

Permalink
feat(lint)!: change dependency from conventional_commit to commitlint…
Browse files Browse the repository at this point in the history
…_parse
  • Loading branch information
hyiso committed Jan 20, 2023
1 parent 6f18909 commit eb39d61
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 24 deletions.
6 changes: 5 additions & 1 deletion packages/commitlint_lint/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# commitlint_lint

Commitlint is a tool for lint commit messages.
This package is for linting commit messages according to configured rules for commitlint cli package.
This package is for linting commit messages according to configured rules for commitlint cli package.

## Documentation

See [documention](https://hyiso.github.io/commitlint)
22 changes: 6 additions & 16 deletions packages/commitlint_lint/lib/commitlint_lint.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,17 @@
/// More dartdocs go here.
library commitlint_lint;

import 'package:commitlint_parse/commitlint_parse.dart';
import 'package:commitlint_rules/commitlint_rules.dart';
import 'package:commitlint_types/commitlint_types.dart';
import 'package:conventional_commit/conventional_commit.dart';

Future<LintOutcome> lint(
String message, Map<String, RuleConfig> rulesConfig) async {
final commit = ConventionalCommit.tryParse(message);
if (commit == null) {
return LintOutcome(input: message, valid: false, errors: [
LintRuleOutcome(
level: RuleConfigSeverity.error,
valid: false,
name: 'message-format',
message: [
'Commit message does not meet the conventional commit format.',
' - See format guide: https://www.conventionalcommits.org',
].join('\n'),
),
], warnings: []);
}
if (commit.isMergeCommit) {
// Parse the commit message
final commit = message.isEmpty ? Commit.empty() : parse(message);

if (commit.header.isEmpty && commit.body == null && commit.footer == null) {
// Commit is empty, skip
return LintOutcome(input: message, valid: true, errors: [], warnings: []);
}
final allRules = Map.of(supportedRules);
Expand Down
4 changes: 2 additions & 2 deletions packages/commitlint_lint/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ description:
version: 0.1.0
homepage: https://github.com/hyiso/commitlint
repository: https://github.com/hyiso/commitlint/packages/commitlint_lint
# homepage: https://www.example.com
documentation: https://hyiso.github.io/commitlint

environment:
sdk: '>=2.12.0 <3.0.0'

dependencies:
commitlint_parse: ^0.1.0
commitlint_rules: ^0.1.0
commitlint_types: ^0.1.0
conventional_commit: ^0.5.0+1
path: ^1.8.0

dev_dependencies:
Expand Down
10 changes: 5 additions & 5 deletions packages/commitlint_lint/test/commitlint_lint_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@ import 'package:commitlint_types/commitlint_types.dart';
import 'package:test/test.dart';

void main() {
test('negative on empty message', () async {
test('positive on empty message', () async {
final result = await lint('', {});
expect(result.valid, false);
expect(result.valid, true);
expect(result.input, equals(''));
expect(result.errors.isEmpty, false);
expect(result.errors.isEmpty, true);
expect(result.warnings.isEmpty, true);
});

test('positive on stub message and no rule', () async {
final result = await lint('', {});
expect(result.valid, false);
final result = await lint('foo: bar', {});
expect(result.valid, true);
});

test('positive on stub message and adhered rule', () async {
Expand Down

0 comments on commit eb39d61

Please sign in to comment.