fix(verify): ensure repo url in package.json is well formed
This commit is contained in:
		
							parent
							
								
									dbea5cc1b1
								
							
						
					
					
						commit
						431babb42e
					
				| @ -1,3 +1,5 @@ | |||||||
|  | const parseSlug = require('parse-github-repo-url') | ||||||
|  | 
 | ||||||
| const SemanticReleaseError = require('@semantic-release/error') | const SemanticReleaseError = require('@semantic-release/error') | ||||||
| 
 | 
 | ||||||
| module.exports = function (pkg, options, env) { | module.exports = function (pkg, options, env) { | ||||||
| @ -15,6 +17,11 @@ module.exports = function (pkg, options, env) { | |||||||
|       'No "repository" found in package.json.', |       'No "repository" found in package.json.', | ||||||
|       'ENOPKGREPO' |       'ENOPKGREPO' | ||||||
|     )) |     )) | ||||||
|  |   } else if (!parseSlug(pkg.repository.url)) { | ||||||
|  |     errors.push(new SemanticReleaseError( | ||||||
|  |       'The "repository" field in the package.json is malformed.', | ||||||
|  |       'EMALFORMEDPKGREPO' | ||||||
|  |     )) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   if (options.debug) return errors |   if (options.debug) return errors | ||||||
|  | |||||||
| @ -23,6 +23,18 @@ test('verify pkg, options and env', (t) => { | |||||||
|     tt.is(errors[0].code, 'ENOPKGNAME') |     tt.is(errors[0].code, 'ENOPKGNAME') | ||||||
|     tt.is(errors[1].code, 'ENOPKGREPO') |     tt.is(errors[1].code, 'ENOPKGREPO') | ||||||
| 
 | 
 | ||||||
|  |     const errors2 = verify({ | ||||||
|  |       name: 'package', | ||||||
|  |       repository: { | ||||||
|  |         url: 'lol' | ||||||
|  |       } | ||||||
|  |     }, { | ||||||
|  |       debug: true | ||||||
|  |     }, {}) | ||||||
|  | 
 | ||||||
|  |     tt.is(errors2.length, 1) | ||||||
|  |     tt.is(errors2[0].code, 'EMALFORMEDPKGREPO') | ||||||
|  | 
 | ||||||
|     tt.end() |     tt.end() | ||||||
|   }) |   }) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user