Angular works without angular being added. How?

One of my company projects uses ionic v1 and I noticed they used Ionic Bower. Except, that the .bowerrc has this:

{
  "directory": "www/lib",
  "ignoredDependencies": [
    "angular",
    "angular-animate",
    "angular-sanitize",
    "angular-ui-router"
  ]
}

bower.json has: "ionic": "ionic-team/ionic-bower#1.3.4" in the devDependencies

I checked the lib folder and found that the angular dependencies aren’t there at all yet the code runs angular and the app builds and runs (I noticed they used angular directives throughout the app). How is this happening? I checked the main index.html and found this is the only load that happens (there is no load for angular):

<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/ionic-native/ionic.native.min.js"></script>

Read the comment at the top of ionic.bundle.js:

 /*!
 * ionic.bundle.js is a concatenation of:
 * ionic.js, angular.js, angular-animate.js,
 * angular-sanitize.js, angular-ui-router.js,
 * and ionic-angular.js
 */
1 Like

Cool, that explains it. Thank you!

Then why do they specify dependencies inside their bower.json–doesn’t that kind of defeats the purpose as these libraries end up being added to the libs folder as extra baggage when ionic.bundle.js already has it all!