33var starterkit_manager = function ( pl ) {
44 var path = require ( 'path' ) ,
55 fs = require ( 'fs-extra' ) ,
6+ util = require ( './utilities' ) ,
67 paths = pl . config . paths ;
78
8- function loadStarterKit ( starterkitName ) {
9+ function loadStarterKit ( starterkitName , clean ) {
910 try {
1011 var kitPath = path . resolve (
1112 path . join ( process . cwd ( ) , 'node_modules' , starterkitName , pl . config . starterkitSubDir )
1213 ) ;
13- var kitPathDirExists = fs . statSync ( kitPath ) . isDirectory ( ) ;
14+ console . log ( 'Attempting to load starterkit from' , kitPath ) ;
15+ try {
16+ var kitDirStats = fs . statSync ( kitPath ) ;
17+ } catch ( ex ) {
18+ util . logRed ( starterkitName + ' not found, please use npm to install it first.' ) ;
19+ util . logRed ( starterkitName + ' not loaded.' ) ;
20+ return ;
21+ }
22+ var kitPathDirExists = kitDirStats . isDirectory ( ) ;
1423 if ( kitPathDirExists ) {
1524
16- //todo check and prompt user is paths().source is not empty
25+ if ( clean ) {
26+ console . log ( 'Deleting contents of' , paths . source . root , 'prior to starterkit load.' ) ;
27+ util . emptyDirectory ( paths . source . root ) ;
28+ } else {
29+ console . log ( 'Overwriting contents of' , paths . source . root , 'during starterkit load.' ) ;
30+ }
1731
1832 fs . copy ( kitPath , paths . source . root , function ( ex ) {
1933 if ( ex ) {
2034 console . error ( ex ) ;
2135 }
22- console . log ( 'starterkit ' + starterkitName + ' loaded successfully.' ) ;
36+ util . logGreen ( 'starterkit ' + starterkitName + ' loaded successfully.' ) ;
2337 } ) ;
24-
2538 }
2639 } catch ( ex ) {
2740 console . log ( ex ) ;
28- console . log ( starterkitName + ' not found, please use npm to install it first' ) ;
2941 }
3042 }
3143
@@ -38,8 +50,8 @@ var starterkit_manager = function (pl) {
3850 }
3951
4052 return {
41- load_starterkit : function ( starterkitName ) {
42- loadStarterKit ( starterkitName ) ;
53+ load_starterkit : function ( starterkitName , clean ) {
54+ loadStarterKit ( starterkitName , clean ) ;
4355 } ,
4456 list_starterkits : function ( ) {
4557 listStarterkits ( ) ;
0 commit comments