From 8425e9fe383c17f6a5589c778658c5fc0570ae8f Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Thu, 14 Nov 2013 14:37:53 -0800 Subject: fix(loader): don't rely on internal APIs This significantly increases the size of the loader: - minified: 1031bytes -> 1509bytes (+46%) - minified + gzip: 593bytes -> 810bytes (+36%) I'm not entirely sold on the idea of shipping minErr with the loade. With the current state, the angular-loader behavior is completely broken - this is just a quick fix, we can revisit this change in the future. Closes #4437 Closes #4874--- src/loader.js | 7 +++++++ src/loader.prefix | 2 +- src/loader.suffix | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/loader.js b/src/loader.js index 0560595d..b8d50917 100644 --- a/src/loader.js +++ b/src/loader.js @@ -11,6 +11,7 @@ function setupModuleLoader(window) { var $injectorMinErr = minErr('$injector'); + var ngMinErr = minErr('ng'); function ensure(obj, name, factory) { return obj[name] || (obj[name] = factory()); @@ -71,6 +72,12 @@ function setupModuleLoader(window) { * @returns {module} new module with the {@link angular.Module} api. */ return function module(name, requires, configFn) { + var assertNotHasOwnProperty = function(name, context) { + if (name === 'hasOwnProperty') { + throw ngMinErr('badname', 'hasOwnProperty is not a valid {0} name', context); + } + }; + assertNotHasOwnProperty(name, 'module'); if (requires && modules.hasOwnProperty(name)) { modules[name] = null; diff --git a/src/loader.prefix b/src/loader.prefix index 3ab7dd06..3da8da27 100644 --- a/src/loader.prefix +++ b/src/loader.prefix @@ -4,4 +4,4 @@ * License: MIT */ 'use strict'; -( +(function() { diff --git a/src/loader.suffix b/src/loader.suffix index b8a5d43d..d74135ea 100644 --- a/src/loader.suffix +++ b/src/loader.suffix @@ -1,4 +1,5 @@ -)(window); +setupModuleLoader(window); +})(window); /** * Closure compiler type information -- cgit v1.2.3