bin/youtransfer
#!/usr/bin/env node
'use strict';
var path = require('path');
var fs = require('fs-extra');
var program = require('commander');
program.version('1.0.6')
.command('<init>', 'Initialise a YouTransfer project')
.command('<dockerize>', 'Prepare a YouTransfer project to run in a docker container')
.action(function(cmd) {
if(cmd === 'init') {
fs.copy(path.join(__dirname,'../'), process.cwd(), function(err) {
if(err) {
return console.error('Unable to initialize YouTransfer\n' + err);
}
console.log('YouTransfer project initialised succesfully!');
console.log('Make sure to run "npm init" and "npm install" to setup your project.');
console.log('Afterwards, you can start the project by running "npm start"');
});
} else if(cmd === "dockerize") {
fs.stat('./config/config.json', function(err, stats) {
if(!stats) {
fs.move('./config.json', './config/config.json', { mkdirp: true }, function(err) {
if(err && !err.code === 'EEXIST') { throw err; }
fs.ensureSymlink('./config/config.json', './config.json', function (err) {
if(err) { throw err; }
});
});
} else {
fs.unlink('./config.json', function(err) {
if(err && !err.code === 'EEXIST') { throw err; }
fs.ensureSymlink('./config/config.json', './config.json', function (err) {
if(err) { throw err; }
});
});
}
});
fs.stat('./config/settings.json', function(err, stats) {
if(!stats) {
fs.outputFile('./config/settings.json', '{}', function (err) {
fs.ensureSymlink('./config/settings.json', './settings.json', function (err) {
if(err) { throw err; }
});
});
} else {
fs.ensureSymlink('./config/settings.json', './settings.json', function (err) {
if(err) { throw err; }
});
}
});
} else {
program.help();
}
})
.parse(process.argv);