From d0cd21004b2c4c908af58fcf490d65b408005b9d Mon Sep 17 00:00:00 2001 From: Ivan Kristianto Date: Fri, 2 Jun 2017 16:38:29 +0700 Subject: [PATCH 1/6] remove .DS_Store --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 3 +++ 2 files changed, 3 insertions(+) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index c88a062b05be4fd1d362b3e4c6a7481e718b69d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~O$x$5422WzLU7Zi%h`AUZ!n0Spcima5J4*Vx1OW>k_m#k8KJGkN^pg011%5 z4-v3?8#bF)Wh4O-Ab}?V`#vPNX$~z_{nLTqBLK8P*$r!-C7{U)&>UK-q5{*H9yD6j z#}KP~J2b_)99pW@cF`C;crrWIXQgOGwy`I%~QMGk}L;X0y%TE9jyNVZZH|!@{KyzrRiVBQB0*--!1inh( E0rZ6u#{d8T diff --git a/.gitignore b/.gitignore index dd9e3c5..3266a5d 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,6 @@ jspm_packages # Lib lib + +# Others +.DS_Store From 2cee27a3550ec804afdeb024acff983aeb15bd27 Mon Sep 17 00:00:00 2001 From: Ivan Kristianto Date: Fri, 2 Jun 2017 16:42:52 +0700 Subject: [PATCH 2/6] update author info --- package.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 2bbdb1a..f59be3b 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,11 @@ "docker", "cli" ], - "author": "Ivan Kristianto ", + "author": { + "name": "Ivan Kristianto", + "email": "ivan@ivankristianto.com", + "url": "https://www.ivankristianto.com" + }, "license": "MIT", "dependencies": { "archiver": "^1.3.0", From 0bcf7589659029ff38733f1bc792fae3f04f212a Mon Sep 17 00:00:00 2001 From: Ivan Kristianto Date: Fri, 2 Jun 2017 17:48:35 +0700 Subject: [PATCH 3/6] now allow pass foldername as first arguments --- src/cli.js | 9 +++++---- src/commands/create.js | 20 ++++++++++++-------- src/utils/prompts.js | 13 +++++++++++-- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/cli.js b/src/cli.js index 0f76528..65ea89b 100644 --- a/src/cli.js +++ b/src/cli.js @@ -2,6 +2,7 @@ * External dependencies */ import cli from 'commander'; +import create from './commands/create'; /** * Internal dependencies @@ -16,7 +17,7 @@ function main() { .on( '--help', function() { console.log( ' Examples:' ); console.log( '' ); - console.log( ' $ create-wp-site create' ); + console.log( ' $ create-wp-site ' ); console.log( '' ); } ); @@ -56,11 +57,11 @@ function runCommand() { const passedCmd = process.argv.slice( 2 ); // No command specified or invalid command. - if ( ! passedCmd.length && ! commands[ passedCmd[ 0 ] ] ) { - cli.help(); + if ( ! passedCmd.length || ! ( passedCmd[0] in commands ) ) { + create({ directory: passedCmd[0] }); } - cli.parse( process.argv ); + //cli.parse( process.argv ); } function longDescFn( k ) { diff --git a/src/commands/create.js b/src/commands/create.js index bc29b7a..921cc2b 100644 --- a/src/commands/create.js +++ b/src/commands/create.js @@ -13,21 +13,25 @@ const ghURL = 'https://github.com/10up/wp-local-docker.git'; export default ( args, config ) => { const params = getParams( args, config ); - const promptOpt = prompts.getCreatePrompts(); - prompts.ask( promptOpt ).then( handlePrompt, e => { + const promptOpt = prompts.getCreatePrompts(params); + const createPromptHandler = (args, config) => function(data){return handlePrompt(data,args, config)}; + prompts.ask( promptOpt ).then( createPromptHandler(args,config), e => { log.error( e.toString() ); } ); }; function getParams( args, config ) { - const dir = args.dir || ''; + const directory = args.directory || ''; return { - dir, + directory, }; } -function handlePrompt( data ) { +function handlePrompt( data, args, config ) { try { + const params = getParams( args, config ); + data = Object.assign( data, params ); + log.info( 'Checking if directory exist' ); is_directory_exist( data.directory ); @@ -55,12 +59,12 @@ function handlePrompt( data ) { return data; } -function is_directory_exist( dir ) { - if ( ! dir ) { +function is_directory_exist( directory ) { + if ( ! directory ) { throw new Error( 'We need directory name.' ); } - if ( ! fs.emptyDirSync( dir ) ) { + if ( ! fs.emptyDirSync( directory ) ) { throw new Error( 'Directory exist, exit now.' ); } diff --git a/src/utils/prompts.js b/src/utils/prompts.js index 50dd7f1..8a673e2 100644 --- a/src/utils/prompts.js +++ b/src/utils/prompts.js @@ -1,6 +1,7 @@ import inquirer from 'inquirer'; -function getCreatePrompts() { +function getCreatePrompts(params) { + const prompts = [ { type: 'input', @@ -11,6 +12,10 @@ function getCreatePrompts() { return 'You must specify the directory name'; } return true; + }, + default: params.directory, + when: function (answers) { + return ( '' === params.directory ); } }, { @@ -18,7 +23,11 @@ function getCreatePrompts() { name: 'domain', message: 'Domain to use:', default: function (answers) { - return answers.directory+'.dev'; + if( '' === params.directory ){ + return answers.directory+'.dev'; + }else{ + return params.directory+'.dev'; + } }, filter: function (val) { return val.toLowerCase(); From 7679d59d7031fe02e757d766798190ee67afcadd Mon Sep 17 00:00:00 2001 From: Ivan Kristianto Date: Fri, 2 Jun 2017 17:51:12 +0700 Subject: [PATCH 4/6] give default value when create --- src/cli.js | 4 ++-- src/utils/prompts.js | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/cli.js b/src/cli.js index 65ea89b..b7e7f38 100644 --- a/src/cli.js +++ b/src/cli.js @@ -57,11 +57,11 @@ function runCommand() { const passedCmd = process.argv.slice( 2 ); // No command specified or invalid command. - if ( ! passedCmd.length || ! ( passedCmd[0] in commands ) ) { + if ( ! passedCmd.length || ! ( passedCmd in commands ) ) { create({ directory: passedCmd[0] }); } - //cli.parse( process.argv ); + cli.parse( process.argv ); } function longDescFn( k ) { diff --git a/src/utils/prompts.js b/src/utils/prompts.js index 8a673e2..aa3d5dc 100644 --- a/src/utils/prompts.js +++ b/src/utils/prompts.js @@ -13,7 +13,13 @@ function getCreatePrompts(params) { } return true; }, - default: params.directory, + default: function(){ + if( '' === params.directory ){ + return 'wplocaldocker'; + }else{ + return params.directory+'.dev'; + } + }, when: function (answers) { return ( '' === params.directory ); } From ec504bb44c6d92fba9d87a50cf24f6af96b053b0 Mon Sep 17 00:00:00 2001 From: Ivan Kristianto Date: Fri, 2 Jun 2017 17:52:07 +0700 Subject: [PATCH 5/6] linter --- src/cli.js | 2 +- src/commands/create.js | 15 ++++++++++----- src/utils/prompts.js | 33 +++++++++++++++------------------ 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/cli.js b/src/cli.js index b7e7f38..e266225 100644 --- a/src/cli.js +++ b/src/cli.js @@ -58,7 +58,7 @@ function runCommand() { // No command specified or invalid command. if ( ! passedCmd.length || ! ( passedCmd in commands ) ) { - create({ directory: passedCmd[0] }); + create( { directory: passedCmd[ 0 ] } ); } cli.parse( process.argv ); diff --git a/src/commands/create.js b/src/commands/create.js index 921cc2b..fc8a540 100644 --- a/src/commands/create.js +++ b/src/commands/create.js @@ -13,9 +13,12 @@ const ghURL = 'https://github.com/10up/wp-local-docker.git'; export default ( args, config ) => { const params = getParams( args, config ); - const promptOpt = prompts.getCreatePrompts(params); - const createPromptHandler = (args, config) => function(data){return handlePrompt(data,args, config)}; - prompts.ask( promptOpt ).then( createPromptHandler(args,config), e => { + const promptOpt = prompts.getCreatePrompts( params ); + const createPromptHandler = ( args, config ) => + function( data ) { + return handlePrompt( data, args, config ); +}; + prompts.ask( promptOpt ).then( createPromptHandler( args, config ), e => { log.error( e.toString() ); } ); }; @@ -138,8 +141,10 @@ function installWp( data ) { log.info( wp.install( data ) ); } -function successInfo( data ){ - log.success( 'Congratulations! Your local WordPress site now has been created.' ); +function successInfo( data ) { + log.success( + 'Congratulations! Your local WordPress site now has been created.' + ); log.success( 'Url: http://' + data.domain ); log.success( 'Username: admin' ); log.success( 'Password: password' ); diff --git a/src/utils/prompts.js b/src/utils/prompts.js index aa3d5dc..16741ff 100644 --- a/src/utils/prompts.js +++ b/src/utils/prompts.js @@ -1,43 +1,40 @@ import inquirer from 'inquirer'; -function getCreatePrompts(params) { - +function getCreatePrompts( params ) { const prompts = [ { type: 'input', name: 'directory', message: 'Name of new site directory:', - validate: function (text) { - if (text.length == 0) { + validate: function( text ) { + if ( text.length == 0 ) { return 'You must specify the directory name'; } return true; }, - default: function(){ - if( '' === params.directory ){ + 'default': function() { + if ( '' === params.directory ) { return 'wplocaldocker'; - }else{ - return params.directory+'.dev'; } + return params.directory + '.dev'; + }, + when: function( answers ) { + return '' === params.directory; }, - when: function (answers) { - return ( '' === params.directory ); - } }, { type: 'input', name: 'domain', message: 'Domain to use:', - default: function (answers) { - if( '' === params.directory ){ - return answers.directory+'.dev'; - }else{ - return params.directory+'.dev'; + 'default': function( answers ) { + if ( '' === params.directory ) { + return answers.directory + '.dev'; } + return params.directory + '.dev'; }, - filter: function (val) { + filter: function( val ) { return val.toLowerCase(); - } + }, }, /* //TODO: Work in Progress From ec007d181923af6f25527eabb600618a1f1bb934 Mon Sep 17 00:00:00 2001 From: Ivan Kristianto Date: Fri, 2 Jun 2017 18:06:02 +0700 Subject: [PATCH 6/6] bump version 0.1.5 and update readme --- CHANGELOGS.md | 5 +++++ README.md | 7 ++++++- package.json | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index bd1f9e8..78a931c 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -1,6 +1,11 @@ create-wp-site Changelogs ============== +## v0.1.5 + +* Allow to run with directly passed the directory name as first param. sample: `create-wp-site mylocaldocker` +* Compatibility with yarn create. Sample: `yarn create wp-site mylocaldocker` + ## v0.1.x * Release minimal version diff --git a/README.md b/README.md index 65c371c..dbd5f97 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,12 @@ $ create-wp-site Examples: - $ create-wp-site create + $ create-wp-site +``` + +### Using Yarn +``` +$ yarn create wp-site ``` For more help on specific command, supply `-h` or `--help`. diff --git a/package.json b/package.json index f59be3b..a09dd00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "create-wp-site", - "version": "0.1.4", + "version": "0.1.5", "description": "Create local WordPress development with 10up/wp-local-docker", "bin": { "create-wp-site": "bin/create-wp-site"