adapt jenkins.js
This commit is contained in:
		
							
								
								
									
										63
									
								
								jenkins.js
									
									
									
									
									
								
							
							
						
						
									
										63
									
								
								jenkins.js
									
									
									
									
									
								
							| @@ -1,26 +1,37 @@ | ||||
| /* eslint-disable no-process-exit */ | ||||
| /* eslint-disable no-console */ | ||||
| /* eslint-disable no-sync */ | ||||
| 'use strict'; | ||||
|  | ||||
| const fs = require ('fs'); | ||||
| const child_process = require ('child_process'); | ||||
|  | ||||
| const pkg = JSON.parse (fs.readFileSync ('package.json', 'utf-8')); | ||||
| [ | ||||
|   ,, pkg.version | ||||
| ] = process.argv; | ||||
| fs.writeFileSync ('package.json', JSON.stringify (pkg, null, 2)); | ||||
|  | ||||
| child_process.execSync ('yarn lint', { stdio: 'inherit' }); | ||||
| child_process.execSync ('yarn test', { stdio: 'inherit' }); | ||||
| child_process.execSync ('yarn compile', { stdio: 'inherit' }); | ||||
|  | ||||
| child_process.exec ('git log -1 | grep \'\\[no publish\\]\'') | ||||
|   .addListener ('exit', (code) => { | ||||
|     if (code === 0) { | ||||
|       console.log ('build not marked for deployment'); | ||||
|       process.exit (1); | ||||
|     } | ||||
|     else { child_process.execSync ('yarn publish --access public'); } | ||||
|   }); | ||||
| /* eslint-disable no-process-exit */ /* eslint-disable no-console */ /*  | ||||
| eslint-disable no-sync */ 'use strict'; const fs = require ('fs'); const  | ||||
| child_process = require ('child_process'); const pkg = JSON.parse  | ||||
| (fs.readFileSync ('package.json', 'utf-8')); [ | ||||
|   ,, pkg.version ] = process.argv; fs.writeFileSync ('package.json',  | ||||
| JSON.stringify (pkg, null, 2)); child_process.execSync ('yarn lint', {  | ||||
| stdio: 'inherit' }); child_process.execSync ('yarn test', { stdio:  | ||||
| 'inherit' }); child_process.execSync ('yarn compile', { stdio: 'inherit'  | ||||
| }); | ||||
| if (typeof pkg.description === 'undefined' || pkg.description === '') { | ||||
|   console.log ('description undefined'); | ||||
|   process.exit (1); | ||||
| } | ||||
| if (typeof pkg.repository === 'undefined') { | ||||
|   console.log ('repository undefined'); | ||||
|   process.exit (1); | ||||
| } | ||||
| function major (version) { | ||||
|   return version.replace (/\.[0-9]+$/ui, ''); | ||||
| } | ||||
| if (fs.existsSync ('README.md')) { | ||||
|   const readme = fs.readFileSync ('README.md', 'utf-8'); | ||||
|   // eslint-disable-next-line prefer-named-capture-group | ||||
|   const version = (/version: ([0-9.]+)/ui).exec (readme); | ||||
|   if ( | ||||
|     version === null | ||||
|     || major (version[1]) !== major (pkg.version) | ||||
|   ) { | ||||
|     console.log ('readme version does not match package version'); | ||||
|     process.exit (1); | ||||
|   } | ||||
|   else { child_process.execSync ('yarn publish --access public'); } | ||||
| } | ||||
| else { | ||||
|   console.log ('readme does not exist'); | ||||
|   process.exit (1); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user