fix: normalize ci: false into noCi: true after configs get merged (#1732) thanks @dominykas
This makes sure that options.ci is respected even when set inside a shareable config
This commit is contained in:
		
							parent
							
								
									da75a9c60a
								
							
						
					
					
						commit
						21c151f167
					
				| @ -27,9 +27,6 @@ module.exports = async (context, cliOptions) => { | |||||||
| 
 | 
 | ||||||
|   // Merge config file options and CLI/API options
 |   // Merge config file options and CLI/API options
 | ||||||
|   let options = {...config, ...cliOptions}; |   let options = {...config, ...cliOptions}; | ||||||
|   if (options.ci === false) { |  | ||||||
|     options.noCi = true; |  | ||||||
|   } |  | ||||||
| 
 | 
 | ||||||
|   const pluginsPath = {}; |   const pluginsPath = {}; | ||||||
|   let extendPaths; |   let extendPaths; | ||||||
| @ -87,6 +84,10 @@ module.exports = async (context, cliOptions) => { | |||||||
|     ...(options.branches ? {branches: castArray(options.branches)} : {}), |     ...(options.branches ? {branches: castArray(options.branches)} : {}), | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|  |   if (options.ci === false) { | ||||||
|  |     options.noCi = true; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   debug('options values: %O', options); |   debug('options values: %O', options); | ||||||
| 
 | 
 | ||||||
|   return {options, plugins: await plugins({...context, options}, pluginsPath)}; |   return {options, plugins: await plugins({...context, options}, pluginsPath)}; | ||||||
|  | |||||||
| @ -505,10 +505,10 @@ test('Allow to unset properties defined in shareable config with "undefined"', a | |||||||
| test('Throw an Error if one of the shareable config cannot be found', async (t) => { | test('Throw an Error if one of the shareable config cannot be found', async (t) => { | ||||||
|   // Create a git repository, set the current working directory at the root of the repo
 |   // Create a git repository, set the current working directory at the root of the repo
 | ||||||
|   const {cwd} = await gitRepo(); |   const {cwd} = await gitRepo(); | ||||||
|   const pkhOptions = {extends: ['./shareable1.json', 'non-existing-path']}; |   const pkgOptions = {extends: ['./shareable1.json', 'non-existing-path']}; | ||||||
|   const options1 = {analyzeCommits: 'analyzeCommits'}; |   const options1 = {analyzeCommits: 'analyzeCommits'}; | ||||||
|   // Create package.json and shareable.json in repository root
 |   // Create package.json and shareable.json in repository root
 | ||||||
|   await outputJson(path.resolve(cwd, 'package.json'), {release: pkhOptions}); |   await outputJson(path.resolve(cwd, 'package.json'), {release: pkgOptions}); | ||||||
|   await outputJson(path.resolve(cwd, 'shareable1.json'), options1); |   await outputJson(path.resolve(cwd, 'shareable1.json'), options1); | ||||||
| 
 | 
 | ||||||
|   await t.throwsAsync(t.context.getConfig({cwd}), { |   await t.throwsAsync(t.context.getConfig({cwd}), { | ||||||
| @ -516,3 +516,20 @@ test('Throw an Error if one of the shareable config cannot be found', async (t) | |||||||
|     code: 'MODULE_NOT_FOUND', |     code: 'MODULE_NOT_FOUND', | ||||||
|   }); |   }); | ||||||
| }); | }); | ||||||
|  | 
 | ||||||
|  | test('Convert "ci" option to "noCi" when set from extended config', async (t) => { | ||||||
|  |   // Create a git repository, set the current working directory at the root of the repo
 | ||||||
|  |   const {cwd} = await gitRepo(); | ||||||
|  |   const pkgOptions = {extends: './no-ci.json'}; | ||||||
|  |   const options = { | ||||||
|  |     ci: false, | ||||||
|  |   }; | ||||||
|  |   // Create package.json and shareable.json in repository root
 | ||||||
|  |   await outputJson(path.resolve(cwd, 'package.json'), {release: pkgOptions}); | ||||||
|  |   await outputJson(path.resolve(cwd, 'no-ci.json'), options); | ||||||
|  | 
 | ||||||
|  |   const {options: result} = await t.context.getConfig({cwd}); | ||||||
|  | 
 | ||||||
|  |   t.is(result.ci, false); | ||||||
|  |   t.is(result.noCi, true); | ||||||
|  | }); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user