Package Exports
- @commitlint/config-conventional
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@commitlint/config-conventional) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Lint your conventional commits
@commitlint/config-conventional
Shareable commitlint
config enforcing conventional commits.
Use with @commitlint/cli and @commitlint/prompt-cli.
Getting started
npm install --save-dev @commitlint/config-conventional @commitlint/cli
echo "module.exports = {extends: ['@commitlint/config-conventional']};" > commitlint.config.js
Rules
Problems
The following rules are considered problems for @commitlint/config-conventional
and will yield a non-zero exit code when not met.
Consult docs/rules for a list of available rules.
type-enum
condition:
type
is found in valuerule:
always
level:
error
value
[ 'build', 'ci', 'chore', 'docs', 'feat', 'fix', 'perf', 'refactor', 'revert', 'style', 'test' ];
echo "foo: some message" # fails
echo "fix: some message" # passes
type-case
- description:
type
is in casevalue
- rule:
always
- level:
error
- value
'lowerCase'
echo "FIX: some message" # fails
echo "fix: some message" # passes
type-empty
- condition:
type
is empty - rule:
never
- level:
error
echo ": some message" # fails
echo "fix: some message" # passes
scope-case
- condition:
scope
is in casevalue
- rule:
always
- level:
error
'lowerCase'
echo "fix(SCOPE): some message" # fails
echo "fix(scope): some message" # passes
subject-case
- condition:
subject
is in one of the cases['sentence-case', 'start-case', 'pascal-case', 'upper-case']
- rule:
never
- level:
error
echo "fix(SCOPE): Some message" # fails
echo "fix(SCOPE): Some Message" # fails
echo "fix(SCOPE): SomeMessage" # fails
echo "fix(SCOPE): SOMEMESSAGE" # fails
echo "fix(scope): some message" # passes
echo "fix(scope): some Message" # passes
subject-empty
- condition:
subject
is empty - rule:
never
- level:
error
echo "fix:" # fails
echo "fix: some message" # passes
subject-full-stop
- condition:
subject
ends withvalue
- rule:
never
- level:
error
- value
'.'
echo "fix: some message." # fails
echo "fix: some message" # passes
header-max-length
- condition:
header
hasvalue
or less characters - rule:
always
- level:
error
- value
100
echo "fix: some message that is way too long and breaks the line max-length by several characters" # fails
echo "fix: some message" # passes
footer-leading-blank
- condition:
footer
should have a leading blank line - rule:
always
- level:
warning
- value
100
echo "fix: some message
BREAKING CHANGE: It will be significant" # warning
echo "fix: some message
BREAKING CHANGE: It will be significant" # passes
footer-max-line-length
- condition:
footer
each line hasvalue
or less characters - rule:
always
- level:
error
- value
100
echo "fix: some message
BREAKING CHANGE: footer with multiple lines
has a message that is way too long and will break the line rule 'line-max-length' by several characters" # fails
echo "fix: some message
BREAKING CHANGE: footer with multiple lines
but still no line is too long" # passes
body-leading-blank
- condition:
body
should have a leading blank line - rule:
always
- level:
warning
- value
100;
echo "fix: some message
body" # warning
echo "fix: some message
body" # passes
body-max-line-length
- condition:
body
each line hasvalue
or less characters - rule:
always
- level:
error
- value
100;
echo "fix: some message
body with multiple lines
has a message that is way too long and will break the line rule 'line-max-length' by several characters" # fails
echo "fix: some message
body with multiple lines
but still no line is too long" # passes