* Disregard invalid slug
* Change logic for invalid slug -- plugin dir with the slug must exist
* Use put_contents correctly
---------
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add blueprint package
* Add blueprint to composer
* Register blueprint cli commands
* Add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* Update packages/php/blueprint/src/Exporters/HasAlias.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update packages/php/blueprint/src/Exporters/ExportInstallThemeSteps.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update packages/php/blueprint/src/UseWPFunctions.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Set destination correctly
* Make sure the given path is within wp content dir
* Remove debug code
* Fix typo
* Fix typo
* Fix lint errors with README
* Move READMD.md from src to the root directory and add development.md
* Add run-unit-tests.sh
* Setup test env
* Create dirs recursively
* Remove debug code
* Update packages/php/blueprint/src/Util.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update packages/php/blueprint/src/ZipExportedSchema.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Check for steps key
* Use if statement
* Add hook comment for wooblueprint_exporters and wooblueprint_importers
* Fix plugin activation condition
* Check for download_link -- it can be empty
* Check to make sure a file was written
* Plugin must be deactivated before attemping to delete it
* Lint fixes
* Lint fixes
* blueprint - add rest api (#49765)
* Add blueprint rest api endpoint
* Rename process to import
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Init.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Remove unavailable 2nd argument from get_param -- default values are already set from the rest api def.
* blueprint - add builder page (#49774)
* Add blueprint builder page
* Change to the correct endpoint
* Add changefile(s) from automation for the following project(s): woocommerce
* Note that the builder intro page is temporary
* Remove unused code
---------
Co-authored-by: github-actions <github-actions@github.com>
* blueprint - add blueprint settings page (#49775)
* Add blueprint settings page
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix broken test
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update unit test env
* Added composer scripts to setup and run tests
* Moved tests to Unit dir to make space for Integration tests later
* WIP Add tests
* Use full if statement
* Use the correct step names
* Use activate_plugin and wp_get_thmes from wp functions trait
* Skip inactive plugins
* Use plural for collections
* Add a comment for StepExporter
* Remove unused construct code
* Correct function return types
* Update packages/php/blueprint/src/Importers/ImportActivateTheme.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Use full if statement
* Make sure plugin is installed
* Use functions from trait
* Remove unused functions
* Pass $force_convert correctly
* Correctly assign $this->validator
* Fix lint issues
* Rename setOptions to setSiteOptions
* Do not use die() -- throw an exception instead
* Make sure slug is a valid WP plugin slug
* Remove hardcoded string with get_step_name()
* Fix lint issues
* Update json example files
* Removed woo-specific examples -- these should be placed in the core
* Updated the built-in steps to reflect the recent changes
* Update packages/php/blueprint/src/docs/json-examples/deletePlugin.json
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Rename to correct filename
* Set version number
* Use mime_content_type for checking mime type
* Catch all exceptions
* Only allow zip and json
* Remove unused function
* Remove unused functions
* Add PHPCS command and ruleset
* PHP lint fixes
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Init.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add back removed functions
* blueprint - Add woo blueprint exporters and importers (#50057)
* Add woo blueprint exporters and importers
* Comment fix
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Add a test for ImportSetWCTaxRates
* Lint fixes
* Lint fixes
* Fix setWCShipping schema and data format
* Add woocommerce_default_country option
* Lint fixes
* Fix typo -- it should be decode, not encode
* Fix incorrect argument order
* Fix typo
* Export and import shipping method settings
* Lint fixes
* Lint fixes
* Type functions -- base PR has changed
---------
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Require admin for import and export
* Use mime type from $_FILES -- mime_content_type can return incorrect mime type depending on the system configuration
* Enable export button when backend errors out
* Enable export button when backend errors out
* Allow WooCommerce export
* Change copy text
* Remove redundant check
* Fix lint issues
* Fix lint issues
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Add validation for global_unique_id in classic editor
* Fix an issue with validations in the text block
* Replace everything that is not number or hyphen in the product API
* Add pattern validation in the product and variation templates
* Add changelogs
* Increment regex to also accept empty string
* Fix e2e test
* Update update-stricter-global-unique-id
* Refactor to add steps in 'can create a simple product' test
* Remove unnecessary await
* Fill in shipping dimensions
* Add frontend verification step
* Get permalink from editor page
* Verify shipping dimensions
* Verify sku and gtin
* Fix label association for sku field
* Fill in shipping class
* Fill custom field
* Handle SKU auto-update before filling in SKU
* Changelog
* Changelog
* Add more specific locator for attributes "Add new" button
* Update comment for why click() is used instead of check() for toggle
* Fix incorrect selector for attributes "Add new" button
* Remove check for toggle being checked, as it is flaky
* Await isChecked()
* Scroll custom fields toggle into view if needed
* Make custom field toggling more reliable
* Break filling into a separate step
* Break filling and verifying of full description into separate steps
* Verify the description and fix verifying shipping details
* Make showing of description toolbar more reliable
* Suppress errant warning
* Suppress warning for conditional and add comment about why it is okay
* Remove unused const
* Fix image gallery state conflict with external consumer state
* Fix the image gallery removal conflict now that the image gallery is stateless
* Add changelog files
* Ignore the media if it is replaced by itseft
* Make use of GB Combobox for the product select
* Update E2E tests
* Add changelog
* Small CSS changes
* Fix create variable product E2E test
* Add changelogs
* Use our internal wrapper of the combobox
* A couple small fixes
* Fix bug and address feedback
* Address small formatting in comments
* Move search products back to consolidated function
* Add bumpStat and fix tests
* Add changelog
* chore: Update dependencies and add @woocommerce/tracks for remote logging
* feat: Track frequency of unhandled JS errors with bumpStat
* chore: Update error boundary to log unhandled JS errors with bumpStat
* Add changelog
* Fix lint
* Check if tracks is enabled before bumping stats
* Fix test
* Fix lint
* chore: Refactor buildQuerystring to buildQueryParams for clarity and consistency
* Add bumpStat to wc tracks mock
* Update README.md
* Add changefile(s) from automation for the following project(s): @woocommerce/api
* Update heading to fix lint failure
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
* Commit at a functional state
* Change role to 'listbox'
* Add --highlighted class rules
* Fix overflow in create category modal
* Add countNumberOfItems
Fix multiple bugs
Refactor
Rename and move use-linked-tree file to linked-tree-utils
* Add comments
* Escape regExp
* Allow to select/remove with the enter key
* Add changelogs
* Fix unit tests
* Fix bug on css selector, since role was changed
* Fix bug in index calculation and handle focus on checkboxes and expander button correctly
* Only add activedescendant when something is highlighted
preventDefault when pressing arrowUp
* Fix bug: items array was being used instead of using linked tree
* Call onSelect when pressing enter
* Add guards to prevent tests breaking
* Add additional tests for SelectTree
* Add comments and rename some functions in linked-tree-utils
* Add changelogs to trigger version bumps in packages
* Don’t update already updated packages
* Don’t update other packages
* extend-cart-checkout-block has been released
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Create combobox-control
* Exporting the combobox control
* Integrate the combobox control into the custom field names component
* Remove some non needed styles
* Add changelog file
* Fix comment text typo
Co-authored-by: louwie17 <lourensschep@gmail.com>
* Fix linter errors
---------
Co-authored-by: louwie17 <lourensschep@gmail.com>
* Rename Google Listings and Ads with Google for WooCommerce
* Revert change regarding changelog
* Add changelogs
* Add changefile(s) from automation for the following project(s): @woocommerce/data, packages/php/remote-specs-validation, woocommerce
* Lint
* Lint
* Lint
* Rename Google Listings and Ads with Google for WooCommerce
* Lint
* Lint
* Tweak updated tests
* Add changefile(s) from automation for the following project(s): @woocommerce/data, packages/php/remote-specs-validation, woocommerce
* Lint
* Fix flaky tests
---------
Co-authored-by: github-actions <github-actions@github.com>
In this PR, we are consolidating babel-loader caching and adding Jest caching, improving build/testing times locally and in CI. The improvement comes from cache covering transpile steps in the mentioned processes.
* Add media query rules for mobile and fix rule for .block-editor-list-view-tree
* Add missing translation call
* Add small screen title to show product name on mobile
* Add changelog
* Add media-query for inserter-sidebar
* Close inserter when is mobile viewport
* Hide help text in create-taxonomy-modal
* Expose onKeyDown and onBlur events in SelectedItems
* Increment isEventOutside function to consider remove button tags as well
* Add label to remove all button
* Handle navigation between added items and input using tab and arrow keys
* Add changelogs
* Prevent unwanted scroll
* Revert change in product editor and fix issue in component itself
* Change onKeyDown and onBlur to optional
* Move tags navigation to selectedItems and create lastRemoveButtonRef to avoid long CSS query
* Small refactor
* use useImperativeHandle hook in SelectedItems to abstract focusing on last remove button