ソースを参照

elxr cli commands

pull/1/head
Pradeep Bhaskaran 4年前
コミット
8b697619da
1個のファイルの変更76行の追加15行の削除
  1. 76
    15
      index.js

+ 76
- 15
index.js ファイルの表示

@@ -7,6 +7,8 @@ const cliargs = require('../elxr/cliargs'); // Use minimist...
const processedArgs = cliargs(process.argv.slice(2));
console.dir(processedArgs)

var path = require('path')

var cli = 'elxr';
var ver = '#unversioned';
var help = '#unkown list of commands... please refer dveloper documentation for ' + cli;
@@ -25,31 +27,75 @@ var dbForLabel = function(label){
return dbsForLabel[label] || 'mysql'
}

var env = Object.assign({}, process.env); // Shallow clone it.
var __runcmd = function(label){

var op = {
'h' : ()=>{ console.log(cli + ' ' + ver + ' ' + help); return '-h' }
, 'upgrade' : ()=>{
console.log('Running exlr upgrade in : ' + path.dirname(__dirname))
console.log('Currently only upgrades ember : ' + path.dirname(__dirname));
console.info('Uninstalling existing ember globally') ;
var step1 = nodeShellExec('cmd', ['/c', 'npm', 'uninstall', '-g', 'ember-cli'], {
stdio: ['pipe', process.stdout, process.stderr],
inherit : true,
shell: true,
cwd : path.dirname(__dirname),
env: env
})
step1.on('close', ()=>{
console.info('Installing ember globally') ;
var step2 = nodeShellExec('cmd', ['/c', 'npm', 'install', '-g', 'ember-cli'], {
stdio: ['pipe', process.stdout, process.stderr],
inherit : true,
shell: true,
cwd : path.dirname(__dirname),
env: env
})
step2.on('close', ()=>{
nodeShellExec('cmd', ['/c', 'ember', '--version'], {
stdio: ['pipe', process.stdout, process.stderr],
inherit : true,
shell: true,
cwd : path.dirname(__dirname),
env: env
})
})
})
}
, 'pull' : (label) => {
var env = Object.assign({}, process.env); // Shallow clone it.
// console.dir(env)
console.log('Running exlr pull : ' + path.dirname(__dirname))
nodeShellExec('cmd', ['/c', 'setup\\utility\\chess.bat', 'pull'], {
// nodeShellExec('cmd', ['/c', '..\\setup\\utility\\chess.bat', 'pull'], {
stdio: ['pipe', process.stdout, process.stderr],
inherit : true,
shell: true,
cwd : path.dirname(__dirname),
env: env
})
}
, 'start' : (label)=>{
console.log('Starting Elixir Server.');
var env = Object.assign({}, process.env); // Shallow clone it.
// console.dir(env)
env.NODE_ENV = label;
env.NODE_ENV = label || 'development';
env.DEBUG = 'loopback:connector:' + dbForLabel(label)
nodeShellExec('node', ['--inspect=9228', 'sage-rw/server.js'], {
nodeShellExec('node', ['--inspect=9228', 'elixir/server.js'], {
inherit : true,
shell: true, detached: true,
cwd : 'loopback',
env: env,
shell : true
cwd : 'elixir-server',
env: env
})

nodeShellExec('node', ['--inspect=9227', 'sage-r/server.js'], {
nodeShellExec('node', ['--inspect=9227', 'elixr/server.js'], {
inherit : true,
shell: true, detached: true,
cwd : 'loopback',
env: env,
shell : true
cwd : 'elixir-server',
env: env
})
// nodeShellExec('node', ['--inspect=9226', ' bin/www'], {
@@ -63,9 +109,8 @@ var __runcmd = function(label){
nodeShellExec('ember', ['s'], {
inherit : true,
shell: true, detached: true,
cwd : 'qms/',
env: env,
shell : true
cwd : 'client/',
env: env
})
}
, 'g' : ()=>{
@@ -92,15 +137,31 @@ var __runcmd = function(label){
// // , env : process.env
// };
// nodeShellExec('git', ['init'], { inherit : true});
if(0){
nodeShellExec('pwd', { inherit : true});
//$ "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 1" http://localhost:4200/tests/index.html?grep=loopback
nodeShellExec("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe", [
"--profile-directory=Profile 1"
, 'http://localhost:4200/tests/index.html?grep=model convert ember to loopback' + '&filter=none' /*+ '&filter=model convert ember to loopback'*/]);
}
// nodeShellExec('npm', ['init', '-y'], options);
// nodeShellExec('npm', ['init', '-y'], options);
// })

var g = {
'client' : ()=>{
console.info('Creating new ember client named : ' + processedArgs._[2] ) ;
var step1 = nodeShellExec('cmd', ['/c', 'ember', 'new', processedArgs._[2]], {
stdio: ['pipe', process.stdout, process.stderr],
inherit : true,
shell: true,
cwd : path.dirname(__dirname),
env: env
})
}
}
g[processedArgs._[1]]();
}
}
return op[label] ? op[label]() : op['start'](label);
@@ -120,13 +181,13 @@ function nodeShellExec() {
const child = spawn(...arguments);

// use child.stdout.setEncoding('utf8'); if you want text chunks
child.stdout.setEncoding('utf8');
// child.stdout.setEncoding('utf8');
// console.log('here')

child.stdout.on('data', (chunk) => console.log(chunk));
// child.stdout.on('data', (chunk) => console.log(chunk));

child.on('error', (chunk) => console.error(chunk));
child.stderr.pipe(process.stderr);
// child.stderr.pipe(process.stderr);

child.on('close', (code) => console.log(`child process ${Array.from(arguments)[0]} exited with code ${code}`));
return child;

読み込み中…
キャンセル
保存