* Removed Jetpack Changelogger from test js packages as they follow another approach for handling changelogs.
* Removed composer.json from api-core-tests, e2e-core-tests, e2e-environmnet and e2e-utils as they are no longer needed.
* Removed postinstall script from api-core-tests, e2e-core-tests, e2e-environment and e2e-utils packages, since they will no longer have a composer.json file.
- The woocommerce_custom_orders_table_enabled option can now be manually
altered even if there are orders out of sync
- Saving settings will always restart the sync process, even if one
is already in progress
- Add the woocommerce_orders_cot_and_posts_sync_step_size filter
By default, TypeScript looks for type roots in
parent node_modules directories. We can't
do this because there are React types
that cause errors. This commit explicitly
defines the type roots for the package to avoid
that behavior.
The cached theme data has some properties that depend on WooCommerce.
This could also extend to extensions. Since we don't have a reliable way
to know if a given plugin is a WooCommerce extension, any plugin update
should flush the cache.
If someone updates their theme outside of the WordPress update process
(by manipulating files directly) the cache won't be invalidated. To deal
with that, we're setting the TTL here to 1hr.
Using _fields, we can specify a sub-property like environment.version.
In that case, we need to extract the top-level property so we known
which function to run.
Generating theme info involves reading the theme files from disk and
parsing them.
In testing, caching this data in a transient improves performance by
600ms. Since themes changes relatively infrequently, the cache hit rate
should be quite high.
We're registering the cache clean function in Server.php because
rest_api_init is too late.
The system status endpoint supports the global `_fields` query parameter
for limiting which fields are returned. That is, if you send a request
with a query string of `?_fields=environment`, only the environment
property will be returned. However, we still calculate every property.
This change ensure that we only gather the data that is necessary for
the response. Since some of this data can be somewhat slow (like reading
from the disk in the case of get_theme_info), this could have a pretty
nice performance benefit in some cases.