Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

feat(injector): "strict-DI" mode which disables "automatic" function annotation / inferred dependencies #6719

Closed
wants to merge 1 commit into from

Commits on Apr 10, 2014

  1. feat(injector): "strict-DI" mode which disables "automatic" function …

    …annotation
    
    This modifies the injector to prevent automatic annotation from occurring for a given injector.
    
    This behaviour can be enabled when bootstrapping the application by using the attribute
    "ng-strict-di" on the root element (the element containing "ng-app"), or alternatively by passing
    an object with the property "strictDi" set to "true" in angular.bootstrap, when bootstrapping
    manually.
    
    JS example:
    
        angular.module("name", ["dependencies", "otherdeps"])
          .provider("$willBreak", function() {
            this.$get = function($rootScope) {
            };
          })
          .run(["$willBreak", function($willBreak) {
            // This block will never run because the noMagic flag was set to true,
            // and the $willBreak '$get' function does not have an explicit
            // annotation.
          }]);
    
        angular.bootstrap(document, ["name"], {
          strictDi: true
        });
    
    HTML:
    
        <html ng-app="name" ng-strict-di>
          <!-- ... -->
        </html>
    
    This will only affect functions with an arity greater than 0, and without an $inject property.
    
    Closes angular#6719
    Closes angular#6717
    Closes angular#4504
    Closes angular#6069
    Closes angular#3611
    caitp committed Apr 10, 2014
    Configuration menu
    Copy the full SHA
    4b1695e View commit details
    Browse the repository at this point in the history