title: Minification is breaking my AngularJs code
body: <p>I'm using Cassette which uses the Microsoft Ajax Minifier to minify JS. This minifier renames variables, including variables that have special meaning to Angular, such as <code>$scope</code> and <code>$http</code>. So Cassette breaks my Angular code!</p>
  
  <p>How can I prevent this happening?</p>
  
  <p>For reference, this is the Angular code which is being broken. The <code>$scope</code> and <code>$http</code> function parameters are being renamed:</p>
  
  <pre><code>// &lt;reference path="vendor/angular.js" /&gt;
  
  angular.module('account-module', [])
      .controller('ForgottenPasswordController', function ($scope, $http) {
  
          $scope.email = {
              value: '',
              isValid: false,
              containerStyle: "unvalidated",
              validate: function () {
                  var valid = isEmailAdressValid($scope.email.value);
                  $scope.email.isValid = valid;
                  $scope.email.containerStyle = valid ? "valid" : "invalid";
                  return valid;
              },
              removeErrorMessage: function() {
                  $scope.email.containerStyle = "unvalidated";
              }
          };
  
          $scope.display = {
              formClass: '',
              congratulationsClass: 'hide'
          };
  
          $scope.submit = function (event) {
              event.preventDefault();
  
              var emailValid = $scope.email.validate();
              if (emailValid) {
                  $http({
                      method: 'POST',
                      url: '/account/forgot-password',
                      params: { email: $scope.email.value },
                      headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
                  }).success(function(data) {
                      $scope.success(data);
                  }).error(function() { $scope.error(); });
              }
          };
  
          $scope.success = function (data) {
              switch (data.Outcome) {
                  case 1:
                      $scope.display.formClass = "hide";
                      $scope.display.congratulationsClass = "";
                      break;
                  case 2:
                      $scope.email.containerStyle = "invalid";
                      break; 
              }
          };
  
          $scope.error = function () {
              alert('Sorry, an error occurred.');
          };
  
          function isEmailAdressValid(emailAddress) {
              return /[^\s@]+@[^\s@]+\.[^\s@]+/.test(emailAddress);
          }
      });
  </code></pre>