specmatic
Version:
Node wrapper for Specmatic
31 lines (26 loc) • 1.03 kB
JavaScript
const axios = require('axios');
const fs = require('fs');
const path = require('path');
const packageJson = require('../package.json'); // Import the package.json file
const specmaticVersion = packageJson.specmaticVersion;
const jarUrl = `https://github.com/specmatic/specmatic/releases/download/${specmaticVersion}/specmatic.jar`
const jarFilename = 'specmatic.jar'; // Specify the desired filename for the JAR
const downloadPath = path.resolve(__dirname, '..', jarFilename);
if (fs.existsSync(downloadPath)) {
console.log(`Deleting existing jar ...`);
fs.unlinkSync(downloadPath);
}
console.log("Downloading Specmatic jar version: " + specmaticVersion + " ...");
axios({
method: 'get',
url: jarUrl,
responseType: 'stream',
})
.then((response) => {
response.data.pipe(fs.createWriteStream(downloadPath));
console.log("Finished downloading Specmatic jar");
})
.catch((error) => {
console.error('Error downloading Specmatic Core JAR file version: ' + specmaticVersion, error);
process.exit(1);
});