From adbc3e0c1abc36b820975f8f728ed378878661e2 Mon Sep 17 00:00:00 2001 From: Joaquim d'Souza Date: Mon, 11 Nov 2024 19:49:00 +0100 Subject: [PATCH] fix: wordpress.org plugin zip upload errors --- packages/join-block/composer.json | 1 - packages/join-block/composer.lock | 401 +----------------- packages/join-block/join.php | 4 +- packages/join-block/src/Blocks.php | 20 +- .../join-block/src/Services/JoinService.php | 17 +- packages/join-block/src/Settings.php | 2 +- .../join-flow/{.babelrc => babel.config.json} | 0 .../scss/fonts/BebasNeue-Regular.woff2 | Bin 21760 -> 0 bytes .../scss/fonts/Helvetica LT 57 Condensed.ttf | Bin 39520 -> 0 bytes .../fonts/Helvetica LT 77 Bold Condensed.ttf | Bin 39228 -> 0 bytes readme.md | 4 + scripts/package.sh | 34 +- 12 files changed, 52 insertions(+), 431 deletions(-) rename packages/join-flow/{.babelrc => babel.config.json} (100%) delete mode 100644 packages/join-flow/scss/fonts/BebasNeue-Regular.woff2 delete mode 100644 packages/join-flow/scss/fonts/Helvetica LT 57 Condensed.ttf delete mode 100644 packages/join-flow/scss/fonts/Helvetica LT 77 Bold Condensed.ttf diff --git a/packages/join-block/composer.json b/packages/join-block/composer.json index 06bec84..45b3f05 100644 --- a/packages/join-block/composer.json +++ b/packages/join-block/composer.json @@ -7,7 +7,6 @@ "htmlburger/carbon-fields": "^3.2", "monolog/monolog": "^2.1", "cmdisp/monolog-microsoft-teams": "^1.1", - "nesbot/carbon": "^2.55", "auth0/auth0-php": "^8.3.1", "http-interop/http-factory-guzzle": "^1.2", "chargebee/chargebee-php": "^3.23", diff --git a/packages/join-block/composer.lock b/packages/join-block/composer.lock index e872fbe..c9b85b5 100644 --- a/packages/join-block/composer.lock +++ b/packages/join-block/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "48e3d5249059637afb76b00b672af22a", + "content-hash": "d0bbe6813393b35e0d26c2402b940b42", "packages": [ { "name": "auth0/auth0-php", @@ -92,75 +92,6 @@ }, "time": "2022-09-26T09:34:14+00:00" }, - { - "name": "carbonphp/carbon-doctrine-types", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", - "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", - "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "conflict": { - "doctrine/dbal": "<3.7.0 || >=4.0.0" - }, - "require-dev": { - "doctrine/dbal": "^3.7.0", - "nesbot/carbon": "^2.71.0 || ^3.0.0", - "phpunit/phpunit": "^10.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "KyleKatarn", - "email": "kylekatarnls@gmail.com" - } - ], - "description": "Types to use Carbon in Doctrine", - "keywords": [ - "carbon", - "date", - "datetime", - "doctrine", - "time" - ], - "support": { - "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", - "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" - }, - "funding": [ - { - "url": "https://github.com/kylekatarnls", - "type": "github" - }, - { - "url": "https://opencollective.com/Carbon", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", - "type": "tidelift" - } - ], - "time": "2023-12-11T17:09:12+00:00" - }, { "name": "chargebee/chargebee-php", "version": "v3.35.0", @@ -1178,113 +1109,6 @@ ], "time": "2024-04-12T20:52:51+00:00" }, - { - "name": "nesbot/carbon", - "version": "2.72.5", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", - "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", - "shasum": "" - }, - "require": { - "carbonphp/carbon-doctrine-types": "*", - "ext-json": "*", - "php": "^7.1.8 || ^8.0", - "psr/clock": "^1.0", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" - }, - "provide": { - "psr/clock-implementation": "1.0" - }, - "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", - "doctrine/orm": "^2.7 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.0", - "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.99 || ^1.7.14", - "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", - "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", - "squizlabs/php_codesniffer": "^3.4" - }, - "bin": [ - "bin/carbon" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev", - "dev-2.x": "2.x-dev" - }, - "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] - }, - "phpstan": { - "includes": [ - "extension.neon" - ] - } - }, - "autoload": { - "psr-4": { - "Carbon\\": "src/Carbon/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "https://markido.com" - }, - { - "name": "kylekatarnls", - "homepage": "https://github.com/kylekatarnls" - } - ], - "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "https://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], - "support": { - "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" - }, - "funding": [ - { - "url": "https://github.com/sponsors/kylekatarnls", - "type": "github" - }, - { - "url": "https://opencollective.com/Carbon#sponsor", - "type": "opencollective" - }, - { - "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", - "type": "tidelift" - } - ], - "time": "2024-06-03T19:18:41+00:00" - }, { "name": "php-http/discovery", "version": "1.19.4", @@ -1653,54 +1477,6 @@ }, "time": "2016-08-06T20:24:11+00:00" }, - { - "name": "psr/clock", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/clock.git", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Clock\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for reading the clock.", - "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], - "support": { - "issues": "https://github.com/php-fig/clock/issues", - "source": "https://github.com/php-fig/clock/tree/1.0.0" - }, - "time": "2022-11-25T14:36:26+00:00" - }, { "name": "psr/event-dispatcher", "version": "1.0.0", @@ -2370,181 +2146,6 @@ ], "time": "2024-09-09T11:45:10+00:00" }, - { - "name": "symfony/translation", - "version": "v5.4.42", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "1d702caccb9f091b738696185f778b1bfef7b5b2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/1d702caccb9f091b738696185f778b1bfef7b5b2", - "reference": "1d702caccb9f091b738696185f778b1bfef7b5b2", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^2.3" - }, - "conflict": { - "symfony/config": "<4.4", - "symfony/console": "<5.3", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" - }, - "provide": { - "symfony/translation-implementation": "2.3" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client-contracts": "^1.1|^2.0|^3.0", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to internationalize your application", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.42" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-07-26T12:14:19+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v2.5.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b0073a77ac0b7ea55131020e87b1e3af540f4664", - "reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to translation", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.5.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-23T13:51:25+00:00" - }, { "name": "vlucas/phpdotenv", "version": "v5.6.1", diff --git a/packages/join-block/join.php b/packages/join-block/join.php index 90ed90b..6c4a532 100644 --- a/packages/join-block/join.php +++ b/packages/join-block/join.php @@ -5,7 +5,7 @@ * Description: Common Knowledge join flow plugin. * Version: 1.1.0 * Author: Common Knowledge - * Text Domain: ck-join-block + * Text Domain: common-knowledge-join-flow * License: GPLv2 or later */ @@ -23,9 +23,9 @@ use GuzzleHttp\Exception\ClientException; Logging::init(); +global $joinBlockLog; $dotenv = Dotenv\Dotenv::createImmutable(__DIR__); - try { $dotenv->load(); } catch (\Throwable $e) { diff --git a/packages/join-block/src/Blocks.php b/packages/join-block/src/Blocks.php index 562d440..8e108b1 100644 --- a/packages/join-block/src/Blocks.php +++ b/packages/join-block/src/Blocks.php @@ -40,7 +40,7 @@ private static function registerScripts() ); wp_enqueue_script( - 'ck-join-block-js', + 'common-knowledge-join-flow-js', "http://localhost:3000/bundle.js", [], time(), @@ -48,7 +48,7 @@ private static function registerScripts() ); } else { wp_enqueue_script( - 'ck-join-block-js', + 'common-knowledge-join-flow-js', plugins_url($joinFormJavascriptBundleLocation, __DIR__), [], filemtime("$directoryName/$joinFormJavascriptBundleLocation"), @@ -63,7 +63,7 @@ private static function registerScripts() $content = $post ? apply_filters('the_content', $post->post_content) : ''; if (!str_contains($content, 'ck-join')) { - wp_dequeue_script('ck-join-block-js'); + wp_dequeue_script('common-knowledge-join-flow-js'); } }); } @@ -82,7 +82,7 @@ private static function registerJoinHeaderBlock() $image_field = Field::make('image', 'image'); $image_field->set_value_type('url'); /** @var Block_Container $join_header_block */ - $join_header_block = Block::make(__('CK Join Page Header', 'ck-join-block')) + $join_header_block = Block::make(__('CK Join Page Header', 'common-knowledge-join-flow')) ->add_fields(array( Field::make('text', 'title')->set_help_text('Use e.g. [first_name:member] to insert [url_query_parameter:default]'), $image_field, @@ -128,7 +128,7 @@ private static function registerJoinFormBlock() $joined_page_association = Field::make( 'association', 'joined_page', - __('Page to redirect to after joining', 'ck-join-block') + __('Page to redirect to after joining', 'common-knowledge-join-flow') )->set_required(true); $joined_page_association->set_types(array( array( @@ -142,7 +142,7 @@ private static function registerJoinFormBlock() ->set_help_text('Leave blank to use the default plans from the settings page.'); /** @var Block_Container $join_form_block */ - $join_form_block = Block::make(__('CK Join Form', 'ck-join-block')) + $join_form_block = Block::make(__('CK Join Form', 'common-knowledge-join-flow')) ->add_fields(array( Field::make('separator', 'ck_join_form', 'CK Join Form'), $joined_page_association, @@ -199,7 +199,7 @@ private static function registerJoinLinkBlock() $join_page_association = Field::make( 'association', 'join_page', - __('Join Us Page (with CK Join Form block)', 'ck-join-block') + __('Join Us Page (with CK Join Form block)', 'common-knowledge-join-flow') )->set_required(true); $join_page_association->set_types(array( array( @@ -209,7 +209,7 @@ private static function registerJoinLinkBlock() ))->set_max(1); /** @var Block_Container $join_form_block */ - $join_form_block = Block::make(__('CK Join Form Link', 'ck-join-block')) + $join_form_block = Block::make(__('CK Join Form Link', 'common-knowledge-join-flow')) ->add_fields(array( Field::make('text', 'title'), Field::make('rich_text', 'introduction'), @@ -258,7 +258,7 @@ private static function registerMinimalJoinFormBlock() $joined_page_association = Field::make( 'association', 'joined_page', - __('Page to redirect to after joining', 'ck-join-block') + __('Page to redirect to after joining', 'common-knowledge-join-flow') )->set_required(true); $joined_page_association->set_types(array( array( @@ -272,7 +272,7 @@ private static function registerMinimalJoinFormBlock() ->set_help_text('Leave blank to use the default plans from the settings page.'); /** @var Block_Container $join_form_block */ - $join_form_block = Block::make(__('Minimalist Join Form', 'ck-join-block')) + $join_form_block = Block::make(__('Minimalist Join Form', 'common-knowledge-join-flow')) ->add_fields(array( Field::make('separator', 'ck_join_form', 'Minimalist Join Form'), $joined_page_association, diff --git a/packages/join-block/src/Services/JoinService.php b/packages/join-block/src/Services/JoinService.php index 7929951..34be62c 100644 --- a/packages/join-block/src/Services/JoinService.php +++ b/packages/join-block/src/Services/JoinService.php @@ -18,7 +18,10 @@ class JoinService // Meaning 2021-12-25 for Christmas Day, 25th of December 2021. private static function formatDateForChargebee($day, $month, $year) { - return Carbon::createFromDate($year, $month, $day)->toDateString(); + # Create date at 12pm UTC to avoid timezone issues changing the printed date + $date = new \DateTime('1970-01-01T12:00:00Z'); + $date->setDate($year, $month, $day); + return $date->format('Y-m-d'); } public static function handleJoin($data) @@ -335,6 +338,11 @@ private static function handleChargebee($data, $billingAddress) "phone" => $data['phoneNumber'], ]; + if (!empty($data['dobDay'])) { + $formattedDateOfBirth = self::formatDateForChargebee($data['dobDay'], $data['dobMonth'], $data['dobYear']); + $chargebeeCreditCardPayload["cf_birthdate"] = $formattedDateOfBirth; + } + if ($data['howDidYouHearAboutUs'] !== "Choose an option") { $joinBlockLog->info( 'Customer has given how did you hear about us details: ' . $data['howDidYouHearAboutUs'] @@ -456,7 +464,6 @@ private static function createDirectDebitChargebeeCustomer($data, $billingAddres global $joinBlockLog; $joinBlockLog->info('Creating Direct Debit Chargebee Customer'); - $formattedDateOfBirth = self::formatDateForChargebee($data['dobDay'], $data['dobMonth'], $data['dobYear']); $directDebitChargebeeCustomer = [ "firstName" => $data['firstName'], "lastName" => $data['lastName'], @@ -469,9 +476,13 @@ private static function createDirectDebitChargebeeCustomer($data, $billingAddres "reference_id" => $subscription->id, ], "billingAddress" => $billingAddress, - "cf_birthdate" => $formattedDateOfBirth, ]; + if (!empty($data['dobDay'])) { + $formattedDateOfBirth = self::formatDateForChargebee($data['dobDay'], $data['dobMonth'], $data['dobYear']); + $directDebitChargebeeCustomer["cf_birthdate"] = $formattedDateOfBirth; + } + if ($data['howDidYouHearAboutUs'] !== "Choose an option") { $directDebitChargebeeCustomer['cf_how_did_you_hear_about_us'] = $data['howDidYouHearAboutUs']; $joinBlockLog->info( diff --git a/packages/join-block/src/Settings.php b/packages/join-block/src/Settings.php index deeee70..5e2e008 100644 --- a/packages/join-block/src/Settings.php +++ b/packages/join-block/src/Settings.php @@ -20,7 +20,7 @@ class Settings public static function init() { /** @var Select_Field $gc_environment_select */ - $gc_environment_select = Field::make('select', 'gc_environment', __('GoCardless Environment', 'ck-join-block')); + $gc_environment_select = Field::make('select', 'gc_environment', __('GoCardless Environment', 'common-knowledge-join-flow')); $gc_environment_select->set_options(array( 'sandbox' => 'Sandbox', 'live' => 'Live', diff --git a/packages/join-flow/.babelrc b/packages/join-flow/babel.config.json similarity index 100% rename from packages/join-flow/.babelrc rename to packages/join-flow/babel.config.json diff --git a/packages/join-flow/scss/fonts/BebasNeue-Regular.woff2 b/packages/join-flow/scss/fonts/BebasNeue-Regular.woff2 deleted file mode 100644 index b4099a99a60866a6f5633f9e67daf0a6394916ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21760 zcmV(@K-Rx^Pew9NR8&s@096103;+NC0HoLe093F50ssI200000000000000000000 z0000DfwnsubQ{PX9GPYYU;vK<0X7081CM9~1_h1+2Ot{&q({(gTb6Z!bdv#){cf7t zgv!{-o;gd< z9j2Jg;31-^S*ewon455foucA-9ixfN(Q$8ARqGV5h$AsYVRJ*j>V01__Kb;Rc%|jc zFfg>;3{5c;x4D_`q0oh4!1Q-cOiX+pC)KZv`PoD zsByhRe|B_HIKLabnQ%Jl1&g2PivOZe!d>OP^d3a-JgM%~henW~;Go_>3d#^y9%ne} z&+>v9DZZ}q0jQ2FGg4g77_$D?=Nd1yb>(M4KFZr6C~ds%TJAtRRNP0*L*I0*WJ2&fr~M7Pg6Oj)=5M zjMosLs2}6AXWs#lkf#Iefc2>W`jn3%C?82=F{?RowV~IT7y=eM|Ngz6*0V8EX7y^ ztDuHzD&~Ix06ZU8`}^K@+?Qqn#(B|B0!@@)qG^9RecPC2d1I<9iEdBSH2fRfpVDLy zptF!TN!Z7-XIU}~QwH^l8m8Ub@|%@EfGN&Mp%e-LKb(7wDJ5<1zoc}RPc#CuQxgj9 z^ekyPBi9Sy&7S#x=D5`Xvpxp*GC-A(ro>%~2+Yu0BbsHk0!{)>~KXvdRPN;bf zWhp`~0D&u;W%{kT^%_XVwfSL97$iC{Q|!nN9cgEF|1{S-2dvxE1MBx#&oZo}hm{@x zA`@ihdp#gzwlj0)a!8Olw4(qxi8)AIxywoD|I=BvBd<1#LEfagE>Kj!W#>O5!$>lW z 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 diff --git a/packages/join-flow/scss/fonts/Helvetica LT 57 Condensed.ttf b/packages/join-flow/scss/fonts/Helvetica LT 57 Condensed.ttf deleted file mode 100644 index 1fadc45740888f5dfdf0ee580018c5c0b40e3001..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39520 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 VZ9jzGEC&>a*d~-80<}E!{{Y8fRr3G< diff --git a/readme.md b/readme.md index c998e78..819e268 100644 --- a/readme.md +++ b/readme.md @@ -60,6 +60,10 @@ In order to deploy this work, you need to create a WordPress plugin and add it t 2. Run `sh scripts/package.sh` on linux this can be run as `./scripts/package.sh`. This will create zip files of the WordPress plugin and theme in the root directory. 3. Upload them to a WordPress site and activate both. +Note: the deployment script deletes this directory: `vendor/giggsey/libphonenumber-for-php/src/geocoding` because it is too large. +If someday we want to use the libphonenumber-for-php geocoding feature, we will need to restore the directory, and find +another way to reduce the size of the plugin zip (max 10MB). + ## Developer quickstart ### Running the whole system as a WordPress site diff --git a/scripts/package.sh b/scripts/package.sh index fc5da45..18c4930 100755 --- a/scripts/package.sh +++ b/scripts/package.sh @@ -15,26 +15,32 @@ cd packages/join-flow NODE_ENV=production && npm i && npm run build cd ../.. -echo "Installing dependencies" -cd packages/join-block -composer install -cd ../.. - echo "Copying WordPress plugin files" -cp -r packages/join-block/ dist/join-block -cd dist/join-block +cp -r packages/join-block/ dist/common-knowledge-join-flow +cd dist/common-knowledge-join-flow rm -f .env .env.example -rm -rf logs node_modules wordpress +# Reduce vendor directory size +rm -rf logs/debug-* node_modules vendor wordpress +composer install --no-dev +# Remove files banned by WordPress +rm -f vendor/mailchimp/marketing/git_push.sh cd ../.. echo "Copying front-end source files (to meet WordPress guidelines)" -cp -r packages/join-flow/ dist/join-block/build-src -cd dist/join-block/build-src +cp -r packages/join-flow/ dist/common-knowledge-join-flow/build-src +cd dist/common-knowledge-join-flow/build-src rm -f .env .env.example rm -rf node_modules cd ../.. -echo -n "Zipping..." -zip -r -q ck-join-block join-block -mv ck-join-block.zip .. -echo "done" +echo "Zipping..." +zip -r -q common-knowledge-join-flow common-knowledge-join-flow + +if [ $(wc -c < "common-knowledge-join-flow.zip") -gt $((10 * 1024 * 1024)) ]; then + echo "Warning: file is larger than 10MB!" +else + echo "File is smaller than 10MB, well done!" +fi + +mv common-knowledge-join-flow.zip .. +echo "Done."