fix(plugins): require user plugins relative to the cwd
This commit is contained in:
		
							parent
							
								
									150273c8fe
								
							
						
					
					
						commit
						43c8df0bfe
					
				| @ -22,6 +22,7 @@ | |||||||
|     "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", | ||||||
|  |     "require-relative": "^0.8.7", | ||||||
|     "run-auto": "^1.1.2", |     "run-auto": "^1.1.2", | ||||||
|     "semver": "^4.3.6" |     "semver": "^4.3.6" | ||||||
|   }, |   }, | ||||||
|  | |||||||
| @ -1,3 +1,5 @@ | |||||||
|  | const relative = require('require-relative') | ||||||
|  | 
 | ||||||
| let exports = module.exports = function (source) { | let exports = module.exports = function (source) { | ||||||
|   return { |   return { | ||||||
|     analyzeCommits: exports.normalize(source.analyzeCommits, '@semantic-release/commit-analyzer'), |     analyzeCommits: exports.normalize(source.analyzeCommits, '@semantic-release/commit-analyzer'), | ||||||
| @ -7,10 +9,10 @@ let exports = module.exports = function (source) { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| exports.normalize = function (plugin, fallback) { | exports.normalize = function (plugin, fallback) { | ||||||
|   if (typeof plugin === 'string') return require(plugin).bind(null, {}) |   if (typeof plugin === 'string') return relative(plugin).bind(null, {}) | ||||||
| 
 | 
 | ||||||
|   if (plugin && (typeof plugin.path === 'string')) { |   if (plugin && (typeof plugin.path === 'string')) { | ||||||
|     return require(plugin.path).bind(null, plugin) |     return relative(plugin.path).bind(null, plugin) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   return require(fallback).bind(null, plugin) |   return require(fallback).bind(null, plugin) | ||||||
|  | |||||||
| @ -5,7 +5,7 @@ const { normalize } = require('../../dist/lib/plugins') | |||||||
| test('normalize and load plugin', function (t) { | test('normalize and load plugin', function (t) { | ||||||
| 
 | 
 | ||||||
|   t.test('load from string', (tt) => { |   t.test('load from string', (tt) => { | ||||||
|     const plugin = normalize('../../dist/lib/plugin-noop') |     const plugin = normalize('./dist/lib/plugin-noop') | ||||||
| 
 | 
 | ||||||
|     tt.is(typeof plugin, 'function') |     tt.is(typeof plugin, 'function') | ||||||
| 
 | 
 | ||||||
| @ -14,7 +14,7 @@ test('normalize and load plugin', function (t) { | |||||||
| 
 | 
 | ||||||
|   t.test('load from object', (tt) => { |   t.test('load from object', (tt) => { | ||||||
|     const plugin = normalize({ |     const plugin = normalize({ | ||||||
|       path: '../../dist/lib/plugin-noop' |       path: './dist/lib/plugin-noop' | ||||||
|     }) |     }) | ||||||
| 
 | 
 | ||||||
|     tt.is(typeof plugin, 'function') |     tt.is(typeof plugin, 'function') | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user