From 1d2f99b7012c1f17c32ea66b59b5c035dacba21c Mon Sep 17 00:00:00 2001 From: Brian Hanna Date: Mon, 24 Sep 2018 21:08:20 -0400 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=93=A6=20NEW:=20Create=20default=20re?= =?UTF-8?q?commended=20.gitignore=20file=20on=20build?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../create-guten-block/app/createGitignore.js | 25 +++++++++++++++++++ packages/create-guten-block/app/run.js | 4 ++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 packages/create-guten-block/app/createGitignore.js diff --git a/packages/create-guten-block/app/createGitignore.js b/packages/create-guten-block/app/createGitignore.js new file mode 100644 index 00000000..4dfe513c --- /dev/null +++ b/packages/create-guten-block/app/createGitignore.js @@ -0,0 +1,25 @@ +/** + * Install a starter .gitignore + */ + +'use strict'; + +const path = require( 'path' ); +const fs = require( 'fs-extra' ); +const shell = require( 'shelljs' ); + +module.exports = (blockDir) => { + shell.cd( blockDir ); + shell.touch( '.gitignore' ); + + // Build a default .gitignore + const ignore = `node_modules\ndist/`; + + return new Promise( async resolve => { + await fs.writeFileSync( + path.join( process.cwd(), '.gitignore' ), + ignore + '\n' + ); + resolve( true ); + } ); +}; diff --git a/packages/create-guten-block/app/run.js b/packages/create-guten-block/app/run.js index b579db9a..e2434591 100644 --- a/packages/create-guten-block/app/run.js +++ b/packages/create-guten-block/app/run.js @@ -16,6 +16,7 @@ const clearConsole = require( './consoleClear' ); const updateNotifier = require( './updateNotifier' ); const createPluginDir = require( './createPluginDir' ); const npmInstallScripts = require( './npmInstallScripts' ); +const createGitignore = require( './createGitignore' ); module.exports = async() => { clearConsole(); @@ -26,7 +27,7 @@ module.exports = async() => { // 1. Set the CLI and get the blockName. const blockName = cli(); - // 2. Build the block direcotry path. + // 2. Build the block directory path. const blockDir = await getBlockDir( blockName ); // 2. Pre print. @@ -42,6 +43,7 @@ module.exports = async() => { ) }` ); await createPluginDir( blockName ); + await createGitignore( blockDir ); spinner.succeed(); // 4. NPM install cgb-scripts. From 41f3dc7d0d6baa1f0a72ede787a6ddeca53cf9ca Mon Sep 17 00:00:00 2001 From: Brian Hanna Date: Mon, 24 Sep 2018 21:20:58 -0400 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=93=96=20DOC:=20Update=20README=20fil?= =?UTF-8?q?e=20tree?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2c248adf..b8210609 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,7 @@ Inside that directory, it will generate the initial project structure and instal ```sh INSIDE: /local_dev_site.tld/wp-content/plugins/my-block +├── .gitignore ├── plugin.php ├── package.json ├── README.md From 46ac7109d31b2fb87d1e8c0b6627813405e42f6e Mon Sep 17 00:00:00 2001 From: Brian John Hanna Date: Tue, 25 Sep 2018 13:49:59 -0400 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=91=8C=20IMPROVE:=20Move=20file=20cre?= =?UTF-8?q?ation=20logic=20to=20dir=20creation=20method?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/create-guten-block/app/createPluginDir.js | 11 ++++++----- packages/create-guten-block/app/run.js | 5 +---- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/create-guten-block/app/createPluginDir.js b/packages/create-guten-block/app/createPluginDir.js index 62565563..2abc73da 100644 --- a/packages/create-guten-block/app/createPluginDir.js +++ b/packages/create-guten-block/app/createPluginDir.js @@ -11,8 +11,9 @@ const chalk = require( 'chalk' ); const shell = require( 'shelljs' ); const clearConsole = require( './consoleClear' ); const directoryExists = require( 'directory-exists' ); +const createGitignore = require( './createGitignore' ); -module.exports = blockName => { +module.exports = ( blockName, blockDir ) => { // Check if the plugin dir is already presnet. const dirAlreadyExist = directoryExists.sync( `./${ blockName }` ); @@ -40,11 +41,11 @@ module.exports = blockName => { ); process.exit( 1 ); } else { - return new Promise( resolve => { + return new Promise( async resolve => { // Where user is at the moment. - shell.exec( `mkdir -p ${ blockName }`, () => { - resolve( true ); - } ); + shell.exec( `mkdir -p ${ blockName }` ); + await createGitignore( blockDir ); + resolve(true); } ); } }; diff --git a/packages/create-guten-block/app/run.js b/packages/create-guten-block/app/run.js index e2434591..4d1fb462 100644 --- a/packages/create-guten-block/app/run.js +++ b/packages/create-guten-block/app/run.js @@ -16,7 +16,6 @@ const clearConsole = require( './consoleClear' ); const updateNotifier = require( './updateNotifier' ); const createPluginDir = require( './createPluginDir' ); const npmInstallScripts = require( './npmInstallScripts' ); -const createGitignore = require( './createGitignore' ); module.exports = async() => { clearConsole(); @@ -42,12 +41,10 @@ module.exports = async() => { ` ${ blockName } ` ) }` ); - await createPluginDir( blockName ); - await createGitignore( blockDir ); + await createPluginDir( blockName, blockDir ); spinner.succeed(); // 4. NPM install cgb-scripts. - spinner.start( '2. Installing npm packages...' ); await npmInstallScripts( blockName, blockDir ); spinner.succeed(); From e4654fe9927fc599c8528bede9e29380585826ed Mon Sep 17 00:00:00 2001 From: Brian John Hanna Date: Tue, 25 Sep 2018 13:51:06 -0400 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=91=8C=20IMPROVE:=20Make=20ignoring?= =?UTF-8?q?=20dist=20directory=20optional?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/create-guten-block/app/createGitignore.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/create-guten-block/app/createGitignore.js b/packages/create-guten-block/app/createGitignore.js index 4dfe513c..280f589a 100644 --- a/packages/create-guten-block/app/createGitignore.js +++ b/packages/create-guten-block/app/createGitignore.js @@ -13,7 +13,12 @@ module.exports = (blockDir) => { shell.touch( '.gitignore' ); // Build a default .gitignore - const ignore = `node_modules\ndist/`; + const ignore = [ + 'node_modules\n', + '## Uncomment line below if you prefer to', + '## keep compiled files out of version control', + '# dist/' + ].join('\n'); return new Promise( async resolve => { await fs.writeFileSync(