|  |  | @@ -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; |