update jenkins.js
This commit is contained in:
		
							
								
								
									
										60
									
								
								jenkins.js
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								jenkins.js
									
									
									
									
									
								
							| @@ -1,54 +1,22 @@ | ||||
| /* | ||||
|  * Copyright (C) Sapphirecode - All Rights Reserved | ||||
|  * This file is part of consts which is released under MIT. | ||||
|  * See file 'LICENSE' for full license details. | ||||
|  * Created by Timo Hocker <timo@scode.ovh>, May 2020 | ||||
|  */ | ||||
|  | ||||
| /* eslint-disable */ | ||||
|  | ||||
| 'use strict'; | ||||
|  | ||||
| const https = require ('https'); | ||||
| const fs = require ('fs'); | ||||
| const child_process = require ('child_process'); | ||||
| const { execSync: exec_sync } = require ('child_process'); | ||||
|  | ||||
| const pkg = JSON.parse (fs.readFileSync ('package.json', 'utf-8')); | ||||
| [ | ||||
|   ,, pkg.version | ||||
| const run_file = fs.createWriteStream ('.jenkins.run.js'); | ||||
|  | ||||
| const [ | ||||
|   ,, ...args | ||||
| ] = 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' }); | ||||
| run_file.on ('close', () => { | ||||
|   exec_sync (`node .jenkins.run.js ${args.join (' ')}`, { 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-9x]+$/ui, ''); | ||||
| } | ||||
|  | ||||
| if (fs.existsSync ('README.md')) { | ||||
|   const readme = fs.readFileSync ('README.md', 'utf-8'); | ||||
|   const version = (/version: ([0-9x.]+)/ui).exec (readme); | ||||
|   if ( | ||||
|     version === null | ||||
|     || major (version[1]) !== major (pkg.version) | ||||
|   ) { | ||||
|     console.log ('readme version does not match package version'); | ||||
|     process.exit (1); | ||||
| https.get ( | ||||
|   'https://git.scode.ovh/Timo/standard/raw/branch/master/jenkins.run.js', | ||||
|   (msg) => { | ||||
|     msg.pipe (run_file); | ||||
|   } | ||||
|   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