@commitlint/rules
Advanced tools
| import { SyncRule } from "@commitlint/types"; | ||
| export declare const breakingChangeExclamationMark: SyncRule; | ||
| //# sourceMappingURL=breaking-change-exclamation-mark.d.ts.map |
| {"version":3,"file":"breaking-change-exclamation-mark.d.ts","sourceRoot":"","sources":["../src/breaking-change-exclamation-mark.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,eAAO,MAAM,6BAA6B,EAAE,QAgC3C,CAAC"} |
| import message from "@commitlint/message"; | ||
| export const breakingChangeExclamationMark = (parsed, when = "always") => { | ||
| const header = parsed.header; | ||
| const footer = parsed.footer; | ||
| // It is the correct behavior to return true only when both the header and footer are empty, | ||
| // but still run the usual checks if one or neither are empty. | ||
| // The reasoning is that if one is empty and the other contains a breaking change marker, | ||
| // then the check fails as it is not possible for the empty one to indicate a breaking change. | ||
| if (!header && !footer) { | ||
| return [true]; | ||
| } | ||
| const hasExclamationMark = !!header && /^(\w*)(?:\((.*)\))?!: (.*)$/.test(header); | ||
| const hasBreakingChange = !!footer && /^BREAKING[ -]CHANGE:/m.test(footer); | ||
| const negated = when === "never"; | ||
| const check = hasExclamationMark === hasBreakingChange; | ||
| return [ | ||
| negated ? !check : check, | ||
| message([ | ||
| "breaking changes", | ||
| negated ? "must not" : "must", | ||
| "have both an exclamation mark in the header", | ||
| "and BREAKING CHANGE in the footer", | ||
| "to identify a breaking change", | ||
| ]), | ||
| ]; | ||
| }; | ||
| //# sourceMappingURL=breaking-change-exclamation-mark.js.map |
| {"version":3,"file":"breaking-change-exclamation-mark.js","sourceRoot":"","sources":["../src/breaking-change-exclamation-mark.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAG1C,MAAM,CAAC,MAAM,6BAA6B,GAAa,CACtD,MAAM,EACN,IAAI,GAAG,QAAQ,EACd,EAAE;IACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAE7B,4FAA4F;IAC5F,8DAA8D;IAC9D,yFAAyF;IACzF,8FAA8F;IAC9F,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,MAAM,kBAAkB,GACvB,CAAC,CAAC,MAAM,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3E,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACjC,MAAM,KAAK,GAAG,kBAAkB,KAAK,iBAAiB,CAAC;IAEvD,OAAO;QACN,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;QACxB,OAAO,CAAC;YACP,kBAAkB;YAClB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;YAC7B,6CAA6C;YAC7C,mCAAmC;YACnC,+BAA+B;SAC/B,CAAC;KACF,CAAC;AACH,CAAC,CAAC"} |
+2
-1
@@ -9,2 +9,3 @@ declare const _default: { | ||
| "body-min-length": import("@commitlint/types").SyncRule<number>; | ||
| "breaking-change-exclamation-mark": import("@commitlint/types").SyncRule; | ||
| "footer-empty": import("@commitlint/types").SyncRule; | ||
@@ -29,6 +30,6 @@ "footer-leading-blank": import("@commitlint/types").SyncRule; | ||
| "subject-empty": import("@commitlint/types").SyncRule; | ||
| "subject-exclamation-mark": import("@commitlint/types").SyncRule; | ||
| "subject-full-stop": import("@commitlint/types").SyncRule<string>; | ||
| "subject-max-length": import("@commitlint/types").SyncRule<number>; | ||
| "subject-min-length": import("@commitlint/types").SyncRule<number>; | ||
| "subject-exclamation-mark": import("@commitlint/types").SyncRule; | ||
| "trailer-exists": import("@commitlint/types").SyncRule<string>; | ||
@@ -35,0 +36,0 @@ "type-case": import("@commitlint/types").SyncRule<import("@commitlint/types").TargetCaseType | import("@commitlint/types").TargetCaseType[]>; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,wBAqCE"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,wBAsCE"} |
+3
-1
@@ -0,1 +1,2 @@ | ||
| import { breakingChangeExclamationMark } from "./breaking-change-exclamation-mark.js"; | ||
| import { bodyCase } from "./body-case.js"; | ||
@@ -45,2 +46,3 @@ import { bodyEmpty } from "./body-empty.js"; | ||
| "body-min-length": bodyMinLength, | ||
| "breaking-change-exclamation-mark": breakingChangeExclamationMark, | ||
| "footer-empty": footerEmpty, | ||
@@ -65,6 +67,6 @@ "footer-leading-blank": footerLeadingBlank, | ||
| "subject-empty": subjectEmpty, | ||
| "subject-exclamation-mark": subjectExclamationMark, | ||
| "subject-full-stop": subjectFullStop, | ||
| "subject-max-length": subjectMaxLength, | ||
| "subject-min-length": subjectMinLength, | ||
| "subject-exclamation-mark": subjectExclamationMark, | ||
| "trailer-exists": trailerExists, | ||
@@ -71,0 +73,0 @@ "type-case": typeCase, |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,eAAe;IACd,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,SAAS;IACvB,gBAAgB,EAAE,YAAY;IAC9B,oBAAoB,EAAE,gBAAgB;IACtC,iBAAiB,EAAE,aAAa;IAChC,sBAAsB,EAAE,iBAAiB;IACzC,iBAAiB,EAAE,aAAa;IAChC,cAAc,EAAE,WAAW;IAC3B,sBAAsB,EAAE,kBAAkB;IAC1C,mBAAmB,EAAE,eAAe;IACpC,wBAAwB,EAAE,mBAAmB;IAC7C,mBAAmB,EAAE,eAAe;IACpC,aAAa,EAAE,UAAU;IACzB,kBAAkB,EAAE,cAAc;IAClC,mBAAmB,EAAE,eAAe;IACpC,mBAAmB,EAAE,eAAe;IACpC,aAAa,EAAE,UAAU;IACzB,kBAAkB,EAAE,eAAe;IACnC,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,UAAU;IACzB,YAAY,EAAE,SAAS;IACvB,kBAAkB,EAAE,cAAc;IAClC,kBAAkB,EAAE,cAAc;IAClC,eAAe,EAAE,WAAW;IAC5B,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,YAAY;IAC7B,mBAAmB,EAAE,eAAe;IACpC,oBAAoB,EAAE,gBAAgB;IACtC,oBAAoB,EAAE,gBAAgB;IACtC,0BAA0B,EAAE,sBAAsB;IAClD,gBAAgB,EAAE,aAAa;IAC/B,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,QAAQ;IACrB,iBAAiB,EAAE,aAAa;IAChC,iBAAiB,EAAE,aAAa;CAChC,CAAC"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
@@ -8,3 +8,3 @@ import message from "@commitlint/message"; | ||
| const negated = when === "never"; | ||
| const hasExclamationMark = /!:/.test(input); | ||
| const hasExclamationMark = /^(\w*)(?:\((.*)\))?!: (.*)$/.test(input); | ||
| return [ | ||
@@ -11,0 +11,0 @@ negated ? !hasExclamationMark : hasExclamationMark, |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"subject-exclamation-mark.js","sourceRoot":"","sources":["../src/subject-exclamation-mark.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAG1C,MAAM,CAAC,MAAM,sBAAsB,GAAa,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,EAAE;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO;QACN,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB;QAClD,OAAO,CAAC;YACP,SAAS;YACT,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;YAC7B,uEAAuE;SACvE,CAAC;KACF,CAAC;AACH,CAAC,CAAC"} | ||
| {"version":3,"file":"subject-exclamation-mark.js","sourceRoot":"","sources":["../src/subject-exclamation-mark.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAG1C,MAAM,CAAC,MAAM,sBAAsB,GAAa,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,EAAE;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACjC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAErE,OAAO;QACN,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB;QAClD,OAAO,CAAC;YACP,SAAS;YACT,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;YAC7B,uEAAuE;SACvE,CAAC;KACF,CAAC;AACH,CAAC,CAAC"} |
+6
-6
| { | ||
| "name": "@commitlint/rules", | ||
| "type": "module", | ||
| "version": "20.0.0", | ||
| "version": "20.2.0", | ||
| "description": "Lint your commit messages", | ||
@@ -39,15 +39,15 @@ "main": "lib/index.js", | ||
| "devDependencies": { | ||
| "@commitlint/parse": "^20.0.0", | ||
| "@commitlint/parse": "^20.2.0", | ||
| "@commitlint/test": "^20.0.0", | ||
| "@commitlint/utils": "^20.0.0", | ||
| "conventional-changelog-angular": "^7.0.0", | ||
| "glob": "^10.3.10" | ||
| "glob": "^11.0.0" | ||
| }, | ||
| "dependencies": { | ||
| "@commitlint/ensure": "^20.0.0", | ||
| "@commitlint/ensure": "^20.2.0", | ||
| "@commitlint/message": "^20.0.0", | ||
| "@commitlint/to-lines": "^20.0.0", | ||
| "@commitlint/types": "^20.0.0" | ||
| "@commitlint/types": "^20.2.0" | ||
| }, | ||
| "gitHead": "407be6c96b1a108ee012ed5330b0d80a165952d5" | ||
| "gitHead": "ddad9b44d6dd98b983f338bee1ff44dfa9dc1ab1" | ||
| } |
73524
4.15%154
2.67%762
4.24%Updated
Updated