specmatic
Version:
Node wrapper for Specmatic
29 lines (26 loc) • 4.39 kB
JavaScript
;
var axios = require('axios');
var fs = require('fs');
var path = require('path');
var packageJson = require('../package.json'); // Import the package.json file
var specmaticVersion = packageJson.specmaticVersion;
var jarUrl = "https://github.com/specmatic/specmatic/releases/download/".concat(specmaticVersion, "/specmatic.jar");
var jarFilename = 'specmatic.jar'; // Specify the desired filename for the JAR
var 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(function (response) {
response.data.pipe(fs.createWriteStream(downloadPath));
console.log("Finished downloading Specmatic jar");
})["catch"](function (error) {
console.error('Error downloading Specmatic Core JAR file version: ' + specmaticVersion, error);
process.exit(1);
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJheGlvcyIsInJlcXVpcmUiLCJmcyIsInBhdGgiLCJwYWNrYWdlSnNvbiIsInNwZWNtYXRpY1ZlcnNpb24iLCJqYXJVcmwiLCJjb25jYXQiLCJqYXJGaWxlbmFtZSIsImRvd25sb2FkUGF0aCIsInJlc29sdmUiLCJfX2Rpcm5hbWUiLCJleGlzdHNTeW5jIiwiY29uc29sZSIsImxvZyIsInVubGlua1N5bmMiLCJtZXRob2QiLCJ1cmwiLCJyZXNwb25zZVR5cGUiLCJ0aGVuIiwicmVzcG9uc2UiLCJkYXRhIiwicGlwZSIsImNyZWF0ZVdyaXRlU3RyZWFtIiwiZXJyb3IiLCJwcm9jZXNzIiwiZXhpdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9kb3dubG9hZFNwZWNtYXRpY0phci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBheGlvcyA9IHJlcXVpcmUoJ2F4aW9zJyk7XG5jb25zdCBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG5jb25zdCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTsgLy8gSW1wb3J0IHRoZSBwYWNrYWdlLmpzb24gZmlsZVxuXG5jb25zdCBzcGVjbWF0aWNWZXJzaW9uID0gcGFja2FnZUpzb24uc3BlY21hdGljVmVyc2lvbjtcbmNvbnN0IGphclVybCA9IGBodHRwczovL2dpdGh1Yi5jb20vc3BlY21hdGljL3NwZWNtYXRpYy9yZWxlYXNlcy9kb3dubG9hZC8ke3NwZWNtYXRpY1ZlcnNpb259L3NwZWNtYXRpYy5qYXJgXG5jb25zdCBqYXJGaWxlbmFtZSA9ICdzcGVjbWF0aWMuamFyJzsgLy8gU3BlY2lmeSB0aGUgZGVzaXJlZCBmaWxlbmFtZSBmb3IgdGhlIEpBUlxuXG5jb25zdCBkb3dubG9hZFBhdGggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4nLCBqYXJGaWxlbmFtZSk7XG5cbmlmIChmcy5leGlzdHNTeW5jKGRvd25sb2FkUGF0aCkpIHtcbiAgY29uc29sZS5sb2coYERlbGV0aW5nIGV4aXN0aW5nIGphciAuLi5gKTtcbiAgZnMudW5saW5rU3luYyhkb3dubG9hZFBhdGgpO1xufVxuXG5jb25zb2xlLmxvZyhcIkRvd25sb2FkaW5nIFNwZWNtYXRpYyBqYXIgdmVyc2lvbjogXCIgKyBzcGVjbWF0aWNWZXJzaW9uICsgXCIgLi4uXCIpO1xuYXhpb3Moe1xuICBtZXRob2Q6ICdnZXQnLFxuICB1cmw6IGphclVybCxcbiAgcmVzcG9uc2VUeXBlOiAnc3RyZWFtJyxcbn0pXG4gIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgIHJlc3BvbnNlLmRhdGEucGlwZShmcy5jcmVhdGVXcml0ZVN0cmVhbShkb3dubG9hZFBhdGgpKTtcbiAgICBjb25zb2xlLmxvZyhcIkZpbmlzaGVkIGRvd25sb2FkaW5nIFNwZWNtYXRpYyBqYXJcIik7XG4gIH0pXG4gIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkb3dubG9hZGluZyBTcGVjbWF0aWMgQ29yZSBKQVIgZmlsZSB2ZXJzaW9uOiAnICsgc3BlY21hdGljVmVyc2lvbiwgZXJyb3IpO1xuICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgfSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBTUEsS0FBSyxHQUFHQyxPQUFPLENBQUMsT0FBTyxDQUFDO0FBQzlCLElBQU1DLEVBQUUsR0FBR0QsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixJQUFNRSxJQUFJLEdBQUdGLE9BQU8sQ0FBQyxNQUFNLENBQUM7QUFDNUIsSUFBTUcsV0FBVyxHQUFHSCxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDOztBQUVoRCxJQUFNSSxnQkFBZ0IsR0FBR0QsV0FBVyxDQUFDQyxnQkFBZ0I7QUFDckQsSUFBTUMsTUFBTSwrREFBQUMsTUFBQSxDQUErREYsZ0JBQWdCLG1CQUFnQjtBQUMzRyxJQUFNRyxXQUFXLEdBQUcsZUFBZSxDQUFDLENBQUM7O0FBRXJDLElBQU1DLFlBQVksR0FBR04sSUFBSSxDQUFDTyxPQUFPLENBQUNDLFNBQVMsRUFBRSxJQUFJLEVBQUVILFdBQVcsQ0FBQztBQUUvRCxJQUFJTixFQUFFLENBQUNVLFVBQVUsQ0FBQ0gsWUFBWSxDQUFDLEVBQUU7RUFDL0JJLE9BQU8sQ0FBQ0MsR0FBRyw0QkFBNEIsQ0FBQztFQUN4Q1osRUFBRSxDQUFDYSxVQUFVLENBQUNOLFlBQVksQ0FBQztBQUM3QjtBQUVBSSxPQUFPLENBQUNDLEdBQUcsQ0FBQyxxQ0FBcUMsR0FBR1QsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0FBQzlFTCxLQUFLLENBQUM7RUFDSmdCLE1BQU0sRUFBRSxLQUFLO0VBQ2JDLEdBQUcsRUFBRVgsTUFBTTtFQUNYWSxZQUFZLEVBQUU7QUFDaEIsQ0FBQyxDQUFDLENBQ0NDLElBQUksQ0FBQyxVQUFDQyxRQUFRLEVBQUs7RUFDbEJBLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDQyxJQUFJLENBQUNwQixFQUFFLENBQUNxQixpQkFBaUIsQ0FBQ2QsWUFBWSxDQUFDLENBQUM7RUFDdERJLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLG9DQUFvQyxDQUFDO0FBQ25ELENBQUMsQ0FBQyxTQUNJLENBQUMsVUFBQ1UsS0FBSyxFQUFLO0VBQ2hCWCxPQUFPLENBQUNXLEtBQUssQ0FBQyxxREFBcUQsR0FBR25CLGdCQUFnQixFQUFFbUIsS0FBSyxDQUFDO0VBQzlGQyxPQUFPLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119