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