#!/usr/bin/env node 'use strict'; require('../walnut.js'); /* var c = require('console-plus'); console.log = c.log; console.error = c.error; */ function eagerLoad() { var PromiseA = require('bluebird').Promise; var promise = PromiseA.resolve(); [ 'passport' , 'knex' , 'bookshelf' , 'express' , 'request' , 'sqlite3' , 'body-parser' , 'express-session' , 'urlrouter' , 'express-lazy' , 'connect-send-error' , 'underscore.string' , 'bookshelf' , 'secret-utils' , 'connect-cors' , 'uuid' , 'connect-recase' , 'passport-local' , 'passport-strategy' , 'passport-http' , 'passport-http-bearer' , 'escape-string-regexp' , 'connect-query' , 'recase' ].forEach(function (name, i) { promise = promise.then(function () { return new PromiseA(function (resolve, reject) { setTimeout(function () { require(name); resolve(); }, 4); }); }); }); [ function () { return require('knex').initialize({ client: 'sqlite3' , connection: { filename : ':memory:' } }); } , function (knex) { require('bookshelf').initialize(knex); } , function () { require('body-parser').json(); } /* // do not use urlencoded as it enables csrf , function () { require('body-parser').urlencoded(); } */ ].forEach(function (fn) { promise = promise.then(function (thing) { return new PromiseA(function (resolve) { setTimeout(function () { resolve(fn(thing)); }, 4); }); }); }); promise.then(function () { console.log('Eager Loading Complete'); }); } setTimeout(eagerLoad, 100);