@@ -15,7 +15,42 @@ angular.module(moduleName, [])
15
15
this . editorFilePath = data . dirName ;
16
16
} ) ;
17
17
} )
18
- , unregisterLeftBarSelectedProjectNpmInstall = $rootScope . $on ( 'left-bar:selected-project-npm-install' , ( eventInformation , data ) => {
18
+ , unregisterLeftBarSelectedProjectNpmReinstall = $rootScope . $on ( 'left-bar:selected-project-npm-reinstall' , ( eventInformation , data ) => {
19
+ let folder = data . path . path
20
+ , projectName = data . path . dirName
21
+ , deleteProjectName = item => {
22
+
23
+ $scope . $apply ( ( ) => {
24
+ delete this . npmReinstallingProjects [ item ] ;
25
+ } ) ;
26
+ } ;
27
+
28
+ $scope . $apply ( ( ) => {
29
+ this . npmReinstallingProjects [ projectName ] = true ;
30
+ } ) ;
31
+ //delete old node_modules
32
+ rmRf ( `${ folder } /node_modules` , errRm => {
33
+ if ( errRm ) {
34
+ errorsService . showErrorBox ( 'Warning' , `Error deleting node_modules/ in folder ${ folder } for clean installation: \n${ errRm } ` ) ;
35
+ }
36
+ npm . npmInFolder ( folder ) . catch ( error => {
37
+ deleteProjectName ( projectName ) ;
38
+ $log . error ( `Configuring npm for clean $ npm install, in ${ folder } ...` , error ) ;
39
+ errorsService . handleError ( 'Error' , `Error configuring npm for clean installation in folder ${ folder } : ${ error } ` ) ;
40
+ } ) . then ( npmInFolder => {
41
+ npmInFolder . launchInstall ( ) . then ( ( ) => {
42
+ $log . info ( `Finished npm reinstall in project ${ folder } ` ) ;
43
+ notificationFactory . notify ( `Finished $ npm install in project ${ projectName } ` ) ;
44
+ deleteProjectName ( projectName ) ;
45
+ } ) . catch ( err => {
46
+ deleteProjectName ( projectName ) ;
47
+ $log . error ( err ) ;
48
+ errorsService . showErrorBox ( 'Error' , `Error running $ npm install for clean installation in folder ${ folder } : ${ err } ` ) ;
49
+ } ) ;
50
+ } ) ;
51
+ } ) ;
52
+ } )
53
+ , unregisterLeftBarSelectedProjectNpmInstall = $rootScope . $on ( 'left-bar:selected-project-npm-install' , ( eventInformation , data ) => {
19
54
let folder = data . path . path
20
55
, projectName = data . path . dirName
21
56
, deleteProjectName = item => {
@@ -38,13 +73,13 @@ angular.module(moduleName, [])
38
73
$log . info ( `Finished npm install in project ${ folder } ` ) ;
39
74
notificationFactory . notify ( `Finished $ npm install in project ${ projectName } ` ) ;
40
75
deleteProjectName ( projectName ) ;
41
- } ) . catch ( err => {
42
- deleteProjectName ( projectName ) ;
43
- $log . error ( err ) ;
44
- errorsService . showErrorBox ( 'Error' , `Error running $ npm install in folder ${ folder } : ${ err } ` ) ;
76
+ } ) . catch ( err => {
77
+ deleteProjectName ( projectName ) ;
78
+ $log . error ( err ) ;
79
+ errorsService . showErrorBox ( 'Error' , `Error running $ npm install in folder ${ folder } : ${ err } ` ) ;
80
+ } ) ;
45
81
} ) ;
46
- } ) ;
47
- } )
82
+ } )
48
83
, unregisterLeftBarSelectedProjectNpmPrune = $rootScope . $on ( 'left-bar:selected-project-npm-prune' , ( eventInformation , data ) => {
49
84
let folder = data . path . path
50
85
, projectName = data . path . dirName
@@ -215,8 +250,7 @@ angular.module(moduleName, [])
215
250
this . restoreSnapshot = ( ) => {
216
251
217
252
let projectKey = this . turnPathToKey ( this . rightClickedProject . path )
218
- , selectedSnapshot = this . selectedSnapshot
219
- , toRestoreSnapshot ;
253
+ , selectedSnapshot = this . selectedSnapshot ;
220
254
221
255
this . restoredSnapshot = false ;
222
256
this . restoringSnapshot = true ;
@@ -238,7 +272,7 @@ angular.module(moduleName, [])
238
272
fs . writeFileSync ( `${ selectedSnapshot . path } /package.json` , data [ projectKey ] [ indexItem ] . status , { 'flag' : 'w' } , 'utf8' ) ;
239
273
//delete old node_modules
240
274
rmRf ( `${ selectedSnapshot . path } /node_modules` , errRm => {
241
- if ( err ) {
275
+ if ( errRm ) {
242
276
errorsService . showErrorBox ( 'Warning' , `Error deleting node_modules/ in folder ${ selectedSnapshot . path } : \n${ errRm } ` ) ;
243
277
}
244
278
npm . npmInFolder ( selectedSnapshot . path ) . catch ( error => {
@@ -343,6 +377,17 @@ angular.module(moduleName, [])
343
377
}
344
378
} ) ) ;
345
379
380
+ projectsContextMenu . append ( new MenuItem ( {
381
+ 'label' : 'Reinstall' ,
382
+ click ( ) {
383
+ $rootScope . $emit ( 'left-bar:selected-project-npm-reinstall' , {
384
+ 'path' : item
385
+ } ) ;
386
+ }
387
+ } ) ) ;
388
+ projectsContextMenu . append ( new MenuItem ( {
389
+ 'type' : 'separator'
390
+ } ) ) ;
346
391
projectsContextMenu . append ( new MenuItem ( {
347
392
'label' : 'Build' ,
348
393
click ( ) {
@@ -360,7 +405,9 @@ angular.module(moduleName, [])
360
405
} ) ;
361
406
}
362
407
} ) ) ;
363
-
408
+ projectsContextMenu . append ( new MenuItem ( {
409
+ 'type' : 'separator'
410
+ } ) ) ;
364
411
projectsContextMenu . append ( new MenuItem ( {
365
412
'label' : 'Prune' ,
366
413
click ( ) {
@@ -369,7 +416,6 @@ angular.module(moduleName, [])
369
416
} ) ;
370
417
}
371
418
} ) ) ;
372
-
373
419
projectsContextMenu . append ( new MenuItem ( {
374
420
'label' : 'Dedupe' ,
375
421
click ( ) {
@@ -458,6 +504,7 @@ angular.module(moduleName, [])
458
504
} ;
459
505
460
506
this . npmInstallingProjects = [ ] ;
507
+ this . npmReinstallingProjects = [ ] ;
461
508
this . npmBuildingProjects = [ ] ;
462
509
this . npmRebuildingProjects = [ ] ;
463
510
this . npmPruningProjects = [ ] ;
@@ -466,6 +513,7 @@ angular.module(moduleName, [])
466
513
$scope . $on ( '$destroy' , ( ) => {
467
514
468
515
unregisterLeftBarSelectedProjectNpmInstall ( ) ;
516
+ unregisterLeftBarSelectedProjectNpmReinstall ( ) ;
469
517
unregisterLeftBarSelectedProjectNpmPrune ( ) ;
470
518
unregisterLeftBarSelectedProjectNpmDedupe ( ) ;
471
519
unregisterLeftBarSelectedProjectNpmBuild ( ) ;
0 commit comments