feat(pre): plugging last-release, commits and type together
This commit is contained in:
		
							parent
							
								
									7412401d55
								
							
						
					
					
						commit
						a4fe18cade
					
				| @ -17,7 +17,8 @@ | |||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "npm-registry-client": "^6.4.0", |     "npm-registry-client": "^6.4.0", | ||||||
|     "npmconf": "^2.1.2", |     "npmconf": "^2.1.2", | ||||||
|     "npmlog": "^1.2.1" |     "npmlog": "^1.2.1", | ||||||
|  |     "run-auto": "^1.1.2" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "babel": "^5.5.8", |     "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