From 1368c18c99c43d88a289f48ff9be149ebca7a719 Mon Sep 17 00:00:00 2001 From: Chris Thielen Date: Tue, 19 Jun 2018 20:05:38 -0700 Subject: [PATCH] fix(resolve): Detect and honor strictDi in angularjs versions 1.3 and 1.4 Closes #3678 --- src/services.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/services.ts b/src/services.ts index c7f3a822f..8a7da2446 100644 --- a/src/services.ts +++ b/src/services.ts @@ -118,6 +118,15 @@ function runBlock($injector: IInjectorService, $q: IQService, $uiRouter: UIRoute services.$injector = $injector; services.$q = $q; + // https://github.com/angular-ui/ui-router/issues/3678 + if (!$injector.hasOwnProperty('strictDi')) { + try { + $injector.invoke(function(checkStrictDi) {}); + } catch (error) { + $injector.strictDi = !!/strict mode/.exec(error && error.toString()); + } + } + // The $injector is now available. // Find any resolvables that had dependency annotation deferred $uiRouter.stateRegistry