@microdrop/builder
Version:
Digital Microfluidic Control Software
45 lines (36 loc) • 1.42 kB
JavaScript
const https = require('https');
const fs = require('fs');
const path = require('path');
const {spawnSync} = require('child_process');
function moveMicrodropOutput() {
const packagerFolder = path.resolve(__dirname, '../packager');
fs.readdirSync(packagerFolder).forEach(file => {
if (path.extname(file) == '') {
let oldPath = path.resolve(packagerFolder, file);
let newPath = path.resolve(__dirname, 'MicroDrop');
fs.renameSync(oldPath, newPath);
}
});
}
function fetchMiniconda(callback) {
const MINICONDA_URL = 'https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86.exe';
const filepath = path.resolve(__dirname, "miniconda.exe");
const file = fs.createWriteStream(filepath);
const request = https.get(MINICONDA_URL, function(response) {
response.pipe(file);
});
file.on('finish', function(){
spawnSync(`cmd /C start /wait "" ${filepath} /NoRegistry=1 /RegisterPython=0 /AddToPath=0 /InstallationType=JustMe /S /D=${path.resolve(__dirname, 'MicroDrop/miniconda')}`, [], {shell: true, stdio: 'inherit'});
callback();
});
};
module.exports = (callback) => {
moveMicrodropOutput();
fetchMiniconda(callback);
}
module.exports.moveMicrodropOutput = moveMicrodropOutput;
module.exports.fetchMiniconda = fetchMiniconda;
if (require.main === module) {
moveMicrodropOutput();
fetchMiniconda();
}