22
33var fs = require ( 'fs' ) ;
44var path = require ( 'path' ) ;
5- var exec = require ( 'child_process' ) . exec ;
5+ var execSync = require ( 'child_process' ) . execSync ;
66var _ = require ( 'underscore' ) ;
77var extend = require ( '../utils/extend' ) ;
88var bower = require ( '../utils/bower' ) ;
@@ -59,29 +59,35 @@ function addServiceToIonicJson(serviceName) {
5959
6060function installBowerComponent ( serviceName ) {
6161 var bowerInstallCommand = 'bower link ionic-service-' + serviceName ;
62- var result = exec ( bowerInstallCommand ) ;
6362
64- if ( result . code !== 0 ) {
63+ try {
64+ var result = execSync ( bowerInstallCommand ) ;
6565
66- // Error happened, report it.
67- var errorMessage = 'Failed to find the service "' . bold + serviceName . verbose +
68- '"' . bold + '.\nAre you sure it exists?' . bold ;
69- fail ( errorMessage , 'service' ) ;
70- } else {
71- addServiceToIonicJson ( serviceName ) ;
72- }
66+ if ( result . code !== 0 ) {
67+ return addServiceToIonicJson ( serviceName ) ;
68+ }
69+ } catch ( e ) { } // eslint-disable-line no-empty
70+
71+ // Error happened, report it.
72+ var errorMessage = 'Failed to find the service "' . bold + serviceName . verbose +
73+ '"' . bold + '.\nAre you sure it exists?' . bold ;
74+ fail ( errorMessage , 'service' ) ;
7375}
7476
7577function uninstallBowerComponent ( serviceName ) {
7678 var bowerUninstallCommand = 'bower unlink ionic-service-' + serviceName ;
7779
78- var result = exec ( bowerUninstallCommand ) ;
80+ try {
81+ var result = execSync ( bowerUninstallCommand ) ;
7982
80- if ( result . code !== 0 ) {
81- var errorMessage = 'Failed to find the service "' . bold + serviceName . verbose +
82- '"' . bold + '.\nAre you sure it exists?' . bold ;
83- fail ( errorMessage , 'service' ) ;
84- }
83+ if ( result . code !== 0 ) {
84+ return ;
85+ }
86+ } catch ( e ) { } // eslint-disable-line no-empty
87+
88+ var errorMessage = 'Failed to find the service "' . bold + serviceName . verbose +
89+ '"' . bold + '.\nAre you sure it exists?' . bold ;
90+ fail ( errorMessage , 'service' ) ;
8591}
8692
8793function getBowerComponentsLocation ( ) {
@@ -117,12 +123,17 @@ function installBowerPlugins(directory, serviceName) {
117123 log . info ( 'Installing cordova plugin - ' + plugin . name + ' (' + plugin . id + ')' ) ;
118124 var installPluginCmd = 'ionic plugin add ' + plugin . uri ;
119125 log . info ( installPluginCmd ) ;
120- var pluginInstallResult = exec ( installPluginCmd ) ;
121126
122- if ( pluginInstallResult . code !== 0 ) {
123- var errorMessage = 'Failed to find the plugin "' . bold + plugin . name . verbose + '"' . bold + '.' . bold ;
124- fail ( errorMessage , 'service' ) ;
125- }
127+ try {
128+ var pluginInstallResult = execSync ( installPluginCmd ) ;
129+
130+ if ( pluginInstallResult . code === 0 ) {
131+ return ;
132+ }
133+ } catch ( e ) { } // eslint-disable-line no-empty
134+
135+ var errorMessage = 'Failed to find the plugin "' . bold + plugin . name . verbose + '"' . bold + '.' . bold ;
136+ fail ( errorMessage , 'service' ) ;
126137 } ) ;
127138}
128139
@@ -131,12 +142,17 @@ function uninstallBowerPlugins(bowerJson) {
131142 log . info ( 'Uninstalling cordova plugin - ' + plugin . name ) ;
132143 var uninstallPluginCmd = 'ionic plugin rm ' + plugin . id ;
133144 log . info ( uninstallPluginCmd ) ;
134- var pluginRemoveResult = exec ( uninstallPluginCmd ) ;
135145
136- if ( pluginRemoveResult . code !== 0 ) {
137- var errorMessage = 'Failed to find the plugin to remove "' . bold + plugin . name . verbose + '"' . bold + '.' . bold ;
138- fail ( errorMessage , 'service' ) ;
139- }
146+ try {
147+ var pluginRemoveResult = execSync ( uninstallPluginCmd ) ;
148+
149+ if ( pluginRemoveResult . code === 0 ) {
150+ return ;
151+ }
152+ } catch ( e ) { } // eslint-disable-line no-empty
153+
154+ var errorMessage = 'Failed to find the plugin to remove "' . bold + plugin . name . verbose + '"' . bold + '.' . bold ;
155+ fail ( errorMessage , 'service' ) ;
140156 } ) ;
141157}
142158
0 commit comments