feat(post): custom release note generation
This commit is contained in:
		
							parent
							
								
									3369f31a8d
								
							
						
					
					
						commit
						323b5d5bf8
					
				| @ -68,7 +68,7 @@ if (~argv._.indexOf('pre')) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| if (~argv._.indexOf('post')) { | if (~argv._.indexOf('post')) { | ||||||
|   require('../src/post')(argv, efh(function () { |   require('../src/post')(argv, plugins, efh(function () { | ||||||
|     // see src/restart.js
 |     // see src/restart.js
 | ||||||
|     if (npmArgv['semantic-release-rerun']) { |     if (npmArgv['semantic-release-rerun']) { | ||||||
|       console.log('Everything is alright :) npm will now print an error message that you can safely ignore.') |       console.log('Everything is alright :) npm will now print an error message that you can safely ignore.') | ||||||
|  | |||||||
							
								
								
									
										17
									
								
								lib/release-notes.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								lib/release-notes.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,17 @@ | |||||||
|  | 'use strict' | ||||||
|  | 
 | ||||||
|  | var readFile = require('fs').readFileSync | ||||||
|  | 
 | ||||||
|  | var changelog = require('conventional-changelog') | ||||||
|  | var parseUrl = require('github-url-from-git') | ||||||
|  | 
 | ||||||
|  | module.exports = function (cb) { | ||||||
|  |   var pkg = JSON.parse(readFile('./package.json')) | ||||||
|  |   var repository = pkg.repository ? parseUrl(pkg.repository.url) : null | ||||||
|  | 
 | ||||||
|  |   changelog({ | ||||||
|  |     version: pkg.version, | ||||||
|  |     repository: repository, | ||||||
|  |     file: false | ||||||
|  |   }, cb) | ||||||
|  | } | ||||||
							
								
								
									
										12
									
								
								src/post.js
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								src/post.js
									
									
									
									
									
								
							| @ -3,20 +3,20 @@ | |||||||
| var readFile = require('fs').readFileSync | var readFile = require('fs').readFileSync | ||||||
| var url = require('url') | var url = require('url') | ||||||
| 
 | 
 | ||||||
| var changelog = require('conventional-changelog') |  | ||||||
| var gitHead = require('git-head') | var gitHead = require('git-head') | ||||||
| var GitHubApi = require('github') | var GitHubApi = require('github') | ||||||
| var parseSlug = require('parse-github-repo-url') | var parseSlug = require('parse-github-repo-url') | ||||||
| var parseUrl = require('github-url-from-git') |  | ||||||
| 
 | 
 | ||||||
| var efh = require('../lib/error').efh | var efh = require('../lib/error').efh | ||||||
| 
 | 
 | ||||||
| module.exports = function (options, cb) { | module.exports = function (options, plugins, cb) { | ||||||
|   var pkg = JSON.parse(readFile('./package.json')) |   var pkg = JSON.parse(readFile('./package.json')) | ||||||
|   var repository = pkg.repository ? pkg.repository.url : null |   var repository = pkg.repository ? pkg.repository.url : null | ||||||
| 
 | 
 | ||||||
|   if (!repository) return cb(new Error('Package must have a repository')) |   if (!repository) return cb(new Error('Package must have a repository')) | ||||||
| 
 | 
 | ||||||
|  |   var notesGenerator = require(plugins.notes || '../lib/release-notes') | ||||||
|  | 
 | ||||||
|   var config = options['github-url'] ? url.parse(options['github-url']) : {} |   var config = options['github-url'] ? url.parse(options['github-url']) : {} | ||||||
| 
 | 
 | ||||||
|   var github = new GitHubApi({ |   var github = new GitHubApi({ | ||||||
| @ -26,11 +26,7 @@ module.exports = function (options, cb) { | |||||||
|     host: config.hostname |     host: config.hostname | ||||||
|   }) |   }) | ||||||
| 
 | 
 | ||||||
|   changelog({ |   notesGenerator(efh(cb)(function (log) { | ||||||
|     version: pkg.version, |  | ||||||
|     repository: parseUrl(repository), |  | ||||||
|     file: false |  | ||||||
|   }, efh(cb)(function (log) { |  | ||||||
|     gitHead(efh(cb)(function (hash) { |     gitHead(efh(cb)(function (hash) { | ||||||
|       var ghRepo = parseSlug(repository) |       var ghRepo = parseSlug(repository) | ||||||
|       var release = { |       var release = { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user