diff --git a/app/templates/server/.jshintrc b/app/templates/server/.jshintrc index 79a89d230..1af7f7d69 100644 --- a/app/templates/server/.jshintrc +++ b/app/templates/server/.jshintrc @@ -11,5 +11,8 @@ "undef": true, "smarttabs": true, "asi": true, - "debug": true -} \ No newline at end of file + "debug": true, + "globals": { + "rootRequire": false + } +} diff --git a/app/templates/server/api/user(auth)/index.js b/app/templates/server/api/user(auth)/index.js index 48567e485..52a0013ed 100644 --- a/app/templates/server/api/user(auth)/index.js +++ b/app/templates/server/api/user(auth)/index.js @@ -2,8 +2,8 @@ var express = require('express'); var controller = require('./user.controller'); -var config = require('../../config/environment'); -var auth = require('../../auth/auth.service'); +var config = rootRequire('config/environment'); +var auth = rootRequire('auth/auth.service'); var router = express.Router(); diff --git a/app/templates/server/api/user(auth)/user.controller.js b/app/templates/server/api/user(auth)/user.controller.js index f4cd10c29..e1d4bfbf2 100644 --- a/app/templates/server/api/user(auth)/user.controller.js +++ b/app/templates/server/api/user(auth)/user.controller.js @@ -2,7 +2,7 @@ var User = require('./user.model'); var passport = require('passport'); -var config = require('../../config/environment'); +var config = rootRequire('config/environment'); var jwt = require('jsonwebtoken'); var validationError = function(res, err) { diff --git a/app/templates/server/app.js b/app/templates/server/app.js index 02593347b..bda5f9e14 100644 --- a/app/templates/server/app.js +++ b/app/templates/server/app.js @@ -4,6 +4,14 @@ 'use strict'; +var path = require('path'); + +// a better require statement starting from `server/` +global.rootRequire = function (name) { + return require(path.normalize(__dirname + '/' + name)); +}; + + // Set default node environment to development process.env.NODE_ENV = process.env.NODE_ENV || 'development'; @@ -31,4 +39,4 @@ server.listen(config.port, config.ip, function () { }); // Expose app -exports = module.exports = app; \ No newline at end of file +exports = module.exports = app; diff --git a/app/templates/server/auth(auth)/auth.service.js b/app/templates/server/auth(auth)/auth.service.js index 38ec34302..18539efdb 100644 --- a/app/templates/server/auth(auth)/auth.service.js +++ b/app/templates/server/auth(auth)/auth.service.js @@ -2,11 +2,11 @@ var mongoose = require('mongoose'); var passport = require('passport'); -var config = require('../config/environment'); +var config = rootRequire('config/environment'); var jwt = require('jsonwebtoken'); var expressJwt = require('express-jwt'); var compose = require('composable-middleware'); -var User = require('../api/user/user.model'); +var User = rootRequire('api/user/user.model'); var validateJwt = expressJwt({ secret: config.secrets.session }); /** @@ -73,4 +73,4 @@ function setTokenCookie(req, res) { exports.isAuthenticated = isAuthenticated; exports.hasRole = hasRole; exports.signToken = signToken; -exports.setTokenCookie = setTokenCookie; \ No newline at end of file +exports.setTokenCookie = setTokenCookie; diff --git a/app/templates/server/auth(auth)/facebook(facebookAuth)/index.js b/app/templates/server/auth(auth)/facebook(facebookAuth)/index.js index 4a6f87886..174b838d8 100644 --- a/app/templates/server/auth(auth)/facebook(facebookAuth)/index.js +++ b/app/templates/server/auth(auth)/facebook(facebookAuth)/index.js @@ -2,7 +2,7 @@ var express = require('express'); var passport = require('passport'); -var auth = require('../auth.service'); +var auth = rootRequire('auth/auth.service'); var router = express.Router(); @@ -18,4 +18,4 @@ router session: false }), auth.setTokenCookie); -module.exports = router; \ No newline at end of file +module.exports = router; diff --git a/app/templates/server/auth(auth)/google(googleAuth)/index.js b/app/templates/server/auth(auth)/google(googleAuth)/index.js index 9b1ce39fe..136fc18e9 100644 --- a/app/templates/server/auth(auth)/google(googleAuth)/index.js +++ b/app/templates/server/auth(auth)/google(googleAuth)/index.js @@ -2,7 +2,7 @@ var express = require('express'); var passport = require('passport'); -var auth = require('../auth.service'); +var auth = rootRequire('auth/auth.service'); var router = express.Router(); @@ -21,4 +21,4 @@ router session: false }), auth.setTokenCookie); -module.exports = router; \ No newline at end of file +module.exports = router; diff --git a/app/templates/server/auth(auth)/index.js b/app/templates/server/auth(auth)/index.js index e3e6c87ad..7d53250a5 100644 --- a/app/templates/server/auth(auth)/index.js +++ b/app/templates/server/auth(auth)/index.js @@ -2,8 +2,8 @@ var express = require('express'); var passport = require('passport'); -var config = require('../config/environment'); -var User = require('../api/user/user.model'); +var config = rootRequire('config/environment'); +var User = rootRequire('api/user/user.model'); // Passport Configuration require('./local/passport').setup(User, config);<% if (filters.facebookAuth) { %> @@ -18,4 +18,4 @@ router.use('/facebook', require('./facebook'));<% } %><% if (filters.twitterAuth router.use('/twitter', require('./twitter'));<% } %><% if (filters.googleAuth) { %> router.use('/google', require('./google'));<% } %> -module.exports = router; \ No newline at end of file +module.exports = router; diff --git a/app/templates/server/auth(auth)/local/index.js b/app/templates/server/auth(auth)/local/index.js index 8bf88a046..03e1630ed 100644 --- a/app/templates/server/auth(auth)/local/index.js +++ b/app/templates/server/auth(auth)/local/index.js @@ -2,7 +2,7 @@ var express = require('express'); var passport = require('passport'); -var auth = require('../auth.service'); +var auth = rootRequire('auth/auth.service'); var router = express.Router(); @@ -17,4 +17,4 @@ router.post('/', function(req, res, next) { })(req, res, next) }); -module.exports = router; \ No newline at end of file +module.exports = router; diff --git a/app/templates/server/auth(auth)/twitter(twitterAuth)/index.js b/app/templates/server/auth(auth)/twitter(twitterAuth)/index.js index 8360247b8..ff9fdf734 100644 --- a/app/templates/server/auth(auth)/twitter(twitterAuth)/index.js +++ b/app/templates/server/auth(auth)/twitter(twitterAuth)/index.js @@ -2,7 +2,7 @@ var express = require('express'); var passport = require('passport'); -var auth = require('../auth.service'); +var auth = rootRequire('auth/auth.service'); var router = express.Router(); @@ -17,4 +17,4 @@ router session: false }), auth.setTokenCookie); -module.exports = router; \ No newline at end of file +module.exports = router; diff --git a/app/templates/server/config/seed(mongoose).js b/app/templates/server/config/seed(mongoose).js index 27ab19417..ab1b0182c 100644 --- a/app/templates/server/config/seed(mongoose).js +++ b/app/templates/server/config/seed(mongoose).js @@ -5,8 +5,8 @@ 'use strict'; -var Thing = require('../api/thing/thing.model'); -<% if (filters.auth) { %>var User = require('../api/user/user.model');<% } %> +var Thing = rootRequire('api/thing/thing.model'); +<% if (filters.auth) { %>var User = rootRequire('api/user/user.model');<% } %> Thing.find({}).remove(function() { Thing.create({ @@ -46,4 +46,4 @@ User.find({}).remove(function() { console.log('finished populating users'); } ); -});<% } %> \ No newline at end of file +});<% } %> diff --git a/app/templates/server/config/socketio(socketio).js b/app/templates/server/config/socketio(socketio).js index 2fbbc07d6..a0e75bdaa 100644 --- a/app/templates/server/config/socketio(socketio).js +++ b/app/templates/server/config/socketio(socketio).js @@ -18,7 +18,7 @@ function onConnect(socket) { }); // Insert sockets below - require('../api/thing/thing.socket').register(socket); + rootRequire('api/thing/thing.socket').register(socket); } module.exports = function (socketio) { @@ -54,4 +54,4 @@ module.exports = function (socketio) { onConnect(socket); console.info('[%s] CONNECTED', socket.address); }); -}; \ No newline at end of file +};