forked from coolaj86/goldilocks.js
		
	
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| module.exports.create = function (deps, conf) {
 | |
|   'use strict';
 | |
| 
 | |
|   var path = require('path');
 | |
|   //var defaultServername = 'localhost.daplie.me';
 | |
|   //var defaultWebRoot = '.';
 | |
|   var assetsPath = path.join(__dirname, '..', '..', 'packages', 'assets');
 | |
|   var opts = {};
 | |
| 
 | |
|   opts.global = opts.global || {};
 | |
|   opts.sites = opts.sites || [];
 | |
|   opts.sites._map = {};
 | |
| 
 | |
|   // argv.sites
 | |
| 
 | |
|   opts.groups = [];
 | |
| 
 | |
|   // 'packages', 'assets', 'com.daplie.goldilocks'
 | |
|   opts.global = {
 | |
|     modules: [ // TODO uh-oh we've got a mixed bag of modules (various types), a true map
 | |
|       { $id: 'greenlock', email: opts.email, tos: opts.tos }
 | |
|     , { $id: 'rvpn', email: opts.email, tos: opts.tos }
 | |
|     //, { $id: 'content', content: content }
 | |
|     , { $id: 'livereload', on: opts.livereload }
 | |
|     , { $id: 'app', path: opts.expressApp }
 | |
|     ]
 | |
|   , paths: [
 | |
|       { $id: '/assets/', modules: [ { $id: 'serve', paths: [ assetsPath ] } ] }
 | |
|       // TODO figure this b out
 | |
|     , { $id: '/.well-known/', modules: [
 | |
|         { $id: 'serve', paths: [ path.join(assetsPath, 'well-known') ] }
 | |
|       ] }
 | |
|     ]
 | |
|   };
 | |
|   opts.defaults = {
 | |
|     modules: []
 | |
|   , paths: [
 | |
|       /*
 | |
|       { $id: '/', modules: [
 | |
|         { $id: 'serve', paths: [ defaultWebRoot ] }
 | |
|       , { $id: 'indexes', paths: [ defaultWebRoot ] }
 | |
|       ] }
 | |
|       */
 | |
|     ]
 | |
|   };
 | |
|   opts.sites.push({
 | |
|     // greenlock: {}
 | |
|     $id: 'localhost.alpha.daplie.me'
 | |
|   , paths: [
 | |
|       { $id: '/', modules: [ { $id: 'serve', paths: [ path.resolve(__dirname, '..', '..', 'admin', 'public') ] } ] }
 | |
|     , { $id: '/api/', modules: [ { $id: 'app', path: path.join(__dirname, 'admin') } ] }
 | |
|     ]
 | |
|   });
 | |
|   opts.sites.push({
 | |
|     $id: 'localhost.daplie.invalid'
 | |
|   , paths: [
 | |
|       { $id: '/', modules: [ { $id: 'serve', paths: [ path.resolve(__dirname, '..', '..', 'admin', 'public') ] } ] }
 | |
|     , { $id: '/api/', modules: [ { $id: 'app', path: path.join(__dirname, 'admin') } ] }
 | |
|     ]
 | |
|   });
 | |
| 
 | |
|   /* device, addresses, cwd, http */
 | |
|   var app = require('../app.js')(deps, conf, opts);
 | |
|   var http = require('http');
 | |
|   return http.createServer(app);
 | |
| };
 |