With the upgrade of the Emogrifier package we can't use the Emogrifier
class, since it was removed in v4 (we need to use at least v5 for
compatibility with PHP 8); so we now use the CssInliner class.
Note that this is a potential breaking change for consumers of the
woocommerce_emogrifier hook, which was getting an Emogrifier object
as parameter (now it gets a CssInliner object, which is partially
compatible).
Fix tests where PHPUnit 8 would throw "this method is deprecated
and will be removed in PHPUnit 9, use this other one instead"
warnings, by replacing all those with the proper ones. This will help
once we are able to use PHP 8 (once WP requirement is bumped to 5.9)
This includes:
- Changing "Requires PHP" in woocommerce.php
- Changing "require-php" and "config-platform-php" in composer.json
- Bumping pelago/emogrifier to ^6.0 in composer.json
- Bumping maxmind-db/reader to ^1.6 in composer.json
- Bumping composer/installers to ^1.9 in composer.json
(bump to 2.0 not possible due to conflict with Admin package)
- Removing jobs for 7.0/.1 unit test runs in CI
- Explicitly specifying the PHPUnit version to be 7.5,
otherwise it will install v8 which isn't compatible with
WordPress <5.9
Adding a `woocommerce_generate_{$type}_html` action hook allows to generate the HTML output of a custom field type for those classes extending the `WC_Settings_API` (e.g. `WC_Email`).
Since the smoke and E2E tests don't use `nx` commands to build, we need to make sure
that the command they run builds our dependencies. In the future we should change
all of the scripts and Nx executors to make this all simpler.
This commit removes the WooCommerce Admin package from Core. The
result of this change is that the code for WooCommerce Admin will come
from the included content, rather than the previous package.
This commit moves all of the PHP code from `plugins/woocommerce-admin`
to its new home in `plugins/woocommerce`.
- `plugins/woocommerce-admin/src` -> `plugins/woocommerce/src/Admin`
- `plugins/woocommerce-admin/src-internal` -> `plugins/woocommerce/src/Internal`
- `plugins/woocommerce-admin/includes` -> `plugins/woocommerce/includes/react-admin`