UNPKG

kwikr

Version:

Build static websites quickly.

114 lines (105 loc) 4.06 kB
var path = require('path'); var fs = require('fs-extra'); var jsonfile = require('jsonfile'); var inquirer = require("inquirer"); var rootDir = path.join(path.dirname(fs.realpathSync(__filename)), '../'); function convertThis() { if(process.argv.length > 2) { // Read the first additional argument passed to the program var projectName = process.argv[3]; var sourceDir = projectName+"/src"; if (process.argv[2] === "new"){ if (!fs.existsSync(projectName)){ fs.mkdirSync(projectName); } else{ console.log("A Project named " + projectName + " already exists. Please run the command again with another project name."); process.exit(); } console.log('Hi, welcome to the kwikr, let\'s walk together through the setup process to create ' + projectName + '.'); var questions = [ { type: 'input', name: 'author', message: 'Project Author?' }, { type: 'input', name: 'description', message: 'Project Description?' }, { type: 'input', name: 'keywords', message: 'Project Keywords?' }, { type: 'list', name: 'framework', message: 'Which framework do you want to use?', choices: [ { name: 'Bootstrap 3', value: 'bs3' }, { name: 'Bootstrap 4 (alpha)', value: 'bs4' }, { name: 'No framework (Less)', value: 'less' }, { name: 'No framework (Sass)', value: 'sass' } ], filter: function (val) { return val; } } ]; inquirer.prompt(questions).then(function (answers) { if(answers.framework === 'bs4' || answers.framework === 'sass'){ var preprocessor = 'sass'; } else{ var preprocessor = 'less'; } var projectSettings = { project_name: projectName, project_author: answers.author, project_description: answers.description, project_keywords: answers.keywords, css_preprocessor: preprocessor }; //write input to settings.json var settings = projectName + '/settings.json'; jsonfile.writeFile(settings, projectSettings, {spaces: 2}, function(err) { if (err) { console.error(err); } }); //Copy src files fs.copy(rootDir + '/source/' + answers.framework , projectName, function (err) { if (err) { console.error(err); } }); fs.copy(rootDir + '/source/common', projectName, function (err) { if (err) { console.error(err); } else { console.log("Congratulations, you succesfully created " + projectName); } }); }); } } else { console.log("Ooops, something went wrong... Did you mean: 'kwikr new <Project_Name>'?"); } } exports.convert = convertThis;