UNPKG

sails-application-generator

Version:
143 lines (140 loc) 4.43 kB
#!/usr/bin/env node var program = require('commander'); var fs = require('fs'); var cmd=require('node-cmd'); program .version('0.0.4', '-v, --version') .option('new, new <projectName>','project name') .option('controller, controller <controllerName>','controllername') .option('model, model <modelName>','modelName') .option('service, service <serviceName>','serviceName') .option('policies, policies <policiesName>','policiesName') .option('--config , --config <config>','database name') .parse(process.argv); if(program.new ){ let fileName=program.new; fs.mkdir(fileName,function(err){ if(err){ console.log('folder name already exists'); } else{ process.chdir(fileName); cmd.get( `git clone https://github.com/praveen4554/sails-pluggable.git .`, function(err, data, stderr){ if (!err) { console.log('sag project succesfully created') } else { console.log('error', err); return; } } ); console.log(process.cwd()); console.log('folder created'); } } ); }else if(program.controller){ console.log(process.argv.length); let controller_name = program.controller; let fileContent="import ResponseUtils = require('../helper/ResponseUtils');\n"+ "export function "+ controller_name+"Controller(req: any, res: any, next: Function): any { \n \n"+ "}"; let filepath = './api/controllers/'+controller_name+'Controller.ts'; fs.open(filepath,'wx',(err,fd) =>{ if(err){ if(err.code === 'EEXIST'){ console.log('Controller with the given name '+controller_name+'already exists'); return; } } fs.writeFile(filepath, fileContent, (err) => { if (err){ console.log('you are in wrong path'); }else{ console.log("controller created succesfully"); } }); }); }else if(program.service){ let service_name = program.service; let fileContent="export function "+ service_name+"Service(): any { \n \n"+ "}"; let filepath = './api/services/'+service_name+'Service.ts'; fs.open(filepath,'wx',(err,fd) =>{ if(err){ if(err.code === 'EEXIST'){ console.log('Service with the given name '+service_name+'already exists'); return; } } fs.writeFile(filepath, fileContent, (err) => { if (err){ console.log('you are in wrong path'); }else{ console.log("service created succesfully"); } }); }); }else if(program.policies ){ let policies_name = program.policies; let fileContent="module.exports = function (req, res, next) { \n \n"+ "}"; let filepath = './api/policies/'+policies_name+'Policy.js'; fs.open(filepath,'wx',(err,fd) =>{ if(err){ if(err.code === 'EEXIST'){ console.log('Policies with the given name '+policies_name+'already exists'); return; } } fs.writeFile(filepath, fileContent, (err) => { if (err){ console.log('you are in wrong path'); }else{ console.log("service created succesfully"); } }); }); }else if(program.model){ let model_name = program.model; let fileContent="module.exports = { \n "+ " attributes: { \n \n"+ "}\n"+ "};"; let filepath = './api/models/'+model_name+'.js'; fs.open(filepath,'wx',(err,fd) =>{ if(err){ if(err.code === 'EEXIST'){ console.log('Model with the given name '+model_name+'already exists'); return; } } fs.writeFile(filepath, fileContent, (err) => { if (err){ console.log('you are in wrong path'); }else{ console.log("model created succesfully"); } }); }); }else if(program.config){ if(process.argv.length > 5 || process.argv[3] != 'db_name') console.log('The options which you provided is wrong. Try to use helper command sag -h or sag --help '); else{ var db_name = process.argv[4]; fs.readFile('./config/connections.js', 'utf8', function (err,data) { if (err) { return console.log('you are in wrong path'); } var result = data.replace(/(database(.*))/g, 'database:'+db_name+','); fs.writeFile('./config/connections.js', result, 'utf8', function (err) { if (err) return console.log('you are in wrong path'); else console.log('database name updated'); }); }); } }else{ console.log('The options which you provided is wrong. Try to use helper command sag -h or sag --help '); }