woocommerce/packages/js/create-product-editor-block
Ron Rennick 4fa2e3822c
Update the monorepo to node v20 (#45148)
* test bumping node to v18

* remove community contributor condition from review assignment

* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai

* bump node to v20

* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/admin-e2e-tests, packages/php/remote-specs-validation, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai

* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai

* add blocks eslint-plugin-woocommerce to project workspace

* add e2e-environment as a peer to e2e-utils

* restore version on @woocommerce/api

* update lock file

* move e2e-environment to devDependencies

* add undefined location check to admin js test

---------

Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-04-12 13:49:55 -03:00
..
block-templates [create-product-editor-block] Fix product editor block registration (#44194) 2024-02-05 15:59:39 -05:00
changelog Update the monorepo to node v20 (#45148) 2024-04-12 13:49:55 -03:00
plugin-templates Update template to use new function register_block_type_from_metadata (#42711) 2023-12-13 10:38:33 -03:00
.gitignore Add gitignore to package and update package.json (#39007) 2023-06-28 18:18:02 -03:00
CHANGELOG.md Prepare create-product-editor-block for 1.3.0 (#42844) 2023-12-15 10:31:05 -03:00
README.md Add @woocommerce/create-product-editor-block package (#38263) 2023-05-26 08:16:57 -04:00
composer.json bump php version in packages/js/*/composer.json (#42020) 2024-01-04 10:18:34 -04:00
composer.lock Add @woocommerce/create-product-editor-block package (#38263) 2023-05-26 08:16:57 -04:00
index.js Add @woocommerce/product-editor as an npm devDependency to create-product-editor-block (#41886) 2023-12-07 16:12:18 -03:00
package.json Update the monorepo to node v20 (#45148) 2024-04-12 13:49:55 -03:00

README.md

@woocommerce/create-product-editor-block

Create Product Editor Block scaffolds a fully functional modern development environment for developing block-based extensions to the new block-based product editor in WooCommerce.

Default tooling

You can use the built-in wp-env support to easily get a local WordPress environment up and running. It is configured to load the latest released version of WordPress, the latest WooCommerce nightly build and the latest version of the WooCommerce Beta Tester.

If you want to change which version of WordPress and WooCommerce are used, you can do so by modifying the .wp-env.override.json file.

Tooling support for linting, code formatting, and compilation are configured by default.

If you already have a local WordPress development environment configured, you can map the generated project folder under your plugins folder.

Usage

Generate project folder

npx @wordpress/create-block --template @woocommerce/create-product-editor-block my-extension-name

Get started developing

cd my-extension-name
npx wp-env start # Start Wordpress environment

By default, the wp-env environment created will have the new block-based product editor enabled. You can disable this by using the WooCommerce Beta Tester (disable the product-block-editor feature).

Navigate to http://localhost:8888/wp-admin/admin.php?page=wc-admin&path=%2Fadd-product to check out your new block!

Make changes and re-build your block

cd my-extension-name
npm install # Install dependencies
npm run build # Build the javascript

Development of this tool

For development of this tool itself, you can also point to a local directory when creating a product editor block:

npx @wordpress/create-block --template ./path/to/woocommerce/packages/js/create-product-editor-block my-extension-name

This tool is a template to be used with @wordpress/create-block to create a WooCommerce Product Editor Block starting point.