UNPKG

1.33 kBJavaScriptView Raw
1/**
2 * Create Plugin Directory.
3 *
4 * @param {string} blockName The block name.
5 * @return {promise} promise resolved.
6 */
7
8'use strict';
9
10const chalk = require( 'chalk' );
11const shell = require( 'shelljs' );
12const clearConsole = require( './consoleClear' );
13const directoryExists = require( 'directory-exists' );
14const createGitignore = require( './createGitignore' );
15
16module.exports = ( blockName, blockDir ) => {
17 // Check if the plugin dir is already presnet.
18 const dirAlreadyExist = directoryExists.sync( `./${ blockName }` );
19
20 // If exists then exit.
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 // Where user is at the moment.
46 shell.mkdir( '-p', blockName );
47 await createGitignore( blockDir );
48 resolve(true);
49 } );
50 }
51};