File tree Expand file tree Collapse file tree 3 files changed +74
-0
lines changed
packages/commitlint-plugin-wizardoc-rules/src Expand file tree Collapse file tree 3 files changed +74
-0
lines changed Original file line number Diff line number Diff line change 1+ import { RuleResolver } from "./typings" ;
2+ import { breakChangeSymbol } from "./constants" ;
3+
4+ const breakChangeSymbolRuleResolver : RuleResolver = (
5+ parsed ,
6+ _when ,
7+ value = breakChangeSymbol
8+ ) => {
9+ const rawCommitMessage = parsed . raw ;
10+ if ( ! rawCommitMessage ) return [ false , "Commit message should not be empty" ] ;
11+
12+ let isRuleValid = false ;
13+
14+ const findedBreakChangeSymbol : string = rawCommitMessage . split ( "[" ) [ 0 ] ;
15+
16+ // 查找[ 前一项
17+ if ( ! findedBreakChangeSymbol || findedBreakChangeSymbol === value )
18+ isRuleValid = true ;
19+
20+ return [
21+ isRuleValid ,
22+ `break change must be symbol with "${ value } " e.g: ${ value } [Type::scope] subject` ,
23+ ] ;
24+ } ;
25+ export default breakChangeSymbolRuleResolver ;
Original file line number Diff line number Diff line change 1+ import breakChangeSymbolRuleResolver from "../break-change-symbol-rule-resolver" ;
2+
3+ describe ( "breakChangeSymbolRuleResolver" , ( ) => {
4+ it ( "should return a error response if breakChangeSymbol is not !" , ( ) => {
5+ const parsed = {
6+ raw : "$[Type::scope] subject" ,
7+ } ;
8+ expect ( breakChangeSymbolRuleResolver ( parsed ) [ 0 ] ) . toEqual ( false ) ;
9+ } ) ;
10+ it ( "should return a success response if no breakChangeSymbol" , ( ) => {
11+ const parsed = {
12+ raw : "[Type::scope] subject" ,
13+ } ;
14+ expect ( breakChangeSymbolRuleResolver ( parsed ) [ 0 ] ) . toEqual ( true ) ;
15+ } ) ;
16+ it ( "should return a success response if breakChangeSymbol is !" , ( ) => {
17+ const parsed = {
18+ raw : "![Type::scope] subject" ,
19+ } ;
20+ expect ( breakChangeSymbolRuleResolver ( parsed ) [ 0 ] ) . toEqual ( true ) ;
21+ } ) ;
22+ } ) ;
Original file line number Diff line number Diff line change 1+ export type RuleResolver = (
2+ parsed : Partial < {
3+ type : string ;
4+ scope : string ;
5+ subject : string ;
6+ merge : string ;
7+ header : string ;
8+ body : string ;
9+ footer : string ;
10+ notes : string [ ] ;
11+ references : string [ ] ;
12+ mentions : string [ ] ;
13+ revert : string ;
14+ raw : string ;
15+ } > ,
16+ when ?: string ,
17+ value ?: string | number | boolean | ( string | number ) [ ]
18+ ) => ( string | boolean ) [ ] ;
19+
20+ export interface CommitlintPlugin {
21+ rules : {
22+ [ key : string ] : RuleResolver ;
23+ } ;
24+ }
25+ declare const commitlintPlugin : CommitlintPlugin ;
26+
27+ export default commitlintPlugin ;
You can’t perform that action at this time.
0 commit comments