From 2573e4564a4b6c6fe15ec23a0fc036f204028560 Mon Sep 17 00:00:00 2001 From: Kevin Shay Date: Tue, 22 Jul 2014 14:35:10 -0400 Subject: [PATCH 1/3] Override ngAnimate, which dies in server context with no $rootElement --- lib/ngoverrides.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/ngoverrides.js b/lib/ngoverrides.js index 63084b8..d982208 100644 --- a/lib/ngoverrides.js +++ b/lib/ngoverrides.js @@ -13,6 +13,10 @@ function registerModule(context) { // depend on it but it makes no sense to run server-defined routes *on* the server. context.module('sdr', []); + // an app that depends on ngAnimate will fail on the absence of $rootElement in unbootstrapped + // server context, and animation is not relevant on the server, so we just override it. + context.module('ngAnimate', []); + // we depend on ngRoute here to be sure that, even if the application has provided the "real" // ngRoute module, we'll always register after it and get to override $route. var module = context.module('angularjs-server', ['ng', 'ngRoute']); From ff442ec73fe23910d54d7b2e641c2875b9b994f4 Mon Sep 17 00:00:00 2001 From: Kevin Shay Date: Wed, 23 Jul 2014 11:26:34 -0400 Subject: [PATCH 2/3] Add tests for fake ngRoute/ngAnimate modules --- tests/wrap_middleware.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/wrap_middleware.js b/tests/wrap_middleware.js index 35fcfd1..27d21ad 100644 --- a/tests/wrap_middleware.js +++ b/tests/wrap_middleware.js @@ -3,7 +3,7 @@ var path = require('path'); exports.testWrapMiddleware = function (test) { - test.expect(11); + test.expect(13); var angularServer = require('../lib/main.js'); var server = angularServer.Server( @@ -43,6 +43,16 @@ exports.testWrapMiddleware = function (test) { 'angularjs-server module registered' ); + test.ok( + angular.modulesRegistered.indexOf('ngRoute') !== -1, + 'fake ngRoute module registered' + ); + + test.ok( + angular.modulesRegistered.indexOf('ngAnimate') !== -1, + 'fake ngAnimate module registered' + ); + test.ok( angular.requestsRegistered.length === 1, 'nodejs request was registered exactly once' From 1a666edc562f522c6a7b8e18cc624038d94dd2de Mon Sep 17 00:00:00 2001 From: Kevin Shay Date: Wed, 23 Jul 2014 11:32:56 -0400 Subject: [PATCH 3/3] Bump version to 0.0.21 for release. --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f417ce4..f1e4e9a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angularjs-server", - "version": "0.0.20", + "version": "0.0.21", "description": "A specialized server for AngularJS applications", "author": "Martin Atkins ", "keywords": ["angularjs"],