feat(pre): plugging last-release, commits and type together
This commit is contained in:
parent
7412401d55
commit
a4fe18cade
@ -17,7 +17,8 @@
|
||||
"dependencies": {
|
||||
"npm-registry-client": "^6.4.0",
|
||||
"npmconf": "^2.1.2",
|
||||
"npmlog": "^1.2.1"
|
||||
"npmlog": "^1.2.1",
|
||||
"run-auto": "^1.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel": "^5.5.8",
|
||||
|
34
src/pre.js
Normal file
34
src/pre.js
Normal file
@ -0,0 +1,34 @@
|
||||
const auto = require('run-auto')
|
||||
const semver = require('semver')
|
||||
|
||||
const getLastRelease = require('./lib/last-release')
|
||||
const getCommits = require('./lib/commits')
|
||||
const getType = require('./lib/type')
|
||||
|
||||
module.exports = function (pkg, npmConfig, plugins, cb) {
|
||||
auto({
|
||||
lastRelease: getLastRelease.bind(null, pkg, npmConfig),
|
||||
commits: ['lastRelease', (cb, results) => {
|
||||
getCommits(results.lastRelease, cb)
|
||||
}],
|
||||
type: ['commits', 'lastRelease', (cb, results) => {
|
||||
getType(plugins, results.commits, results.lastRelease, cb)
|
||||
}]
|
||||
}, (err, results) => {
|
||||
if (err) return cb(err)
|
||||
|
||||
const nextRelease = {
|
||||
type: results.type,
|
||||
commits: results.commits,
|
||||
lastVersion: results.lastRelease.version,
|
||||
version: results.type === 'initial' ?
|
||||
'1.0.0' :
|
||||
semver.inc(results.lastRelease.version, results.type)
|
||||
}
|
||||
|
||||
plugins.verify(nextRelease, (err) => {
|
||||
if (err) return cb(err)
|
||||
cb(null, nextRelease)
|
||||
})
|
||||
})
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user