import 'log' import 'colors' import minimist from 'minimist' import express from 'express' global.express = express import morgan from 'morgan' import serveCors from './serve-cors' //import sstatic from 'serve-static' import serveIndex from 'serve-index' import { resolve } from 'path' const args = minimist( process.argv.slice(2) ), help = args.help || args.h, port = args.port || args.p || 80, statik = args.static || args.s, index = statik && ( args.index || args.i || true ), cors = args.cors || args.c, routes = args.routes || args.r, folder = args._[0] || '' help && log `Usage: express [options] path Options: -h, --help Show this help -p, --port Set the port to listen (default: 80) -s, --static=[folder] Serve static content. If true the folder used is '.' otherwise the given folder is used. -i, --index Generate index when a folder is requested -c, --cors -r, --routes=[path] Loads an express router module ` help && process.exit() process.cwd( folder ) console.log( args, __dirname, process.cwd(), resolve(process.cwd(),folder) ) const resolved = { static: resolve( folder, typeof statik == 'boolean' ? '.' : statik ), routes: resolve( folder, typeof routes == 'boolean' ? 'routes.js' : routes ), }, app = express() cors && app.use( serveCors ) //app.engine('html', ejs.renderFile); //app.set('views', __dirname + '/views'); //app.use( bodyParser ) //app.use(express.cookieParser()); //app.use(express.methodOverride()); app.use( morgan('combined') ) //app.use(express.session({ secret: 'c0ns0l3F0r3v3r' })); //app.use(passport.initialize()); //app.use(passport.session()); //app.use( app.router ) //console.log( (await import(resolved.routes)).default ) routes && app.use( '/', (await import(resolved.routes)).default ) statik && app.use( express.static(resolved.static), index && serveIndex(resolved.static, {'icons': true, view: 'details'}) ) app.listen( port ) statik && log `Started static web server: ${resolved.static.cyan}s` routes && log `Routes file loaded: ${resolved.routes.cyan}s` log `Server listening on Port: ${(''+port).yellow}s`