Add the init command
This commit is contained in:
parent
b420540668
commit
7afc17ba6d
|
@ -0,0 +1,78 @@
|
|||
/**
|
||||
* Init
|
||||
* Create a global config directory for Terminalizer
|
||||
*
|
||||
* - Create a global config directory
|
||||
* - For Windows, create it under `APPDATA`
|
||||
* - For Linux and MacOS, create it under the home directory
|
||||
* - Copy the default config into it
|
||||
*
|
||||
* @author Mohammad Fares <faressoft.com@gmail.com>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Executed after the command completes its task
|
||||
*/
|
||||
function done() {
|
||||
|
||||
console.log(di.chalk.green('The global config directory is created at'));
|
||||
console.log(di.chalk.magenta(di.utility.getGlobalDirectory()));
|
||||
|
||||
// Terminate the app
|
||||
process.exit();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* The command's main function
|
||||
*
|
||||
* @param {Object} argv
|
||||
*/
|
||||
function command(argv) {
|
||||
|
||||
var globalPath = di.utility.getGlobalDirectory();
|
||||
|
||||
// Create the global directory
|
||||
try {
|
||||
|
||||
di.fs.mkdirSync(di.utility.getGlobalDirectory());
|
||||
|
||||
} catch (error) {
|
||||
|
||||
// Ignore `already exists` error
|
||||
if (error.code != 'EEXIST') {
|
||||
throw error;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Copy the default config file
|
||||
di.fs.copySync(di.path.join(ROOT_PATH, 'config.yml'),
|
||||
di.path.join(globalPath, 'config.yml'),
|
||||
{overwrite: true});
|
||||
|
||||
done();
|
||||
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
// Command Definition //////////////////////////////
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Command's usage
|
||||
* @type {String}
|
||||
*/
|
||||
module.exports.command = 'init';
|
||||
|
||||
/**
|
||||
* Command's description
|
||||
* @type {String}
|
||||
*/
|
||||
module.exports.describe = 'Create a global config directory';
|
||||
|
||||
/**
|
||||
* Command's handler function
|
||||
* @type {Function}
|
||||
*/
|
||||
module.exports.handler = command;
|
Loading…
Reference in New Issue