From 67abb12c33a4e7c6edf4e1022797c90ec37d62a8 Mon Sep 17 00:00:00 2001 From: Timo Hocker Date: Fri, 15 May 2020 12:51:09 +0200 Subject: [PATCH] add jenkins.run --- jenkins.run.js | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 jenkins.run.js diff --git a/jenkins.run.js b/jenkins.run.js new file mode 100644 index 0000000..37c1969 --- /dev/null +++ b/jenkins.run.js @@ -0,0 +1,47 @@ +/* eslint-disable */ + +'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-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); + } + else { child_process.execSync ('yarn publish --access public'); } +} +else { + console.log ('readme does not exist'); + process.exit (1); +}