feat: adding linter for commits
This commit is contained in:
101
node_modules/conventional-commits-parser/index.js
generated
vendored
Normal file
101
node_modules/conventional-commits-parser/index.js
generated
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
'use strict'
|
||||
|
||||
const parser = require('./lib/parser')
|
||||
const regex = require('./lib/regex')
|
||||
const through = require('through2')
|
||||
const _ = require('lodash')
|
||||
|
||||
function assignOpts (options) {
|
||||
options = _.extend({
|
||||
headerPattern: /^(\w*)(?:\(([\w$.\-*/ ]*)\))?: (.*)$/,
|
||||
headerCorrespondence: ['type', 'scope', 'subject'],
|
||||
referenceActions: [
|
||||
'close',
|
||||
'closes',
|
||||
'closed',
|
||||
'fix',
|
||||
'fixes',
|
||||
'fixed',
|
||||
'resolve',
|
||||
'resolves',
|
||||
'resolved'
|
||||
],
|
||||
issuePrefixes: ['#'],
|
||||
noteKeywords: ['BREAKING CHANGE'],
|
||||
fieldPattern: /^-(.*?)-$/,
|
||||
revertPattern: /^Revert\s"([\s\S]*)"\s*This reverts commit (\w*)\./,
|
||||
revertCorrespondence: ['header', 'hash'],
|
||||
warn: function () {},
|
||||
mergePattern: null,
|
||||
mergeCorrespondence: null
|
||||
}, options)
|
||||
|
||||
if (typeof options.headerPattern === 'string') {
|
||||
options.headerPattern = new RegExp(options.headerPattern)
|
||||
}
|
||||
|
||||
if (typeof options.headerCorrespondence === 'string') {
|
||||
options.headerCorrespondence = options.headerCorrespondence.split(',')
|
||||
}
|
||||
|
||||
if (typeof options.referenceActions === 'string') {
|
||||
options.referenceActions = options.referenceActions.split(',')
|
||||
}
|
||||
|
||||
if (typeof options.issuePrefixes === 'string') {
|
||||
options.issuePrefixes = options.issuePrefixes.split(',')
|
||||
}
|
||||
|
||||
if (typeof options.noteKeywords === 'string') {
|
||||
options.noteKeywords = options.noteKeywords.split(',')
|
||||
}
|
||||
|
||||
if (typeof options.fieldPattern === 'string') {
|
||||
options.fieldPattern = new RegExp(options.fieldPattern)
|
||||
}
|
||||
|
||||
if (typeof options.revertPattern === 'string') {
|
||||
options.revertPattern = new RegExp(options.revertPattern)
|
||||
}
|
||||
|
||||
if (typeof options.revertCorrespondence === 'string') {
|
||||
options.revertCorrespondence = options.revertCorrespondence.split(',')
|
||||
}
|
||||
|
||||
if (typeof options.mergePattern === 'string') {
|
||||
options.mergePattern = new RegExp(options.mergePattern)
|
||||
}
|
||||
|
||||
return options
|
||||
}
|
||||
|
||||
function conventionalCommitsParser (options) {
|
||||
options = assignOpts(options)
|
||||
const reg = regex(options)
|
||||
|
||||
return through.obj(function (data, enc, cb) {
|
||||
let commit
|
||||
|
||||
try {
|
||||
commit = parser(data.toString(), options, reg)
|
||||
cb(null, commit)
|
||||
} catch (err) {
|
||||
if (options.warn === true) {
|
||||
cb(err)
|
||||
} else {
|
||||
options.warn(err.toString())
|
||||
cb(null, '')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function sync (commit, options) {
|
||||
options = assignOpts(options)
|
||||
const reg = regex(options)
|
||||
|
||||
return parser(commit, options, reg)
|
||||
}
|
||||
|
||||
module.exports = conventionalCommitsParser
|
||||
module.exports.sync = sync
|
Reference in New Issue
Block a user