1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | 'use strict';
|
9 |
|
10 | const chalk = require( 'chalk' );
|
11 | const shell = require( 'shelljs' );
|
12 | const clearConsole = require( './consoleClear' );
|
13 | const directoryExists = require( 'directory-exists' );
|
14 | const createGitignore = require( './createGitignore' );
|
15 |
|
16 | module.exports = ( blockName, blockDir ) => {
|
17 |
|
18 | const dirAlreadyExist = directoryExists.sync( `./${ blockName }` );
|
19 |
|
20 |
|
21 | if ( dirAlreadyExist ) {
|
22 | clearConsole();
|
23 | console.log(
|
24 | '\n❌ ',
|
25 | chalk.black.bgRed(
|
26 | ` A directory with this name already exists: ${ blockName } \n`
|
27 | )
|
28 | );
|
29 |
|
30 | console.log(
|
31 | ` ${ chalk.dim(
|
32 | 'Please move or delete it (maybe make a copy for backup) and run this command again.'
|
33 | ) }`
|
34 | );
|
35 | console.log(
|
36 | ` ${ chalk.dim( 'Or provide a different name for your block.' ) }`
|
37 | );
|
38 | console.log( chalk.dim( '\nFor example: \n' ) );
|
39 | console.log(
|
40 | ` ${ chalk.dim( 'create-guten-block' ) } ${ chalk.green( 'new-block-name' ) }\n`
|
41 | );
|
42 | process.exit( 1 );
|
43 | } else {
|
44 | return new Promise( async resolve => {
|
45 |
|
46 | shell.mkdir( '-p', blockName );
|
47 | await createGitignore( blockDir );
|
48 | resolve(true);
|
49 | } );
|
50 | }
|
51 | };
|