@@ -5,6 +5,7 @@ const installEdition = require('../install-edition');
55const installStarterkit = require ( '../install-starterkit' ) ;
66const defaultPatternlabConfig = require ( '../default-config' ) ;
77const replaceConfigPaths = require ( '../replace-config' ) ;
8+ const ora = require ( 'ora' ) ;
89const path = require ( 'path' ) ;
910const wrapAsync = require ( '../utils' ) . wrapAsync ;
1011const writeJsonAsync = require ( '../utils' ) . writeJsonAsync ;
@@ -28,24 +29,26 @@ const init = options => wrapAsync(function*() {
2829 * 4. If `starterkit` is present install it and copy over the mandatory starterkit files to sourceDir
2930 * 5. Save patternlab-config.json in projectDir
3031 */
32+ const spinner = ora ( `Setting up PatternLab project in ${ projectDir } ` ) . start ( ) ;
3133 let patternlabConfig = replaceConfigPaths ( defaultPatternlabConfig , projectDir , sourceDir , publicDir , exportDir ) ; // 1
3234
3335 yield scaffold ( projectDir , sourceDir , publicDir , exportDir ) ; // 2
3436
3537 if ( edition ) {
38+ spinner . text = `Installing edition: ${ edition } ` ;
3639 const newConf = yield installEdition ( edition , patternlabConfig ) ; // 3.1
3740 patternlabConfig = Object . assign ( patternlabConfig , newConf ) ; // 3.2
41+ spinner . succeed ( `Installed edition: ${ edition } ` ) ;
3842 }
39- if ( starterkit ) yield installStarterkit ( starterkit , patternlabConfig ) ; // 4
43+ if ( starterkit ) {
44+ spinner . text = `Installing starterkit ${ starterkit } ` ;
45+ spinner . start ( ) ;
46+ yield installStarterkit ( starterkit , patternlabConfig ) ;
47+ spinner . succeed ( `Installed starterkit: ${ starterkit } ` ) ;
48+ } // 4
4049 yield writeJsonAsync ( path . resolve ( projectDir , 'patternlab-config.json' ) , patternlabConfig ) ; // 5
4150
42- // Finally :>
43- if ( ! edition && ! starterkit ) {
44- console . log ( `patternlab→init: You haven't picked an edition nor a starterkit. PatternLab won't work without those. Please add them manually.` ) ; // eslint-disable-line
45- } else {
46- console . log ( `patternlab→init: Additional packages installed - ${ edition ? 'edition: ' + edition : '' } ${ starterkit ? ', starterkit: ' + starterkit . name : '' } ` ) ; // eslint-disable-line
47- }
48- console . log ( `patternlab→init: Yay ☺. PatternLab Node was successfully initialised in ${ projectDir } ` ) ; // eslint-disable-line
51+ spinner . succeed ( `Yay ☺. PatternLab Node was successfully initialised in ${ projectDir } ` ) ;
4952 return true ;
5053} ) ;
5154
0 commit comments