UNPKG

17 kBSource Map (JSON)View Raw
1{
2 "version": 3,
3 "file": "index.js",
4 "sourceRoot": "../src/",
5 "sources": [
6 "index.coffee"
7 ],
8 "names": [],
9 "mappings": "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",
10 "sourcesContent": [
11 "'use strict'\r\nsettings = require './settings.js'\r\nchalk = require 'chalk'\r\nunderscored = require 'underscore.string'\r\n.underscored\r\nglob = require 'glob'\r\nfs = require 'fs'\r\nrfs = require 'rotating-file-stream'\r\ncluster = require 'cluster'\r\ncryptojs = require 'crypto-js'\r\n\r\n\r\nconfigured = false\r\ncontrollers = []\r\nuselist = []\r\nmiddleware = []\r\nmodule.exports =\r\n config: (config) ->\r\n for key of config\r\n keyU = underscored(key).toUpperCase()\r\n if Object.prototype.toString.call(config[key]) is '[object Boolean]'\r\n settings[keyU] = config[key]\r\n else\r\n settings[keyU] = settings[keyU] or config[key]\r\n if not settings.DB_ENGINE\r\n settings.DB_ENGINE = require 'ndxdb'\r\n if settings.TABLES and settings.TABLES.length\r\n if settings.TABLES.indexOf(settings.USER_TABLE) is -1\r\n settings.TABLES.push settings.USER_TABLE\r\n else\r\n settings.TABLES = [settings.USER_TABLE]\r\n configured = true\r\n @\r\n controller: (ctrl) ->\r\n type = Object.prototype.toString.call ctrl\r\n if type is '[object Function]'\r\n controllers.push ctrl\r\n else\r\n controllers.push require('../../' + ctrl)\r\n @\r\n use: (ctrl) ->\r\n type = Object.prototype.toString.call ctrl\r\n if type is '[object Function]'\r\n uselist.push ctrl\r\n else\r\n uselist.push require('../../' + ctrl)\r\n @\r\n start: ->\r\n if cluster.isMaster\r\n i = 0\r\n while i++ < 1\r\n cluster.fork()\r\n cluster.on 'exit', (worker) ->\r\n console.log \"Worker #{worker.id} died..\"\r\n if settings.AUTO_RESTART and settings.AUTO_RESTART.toString().toLowerCase() isnt 'false'\r\n cluster.fork()\r\n else\r\n process.exit 1\r\n else\r\n console.log \"\\nndx server starting\"\r\n if not configured\r\n @config()\r\n ndx = require './services/ndx'\r\n ndx.database = settings.DB_ENGINE\r\n .config settings\r\n .setNdx ndx\r\n .start()\r\n express = require 'express'\r\n compression = require 'compression'\r\n bodyParser = require 'body-parser'\r\n cookieParser = require 'cookie-parser'\r\n session = require 'express-session'\r\n MemoryStore = require('session-memory-store') session\r\n http = require 'http'\r\n if settings.SSL_PORT\r\n https = require 'https'\r\n helmet = require 'helmet'\r\n morgan = require 'morgan'\r\n maintenance = require './maintenance.js'\r\n ndx.app = express()\r\n ndx.static = express.static\r\n ndx.port = settings.PORT\r\n ndx.ssl_port = settings.SSL_PORT\r\n ndx.host = settings.HOST\r\n ndx.settings = settings\r\n ndx.app.use compression()\r\n .use helmet()\r\n if not ndx.settings.DO_NOT_LOG\r\n if ndx.settings.LOG_TO_SCREEN\r\n ndx.app.use morgan ndx.settings.LOG_LEVEL\r\n else\r\n fs.existsSync(ndx.settings.LOG_DIR) or fs.mkdirSync(ndx.settings.LOG_DIR)\r\n accessLogStream = rfs 'access.log',\r\n interval: '1d'\r\n path: ndx.settings.LOG_DIR\r\n ndx.app.use morgan ndx.settings.LOG_LEVEL,\r\n stream: accessLogStream\r\n ndx.app.use maintenance\r\n database: ndx.database\r\n .use session\r\n name: 'session'\r\n secret: ndx.settings.SESSION_SECRET\r\n saveUninitialized: true\r\n resave: true\r\n store: new MemoryStore\r\n expires: 5\r\n .use cookieParser ndx.settings.SESSION_SECRET\r\n if ndx.settings.E2E_ENCRYPTION\r\n ndx.app.use (req, res, next) ->\r\n if req.headers['content-type'] and req.headers['content-type'].indexOf('application/json') is 0\r\n bodyParser.text({type:'*/*',limit:'50mb'})(req, res, next)\r\n else\r\n bodyParser.json({limit:'50mb'})(req, res, next)\r\n .use (req, res, next) ->\r\n if req.headers['content-type'] and req.headers['content-type'].indexOf('application/json') is 0\r\n if ndx.crypto\r\n ndx.crypto.decrypt req\r\n next()\r\n ndx.app.use (req, res, next) ->\r\n if ndx.crypto\r\n ndx.crypto.encrypt res\r\n next()\r\n else\r\n ndx.app.use bodyParser.json\r\n limit: '50mb'\r\n ndx.server = http.createServer ndx.app\r\n if settings.SSL_PORT\r\n ndx.sslserver = https.createServer \r\n key: fs.readFileSync 'key.pem'\r\n cert: fs.readFileSync 'cert.pem'\r\n , ndx.app\r\n require('./controllers/token') ndx\r\n modulesToLoad = []\r\n if settings.AUTO_LOAD_MODULES\r\n r = glob.sync \"server/startup/**/*.js\"\r\n r.reverse()\r\n for module in r\r\n require(\"#{process.cwd()}/#{module}\") ndx\r\n r = glob.sync 'node_modules/*'\r\n for module in r\r\n moduleName = module.replace('node_modules/', '')\r\n modulePackage = {}\r\n try\r\n modulePackage = require(\"#{process.cwd()}/node_modules/#{moduleName}/package.json\")\r\n catch e\r\n if (moduleName.indexOf('ndx-') is 0 or modulePackage.ndx) and not modulePackage.ndxIgnore\r\n if moduleName isnt 'ndx-server' and modulePackage.loadOrder isnt 'ignore'\r\n modulesToLoad.push\r\n name: moduleName\r\n loadOrder: if Object.prototype.toString.call(modulePackage.loadOrder) is '[object Number]' then modulePackage.loadOrder else 5\r\n version: modulePackage.version\r\n modulePackage = null\r\n modulesToLoad.sort (a, b) ->\r\n a.loadOrder - b.loadOrder\r\n console.log ''\r\n w = (text) ->\r\n i = text.length\r\n while i++ < 20\r\n text += ' '\r\n text\r\n for module in modulesToLoad\r\n #console.log \"loading #{module.name}\"\r\n require(\"../../#{module.name}\") ndx\r\n console.log \"#{w(module.name)}\\t#{module.version}\"\r\n for folder in ['services', 'controllers']\r\n r = glob.sync \"server/#{folder}/**/*.js\"\r\n r.reverse()\r\n for module in r\r\n #console.log \"loading #{module}\"\r\n require(\"#{process.cwd()}/#{module}\") ndx\r\n for useCtrl in uselist\r\n useCtrl ndx\r\n for ctrl in controllers\r\n ctrl ndx\r\n\r\n ndx.UNAUTHORIZED =\r\n status: 401\r\n message: 'Not authorized'\r\n\r\n setImmediate ->\r\n ndx.app.use (err, req, res, next) ->\r\n message = ''\r\n if err.hasOwnProperty 'message'\r\n message = err.message\r\n else\r\n message = err.toString()\r\n if Object.prototype.toString.call message is '[object Object]'\r\n res.status(err.status or 500).json message\r\n else\r\n res.status(err.status or 500).send message\r\n ### \r\n process.on 'uncaughtException', (err) ->\r\n console.log 'uncaughtException'\r\n console.log err\r\n process.exit 1\r\n ###\r\n ndx.server.listen ndx.port, ->\r\n console.log chalk.yellow \"#{ndx.logo}ndx server v#{chalk.cyan.bold(ndx.version)} listening on #{chalk.cyan.bold(ndx.port)}\"\r\n console.log chalk.yellow \"started: #{new Date().toLocaleString()}\"\r\n if settings.SSL_PORT\r\n ndx.sslserver.listen ndx.ssl_port, ->\r\n console.log chalk.yellow \"ndx ssl server v#{chalk.cyan.bold(ndx.version)} listening on #{chalk.cyan.bold(ndx.ssl_port)}\"\r\n\r\nif global.gc\r\n setInterval ->\r\n global.gc?()\r\n , 2 * 60 * 1000"
12 ]
13}
\No newline at end of file