39 lines
1.3 KiB
JavaScript
39 lines
1.3 KiB
JavaScript
'use strict'
|
|
const Q = require(`q`)
|
|
const _ = require(`lodash`)
|
|
const conventionalChangelog = require(`./conventional-changelog`)
|
|
const parserOpts = require(`./parser-opts`)
|
|
const recommendedBumpOpts = require(`./conventional-recommended-bump`)
|
|
const writerOpts = require(`./writer-opts`)
|
|
|
|
module.exports = function (parameter) {
|
|
// parameter passed can be either a config object or a callback function
|
|
if (_.isFunction(parameter)) {
|
|
// parameter is a callback object
|
|
const config = {}
|
|
// FIXME: use presetOpts(config) for callback
|
|
Q.all([
|
|
conventionalChangelog(config),
|
|
parserOpts(config),
|
|
recommendedBumpOpts(config),
|
|
writerOpts(config)
|
|
]).spread((conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts) => {
|
|
parameter(null, { gitRawCommitsOpts: { noMerges: null }, conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts })
|
|
})
|
|
} else {
|
|
const config = parameter || {}
|
|
return presetOpts(config)
|
|
}
|
|
}
|
|
|
|
function presetOpts (config) {
|
|
return Q.all([
|
|
conventionalChangelog(config),
|
|
parserOpts(config),
|
|
recommendedBumpOpts(config),
|
|
writerOpts(config)
|
|
]).spread((conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts) => {
|
|
return { conventionalChangelog, parserOpts, recommendedBumpOpts, writerOpts }
|
|
})
|
|
}
|