| 
									
										
										
										
											2015-04-27 11:17:25 -07:00
										 |  |  | #!/usr/bin/env node
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-08 14:55:03 -07:00
										 |  |  | /** | 
					
						
							|  |  |  |  * Just a small command-line wrapper around the conventional-changelog npm module | 
					
						
							|  |  |  |  * (https://www.npmjs.com/package/conventional-changelog), which also prepends
 | 
					
						
							|  |  |  |  * changes to CHANGELOG.md. | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2016-04-26 15:17:46 -07:00
										 |  |  |  * Appends CHANGELOG.md with the changes between tag and HEAD. | 
					
						
							|  |  |  |  * NOTE: only `fix`, `feat`, `perf` and `revert` commits are used | 
					
						
							|  |  |  |  * see: https://github.com/conventional-changelog/conventional-changelog/blob/v0.2.1/presets/angular.js#L24
 | 
					
						
							| 
									
										
										
										
											2015-07-08 14:55:03 -07:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-27 11:17:25 -07:00
										 |  |  | var fs = require('fs'); | 
					
						
							| 
									
										
										
										
											2015-04-30 12:53:39 -07:00
										 |  |  | var cl = require('conventional-changelog'); | 
					
						
							| 
									
										
										
										
											2016-04-26 15:17:46 -07:00
										 |  |  | const exec = require('child_process').exec; | 
					
						
							| 
									
										
										
										
											2015-04-27 11:17:25 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-26 15:17:46 -07:00
										 |  |  | var changelogStream = fs.createWriteStream('CHANGELOG-delta.md'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if (process.argv.length < 3) { | 
					
						
							|  |  |  |   console.log('Usage: ./scripts/publish/changelog.js <start-tag>'); | 
					
						
							|  |  |  |   process.exit(-1); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-04-27 11:17:25 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-30 12:53:39 -07:00
										 |  |  | var config = { | 
					
						
							| 
									
										
										
										
											2015-07-29 13:44:39 -07:00
										 |  |  |   preset: 'angular', | 
					
						
							|  |  |  |   releaseCount: 1, | 
					
						
							| 
									
										
										
										
											2015-04-27 11:17:25 -07:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-26 15:17:46 -07:00
										 |  |  | var prependDelta = function() { | 
					
						
							|  |  |  |   exec('cat CHANGELOG-delta.md CHANGELOG.md > CHANGELOG-new.md;' + | 
					
						
							| 
									
										
										
										
											2016-04-26 16:11:47 -07:00
										 |  |  |        'mv CHANGELOG-new.md CHANGELOG.md;' + | 
					
						
							| 
									
										
										
										
											2016-04-26 15:17:46 -07:00
										 |  |  |        'rm CHANGELOG-delta.md'); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cl(config, null, {from: process.argv[2]}).on('error', function(err) { | 
					
						
							| 
									
										
										
										
											2015-07-29 13:44:39 -07:00
										 |  |  |             console.error('Failed to generate changelog: ' + err); | 
					
						
							| 
									
										
										
										
											2016-04-26 15:17:46 -07:00
										 |  |  |           }).pipe(changelogStream).on('close', prependDelta); |