Hybrid Angular Promise rejection

I am trying to wire up Angular 2 with AngularJs. Would anyone know why loading external js fails, inline works just fine.

app.module.ts:

platformBrowserDynamic().bootstrapModule(AppModule).then(platform => {
  console.log('Bootstrapping in Hybrid mode with Andular & AngularJs');
   const upgrade = platform.injector.get(UpgradeModule) as UpgradeModule;
   upgrade.bootstrap(document.body, ['ToDo']);
})

AngularJs file:
This works:

<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.2/angular.min.js"></script>


<script>

angular.module('ToDo', [])
.controller('todoController', ['$scope', function ($scope) {
  $scope.todos = [
    { 'title': 'Build a todo app', 'done': false }
  ]

  $scope.addTodo = function () {
    $scope.todos.push({ 'title': 'Build a todo app', 'done': false });
  }
  $scope.clearCompleted = function () { }

}])

</script>

This fails with error :

zone.js:682 Unhandled Promise rejection: [$injector:modulerr] http://errors.angularjs.org/1.6.2/$injector/modulerr?… ; Zone:

<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.2/angular.min.js"></script>

  <script src="index.js"></script>


</script>

‘index.js’ matches the content of internal script

Source: AngularJS