@@ -5,6 +5,7 @@ const installEdition = require('../install-edition');
5
5
const installStarterkit = require ( '../install-starterkit' ) ;
6
6
const defaultPatternlabConfig = require ( '../default-config' ) ;
7
7
const replaceConfigPaths = require ( '../replace-config' ) ;
8
+ const ora = require ( 'ora' ) ;
8
9
const path = require ( 'path' ) ;
9
10
const wrapAsync = require ( '../utils' ) . wrapAsync ;
10
11
const writeJsonAsync = require ( '../utils' ) . writeJsonAsync ;
@@ -28,24 +29,26 @@ const init = options => wrapAsync(function*() {
28
29
* 4. If `starterkit` is present install it and copy over the mandatory starterkit files to sourceDir
29
30
* 5. Save patternlab-config.json in projectDir
30
31
*/
32
+ const spinner = ora ( `Setting up PatternLab project in ${ projectDir } ` ) . start ( ) ;
31
33
let patternlabConfig = replaceConfigPaths ( defaultPatternlabConfig , projectDir , sourceDir , publicDir , exportDir ) ; // 1
32
34
33
35
yield scaffold ( projectDir , sourceDir , publicDir , exportDir ) ; // 2
34
36
35
37
if ( edition ) {
38
+ spinner . text = `Installing edition: ${ edition } ` ;
36
39
const newConf = yield installEdition ( edition , patternlabConfig ) ; // 3.1
37
40
patternlabConfig = Object . assign ( patternlabConfig , newConf ) ; // 3.2
41
+ spinner . succeed ( `Installed edition: ${ edition } ` ) ;
38
42
}
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
40
49
yield writeJsonAsync ( path . resolve ( projectDir , 'patternlab-config.json' ) , patternlabConfig ) ; // 5
41
50
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 } ` ) ;
49
52
return true ;
50
53
} ) ;
51
54
0 commit comments