var Promise = require('rsvp').Promise;
var chalk = require('chalk');
var ui = require('../ui');

module.exports = function bowerInstal() {
  var inquirer = require('inquirer');
  var bower = require('bower');
  return new Promise(function(resolve, reject) {
    bower.commands.
      install(undefined, { save: true }, { interactive: true }).
        on('log', function(message) {
          if (message.level === 'conflict') {
            ui.write('  ' + chalk.red('conflict') + ' ' + message.message + '\n');
            message.data.picks.forEach(function(pick, index) {
              ui.write('    ' + chalk.green((index + 1) + ')') + ' ' + message.data.name + ' ' + pick.endpoint.target + '\n');
            });
          } else {
            if(message.level === 'info') {
              ui.write('  ' + chalk.green(message.id) + ' ' + message.message + '\n');
            }
          }
        }).
        on('error', reject).
        on('end', resolve).
        on('prompt', function (prompts, callback) {
            inquirer.prompt(prompts, callback);
          });
  });
};

@@ -1,19 +1,16 @@
 var 
-Promise
+RSVP
  = requi
@@ -23,16 +23,36 @@
 vp')
+,%0A    Promise = RSVP
 .Promise
 ;%0Ava
@@ -47,21 +47,21 @@
 .Promise
-;%0Avar
+,%0A   
  chalk =
@@ -81,13 +81,13 @@
 lk')
-;%0Avar
+,%0A   
  ui 
@@ -104,16 +104,141 @@
 '../ui')
+,%0A    fs = require('fs'),%0A    readFile = RSVP.denodeify(fs.readFile),%0A    merge = require('lodash-node/modern/objects/merge')
 ;%0A%0Amodul
@@ -269,17 +269,25 @@
 erInstal
+l
 (
+appRoot
 ) %7B%0A  va
@@ -288,22 +288,19 @@
 %7B%0A  var 
-inquir
+bow
 er = req
@@ -309,29 +309,29 @@
 re('
-inquirer');%0A  var bow
+bower'),%0A      inquir
 er =
@@ -336,27 +336,30 @@
  = require('
-bow
+inquir
 er');%0A  retu
@@ -397,24 +397,80 @@
 , reject) %7B%0A
+    readFile('.bowerrc').then(function(bowerConfig) %7B%0A  
     bower.co
@@ -483,16 +483,18 @@
 .%0A      
+ 
+ 
 install(
@@ -519,16 +519,35 @@
  true %7D,
+ merge(bowerConfig,
  %7B inter
@@ -561,16 +561,17 @@
  true %7D)
+)
 .%0A      
@@ -568,24 +568,26 @@
 )).%0A        
+  
 on('log', fu
@@ -618,11 +618,12 @@
     
+  
 if
- 
 (mes
@@ -635,17 +635,16 @@
 level ==
-=
  'confli
@@ -654,32 +654,34 @@
 ) %7B%0A            
+  
 ui.write('  ' + 
@@ -747,16 +747,18 @@
         
+  
 message.
@@ -806,32 +806,34 @@
 %7B%0A              
+ 
+ 
 ui.write('    ' 
@@ -941,20 +941,24 @@
         
+  
 %7D);%0A
+  
         
@@ -972,32 +972,34 @@
 e %7B%0A            
+  
 if(message.level
@@ -1009,24 +1009,26 @@
 = 'info') %7B%0A
+  
             
@@ -1106,34 +1106,38 @@
 ');%0A            
+ 
+ 
 %7D%0A
+  
           %7D%0A    
@@ -1140,16 +1140,18 @@
         
+  
 %7D).%0A    
@@ -1150,24 +1150,26 @@
 %7D).%0A        
+ 
+ 
 on('error', 
@@ -1181,24 +1181,26 @@
 t).%0A        
+  
 on('end', re
@@ -1207,16 +1207,18 @@
 solve).%0A
+  
         
@@ -1269,24 +1269,26 @@
             
+  
 inquirer.pro
@@ -1325,16 +1325,24 @@
     %7D);%0A
+    %7D);%0A
   %7D);%0A%7D;

Read .bowerrc before running bower install