From bcef70f84ae767db9ad4934107082c269485aac1 Mon Sep 17 00:00:00 2001 From: Daniele Scasciafratte Date: Thu, 16 Apr 2020 17:03:35 +0200 Subject: [PATCH] better detection of false value in wpbp.json --- generator/composer.php | 6 +-- generator/miscellaneous.php | 9 ++++ generator/remove.php | 100 ++++++++++++++++++------------------ generator/tools.php | 2 +- generator/wpbp.php | 1 + 5 files changed, 64 insertions(+), 54 deletions(-) diff --git a/generator/composer.php b/generator/composer.php index 6582b97..f476d09 100644 --- a/generator/composer.php +++ b/generator/composer.php @@ -36,19 +36,19 @@ function clean_composer_file() { $composer = json_decode( file_get_contents( getcwd() . DIRECTORY_SEPARATOR . WPBP_PLUGIN_SLUG . '/composer.json' ), true ); $composer = remove_composer_packages( $composer ); - if ( empty( $config[ 'grumphp' ] ) ) { + if ( is_empty_or_false( $config[ 'grumphp' ] ) ) { unset( $composer[ 'require-dev' ][ 'phpro/grumphp' ] ); unset( $composer[ 'require-dev' ][ 'wearejust/grumphp-extra-tasks' ] ); $clio->styleLine( '😎 Remove GrumPHP done', $info ); } - if ( empty( $config[ 'phpstan' ] ) ) { + if ( is_empty_or_false( $config[ 'phpstan' ] ) ) { unset( $composer[ 'require-dev' ][ 'szepeviktor/phpstan-wordpress' ] ); unset( $composer[ 'require-dev' ][ 'szepeviktor/phpstan-phpdoc' ] ); $clio->styleLine( '😎 Remove PHPStan WordPress support done', $info ); } - if ( empty( $config[ 'unit-test' ] ) ) { + if ( is_empty_or_false( $config[ 'unit-test' ] ) ) { unset( $composer[ 'require-dev' ][ 'lucatume/wp-browser' ] ); unset( $composer[ 'require-dev' ][ 'lucatume/function-mocker' ] ); unset( $composer[ 'require-dev' ][ 'codeception/codeception' ] ); diff --git a/generator/miscellaneous.php b/generator/miscellaneous.php index e33959b..3304a4b 100644 --- a/generator/miscellaneous.php +++ b/generator/miscellaneous.php @@ -180,3 +180,12 @@ function strip_packagejson( $term ) { file_put_contents( getcwd() . DIRECTORY_SEPARATOR . WPBP_PLUGIN_SLUG . '/package.json', $newpackage ); } + + +function is_empty_or_false( $testme ) { + if ( empty( $testme ) || $testme == 'false' ) { + return true; + } + + return; +} diff --git a/generator/remove.php b/generator/remove.php index 095f70c..7f21dce 100644 --- a/generator/remove.php +++ b/generator/remove.php @@ -87,66 +87,66 @@ function remove_files_by_settings( $file ) { switch ( $file ) { // Admin folder - case strpos( $file, 'actdeact.php' ) && empty( $config[ 'act-deact_actdeact' ] ): - case strpos( $file, 'admin-enqueue.php' ) && empty( $config[ 'admin-assets_admin-js' ] ) - && empty( $config[ 'admin-assets_admin-css' ] ): - case strpos( $file, 'impexp.php' ) && empty( $config[ 'backend_impexp-settings' ] ): - case strpos( $file, 'uninstall.php' ) && empty( $config[ 'act-deact_uninstall' ] ): - case strpos( $file, 'notices.php' ) && empty( $config[ 'libraries_nathanielks__wp-admin-notice' ] ) - && empty( $config[ 'libraries_julien731__wp-review-me' ] ) - && empty( $config[ 'libraries_julien731__wp-dismissible-notices-handler' ] ): - case strpos( $file, 'settings-page.php' ) && empty( $config[ 'admin-assets_admin-page' ] ): - case strpos( $file, '/admin/views' ) && empty( $config[ 'admin-assets_admin-page' ] ): + case strpos( $file, 'actdeact.php' ) && is_empty_or_false( $config[ 'act-deact_actdeact' ] ): + case strpos( $file, 'admin-enqueue.php' ) && is_empty_or_false( $config[ 'admin-assets_admin-js' ] ) + && is_empty_or_false( $config[ 'admin-assets_admin-css' ] ): + case strpos( $file, 'impexp.php' ) && is_empty_or_false( $config[ 'backend_impexp-settings' ] ): + case strpos( $file, 'uninstall.php' ) && is_empty_or_false( $config[ 'act-deact_uninstall' ] ): + case strpos( $file, 'notices.php' ) && is_empty_or_false( $config[ 'libraries_nathanielks__wp-admin-notice' ] ) + && is_empty_or_false( $config[ 'libraries_julien731__wp-review-me' ] ) + && is_empty_or_false( $config[ 'libraries_julien731__wp-dismissible-notices-handler' ] ): + case strpos( $file, 'settings-page.php' ) && is_empty_or_false( $config[ 'admin-assets_admin-page' ] ): + case strpos( $file, '/admin/views' ) && is_empty_or_false( $config[ 'admin-assets_admin-page' ] ): // Ajax folder - case strpos( $file, 'class-ajax.php' ) && empty( $config[ 'ajax_public' ] ): - case strpos( $file, 'admin-ajax.php' ) && empty( $config[ 'ajax_admin' ] ): + case strpos( $file, 'class-ajax.php' ) && is_empty_or_false( $config[ 'ajax_public' ] ): + case strpos( $file, 'admin-ajax.php' ) && is_empty_or_false( $config[ 'ajax_admin' ] ): // Assets folder - case strpos( $file, 'public.coffee' ) && empty( $config[ 'public-assets_js' ] ): - case strpos( $file, 'public.js' ) && empty( $config[ 'public-assets_js' ] ): - case strpos( $file, 'public.css' ) && empty( $config[ 'public-assets_css' ] ): - case strpos( $file, 'public.scss' ) && empty( $config[ 'public-assets_css' ] ): - case strpos( $file, 'admin.css' ) && empty( $config[ 'admin-assets_admin-css' ] ): - case strpos( $file, 'admin.scss' ) && empty( $config[ 'admin-assets_admin-css' ] ): - case strpos( $file, 'admin.coffee' ) && empty( $config[ 'admin-assets_admin-js' ] ): - case strpos( $file, 'admin.js' ) && empty( $config[ 'admin-assets_admin-js' ] ): - case strpos( $file, 'settings.js' ) && empty( $config[ 'admin-assets_settings-js' ] ): - case strpos( $file, 'settings.coffee' ) && empty( $config[ 'admin-assets_settings-js' ] ): - case strpos( $file, 'settings.css' ) && empty( $config[ 'admin-assets_settings-css' ] ): - case strpos( $file, 'settings.scss' ) && empty( $config[ 'admin-assets_settings-css' ] ): + case strpos( $file, 'public.coffee' ) && is_empty_or_false( $config[ 'public-assets_js' ] ): + case strpos( $file, 'public.js' ) && is_empty_or_false( $config[ 'public-assets_js' ] ): + case strpos( $file, 'public.css' ) && is_empty_or_false( $config[ 'public-assets_css' ] ): + case strpos( $file, 'public.scss' ) && is_empty_or_false( $config[ 'public-assets_css' ] ): + case strpos( $file, 'admin.css' ) && is_empty_or_false( $config[ 'admin-assets_admin-css' ] ): + case strpos( $file, 'admin.scss' ) && is_empty_or_false( $config[ 'admin-assets_admin-css' ] ): + case strpos( $file, 'admin.coffee' ) && is_empty_or_false( $config[ 'admin-assets_admin-js' ] ): + case strpos( $file, 'admin.js' ) && is_empty_or_false( $config[ 'admin-assets_admin-js' ] ): + case strpos( $file, 'settings.js' ) && is_empty_or_false( $config[ 'admin-assets_settings-js' ] ): + case strpos( $file, 'settings.coffee' ) && is_empty_or_false( $config[ 'admin-assets_settings-js' ] ): + case strpos( $file, 'settings.css' ) && is_empty_or_false( $config[ 'admin-assets_settings-css' ] ): + case strpos( $file, 'settings.scss' ) && is_empty_or_false( $config[ 'admin-assets_settings-css' ] ): // Cli folder - case strpos( $file, 'cli.php' ) && empty( $config[ 'wpcli' ] ): + case strpos( $file, 'cli.php' ) && is_empty_or_false( $config[ 'wpcli' ] ): // Integrations - case strpos( $file, 'cmb.php' ) && empty( $config[ 'libraries_cmb2__cmb2' ] ): - case strpos( $file, 'contextualhelp.php' ) && empty( $config[ 'libraries_mte90__wp-contextual-help' ] ): - case strpos( $file, '/help-docs' ) && empty( $config[ 'libraries_mte90__wp-contextual-help' ] ): - case strpos( $file, 'cron.php' ) && empty( $config[ 'libraries_wpbp__cronplus' ] ): - case strpos( $file, 'fakepage.php' ) && empty( $config[ 'libraries_wpbp__fakepage' ] ): - case strpos( $file, 'pointers.php' ) && empty( $config[ 'libraries_wpbp__pointerplus' ] ): - case strpos( $file, 'template.php' ) && empty( $config[ 'libraries_wpbp__template' ] ): - case strpos( $file, 'widgets.php' ) && empty( $config[ 'libraries_wpbp__widgets-helper' ] ): - case strpos( $file, '/widgets' ) && empty( $config[ 'libraries_wpbp__widgets-helper' ] ): + case strpos( $file, 'cmb.php' ) && is_empty_or_false( $config[ 'libraries_cmb2__cmb2' ] ): + case strpos( $file, 'contextualhelp.php' ) && is_empty_or_false( $config[ 'libraries_mte90__wp-contextual-help' ] ): + case strpos( $file, '/help-docs' ) && is_empty_or_false( $config[ 'libraries_mte90__wp-contextual-help' ] ): + case strpos( $file, 'cron.php' ) && is_empty_or_false( $config[ 'libraries_wpbp__cronplus' ] ): + case strpos( $file, 'fakepage.php' ) && is_empty_or_false( $config[ 'libraries_wpbp__fakepage' ] ): + case strpos( $file, 'pointers.php' ) && is_empty_or_false( $config[ 'libraries_wpbp__pointerplus' ] ): + case strpos( $file, 'template.php' ) && is_empty_or_false( $config[ 'libraries_wpbp__template' ] ): + case strpos( $file, 'widgets.php' ) && is_empty_or_false( $config[ 'libraries_wpbp__widgets-helper' ] ): + case strpos( $file, '/widgets' ) && is_empty_or_false( $config[ 'libraries_wpbp__widgets-helper' ] ): // Internals - case strpos( $file, 'posttypes.php' ) && empty( $config[ 'libraries_johnbillion__extended-cpts' ] ): - case strpos( $file, 'shortcode.php' ) && empty( $config[ 'frontend_shortcode' ] ): - case strpos( $file, 'transient.php' ) && empty( $config[ 'system_transient' ] ): - case strpos( $file, 'debug.php' ) && empty( $config[ 'libraries_wpbp__debug' ] ): + case strpos( $file, 'posttypes.php' ) && is_empty_or_false( $config[ 'libraries_johnbillion__extended-cpts' ] ): + case strpos( $file, 'shortcode.php' ) && is_empty_or_false( $config[ 'frontend_shortcode' ] ): + case strpos( $file, 'transient.php' ) && is_empty_or_false( $config[ 'system_transient' ] ): + case strpos( $file, 'debug.php' ) && is_empty_or_false( $config[ 'libraries_wpbp__debug' ] ): // Public - case strpos( $file, 'class-enqueue.php' ) && empty( $config[ 'public-assets_js' ] ) - && empty( $config[ 'public-assets_css' ] ) - && empty( $config[ 'frontend_wp-localize-script' ] ): + case strpos( $file, 'class-enqueue.php' ) && is_empty_or_false( $config[ 'public-assets_js' ] ) + && is_empty_or_false( $config[ 'public-assets_css' ] ) + && is_empty_or_false( $config[ 'frontend_wp-localize-script' ] ): // REST folder - case strpos( $file, 'rest.php' ) && empty( $config[ 'system_rest' ] ): + case strpos( $file, 'rest.php' ) && is_empty_or_false( $config[ 'system_rest' ] ): // Template folder - case strpos( $file, '/templates' ) && empty( $config[ 'frontend_template-system' ] ): + case strpos( $file, '/templates' ) && is_empty_or_false( $config[ 'frontend_template-system' ] ): // Tests folder - case strpos( $file, '/tests' ) && empty( $config[ 'unit-test' ] ): - case strpos( $file, 'codeception.dist.yml' ) && empty( $config[ 'unit-test' ] ): - case strpos( $file, '.env' ) && empty( $config[ 'unit-test' ] ): - case strpos( $file, 'wp-config-test.php' ) && empty( $config[ 'unit-test' ] ): + case strpos( $file, '/tests' ) && is_empty_or_false( $config[ 'unit-test' ] ): + case strpos( $file, 'codeception.dist.yml' ) && is_empty_or_false( $config[ 'unit-test' ] ): + case strpos( $file, '.env' ) && is_empty_or_false( $config[ 'unit-test' ] ): + case strpos( $file, 'wp-config-test.php' ) && is_empty_or_false( $config[ 'unit-test' ] ): // Others - case strpos( $file, 'languages' ) && empty( $config[ 'language-files' ] ): - case strpos( $file, 'grumphp.yml' ) && empty( $config[ 'grumphp' ] ): - case strpos( $file, 'phpstan.neon' ) && empty( $config[ 'phpstan' ] ): + case strpos( $file, 'languages' ) && is_empty_or_false( $config[ 'language-files' ] ): + case strpos( $file, 'grumphp.yml' ) && is_empty_or_false( $config[ 'grumphp' ] ): + case strpos( $file, 'phpstan.neon' ) && is_empty_or_false( $config[ 'phpstan' ] ): $return = remove_file_folder( $file ); break; } diff --git a/generator/tools.php b/generator/tools.php index 294c4ca..07324d6 100644 --- a/generator/tools.php +++ b/generator/tools.php @@ -9,7 +9,7 @@ */ function download_phpcs_standard() { global $config, $clio, $info; - if ( !empty( $config[ 'phpcs-standard' ] ) && $config[ 'phpcs-standard' ] === false ) { + if ( is_empty_or_false( $config[ 'phpcs-standard' ] ) ) { $codeat = file_get_contents( $config[ 'phpcs-standard' ] ); file_put_contents( getcwd() . DIRECTORY_SEPARATOR . WPBP_PLUGIN_SLUG . '/phpcs.xml', $codeat ); $clio->styleLine( '😎 PHPCS Standard downloaded', $info ); diff --git a/generator/wpbp.php b/generator/wpbp.php index c06b160..d892218 100644 --- a/generator/wpbp.php +++ b/generator/wpbp.php @@ -153,6 +153,7 @@ function execute_generator( $config ) { $clio->styleLine( 'Generation done, I am superfast! You: (ʘ_ʘ)', $info ); execute_composer(); git_init(); + coffeescript(); grunt(); }