UNPKG

ngui-tools

Version:

A GUI typesetting display engine and cross platform GUI application development framework based on NodeJS/OpenGL

65 lines (61 loc) 2.12 kB
#!/usr/bin/env node var util = require('ngui-stew'); var fs = require('ngui-stew/fs'); var { NGUIBuild } = require('../toolchain/build'); var { NGUIExport } = require('../toolchain/export'); var server = require('../toolchain/server'); var arguments = require('ngui-stew/arguments'); var args = process.argv.slice(2); var cmd = args.shift(); var opts = arguments.options; var help_info = arguments.helpInfo; var def_opts = arguments.defOpts; def_opts(['help','h'], 0, '-h, --help print help info'); def_opts(['port', 'p'], 1026, '--port=PORT,-p PORT Run ngui debugger server port [{0}]'); def_opts(['remote', 'r'], '', '--remote=ADDRESS,-r ADDRESS Remote console address [none]'); if ( opts.help || opts.h /*cmd == 'help' || cmd == 'h'*/ ) { console.log(''); console.log('Usage: ngui COMMAND [OS]'); console.log('Usage: ngui [OPTION]...'); console.log(''); console.log('Examples:'); console.log('`ngui init`'); console.log('`ngui build`'); console.log('`ngui rebuild`'); console.log('`ngui export ios`'); console.log('`ngui export android`'); console.log('`ngui clear`'); console.log('`ngui`'); console.log('`ngui -r http://192.168.1.124:1026`'); console.log(''); console.log('Defaults for the options are specified in brackets.'); console.log(''); console.log('Options:'); console.log(' ' + help_info.join('\n ')); console.log(''); return; } else if ( cmd == 'export' ) { util.assert(args.length, 'export Bad argument. system name required, for example "ngui export ios"'); new NGUIExport(process.cwd(), args[0]).export(); } else if ( cmd == 'build' || cmd == 'rebuild' || cmd == 'init' ) { if ( cmd == 'rebuild' ) { fs.rm_r_sync(process.cwd() + '/out/install'); fs.rm_r_sync(process.cwd() + '/out/libs'); fs.rm_r_sync(process.cwd() + '/out/public'); } var build = new NGUIBuild(process.cwd(), process.cwd() + '/out'); if ( cmd == 'init' ) { build.initialize(); } else { build.build(); } } else if ( cmd == 'clear' ) { fs.rm_r_sync(process.cwd() + '/out'); } else { // run wrb server server.start_server(arguments.options); }