newkit-cli
Version:
Newkit cli tools.
37 lines (35 loc) • 1.31 kB
JavaScript
;
var fs = require('fs');
var child_process = require('child_process');
var util = require('./util');
var config = require('./../config.json');
module.exports = () => {
var cwd = process.cwd();
if (fs.readdirSync(cwd).length !== 0) {
return util.error('Current folder is not empty.');
}
util.getJson(`${config.apiHost}/newkit-autoupdate/v1/current-version`)
.then((data) => {
if (!data) {
return util.error('No published versions.');
}
util.info('Get latest version succeed. Downloading...');
util.downloadFile(data.filename)
.then((downloadFolder) => {
util.info('Downloading zip package succeed. Unzip...');
util.unzip(downloadFolder, cwd)
.then((folderPath) => {
util.info(`Init successfully. Current vesion ${data.versionNo}`);
util.info(`Try to install dependencies...`);
child_process.exec('npm install', (err, stdout, stderr) => {
if (err) {
console.log(err);
} else {
console.log(stdout);
console.log(stderr);
}
});
}).catch(util.error);
}).catch(util.error);
}).catch(util.error);
};