woocommerce/plugins/woocommerce-blocks
Darren Ethier f3bd3e6a09 Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018)
* install directory-named-webpack-plugin

* create new plugin for fallback legacy imports

* implement webpack configuration for fallback legacy imports and legacy builds

Note: legacy builds are currently disabled, we can enable by just commenting out when we need them.

* removed unused webpack plugin experimented with in earlier iteration

* prettier fixes

* add legacy folder with readme for explanation

* add some info on legacy builds to `CONTRIBUTING.md`

* refactor imports to use new aliases

* fix link in doc

* update jest test config for new aliases

* use native string.startsWith instead of custom function

* reformat file for spacing/code style

* add slash to alias

* clean up webpack config and make things more dry

* update indent style for json files to be tab not spaces

- adjusts editorconfig rules
- reformat jest.config.json

* simplify conditional
2019-10-06 08:36:15 -04:00
..
.github Create issue_label_bot.yaml 2019-07-09 10:36:17 +01:00
assets Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018) 2019-10-06 08:36:15 -04:00
bin Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018) 2019-10-06 08:36:15 -04:00
languages Build: Add translation conversion script (https://github.com/woocommerce/woocommerce-blocks/pull/486) 2019-03-13 09:59:12 -04:00
src Load back-compat wcSettings global for old `@woocommerce/settings` package (https://github.com/woocommerce/woocommerce-blocks/pull/1017) 2019-10-04 07:40:48 -04:00
tests Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018) 2019-10-06 08:36:15 -04:00
.editorconfig Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018) 2019-10-06 08:36:15 -04:00
.eslintignore Install prettier and reformat files (https://github.com/woocommerce/woocommerce-blocks/pull/945) 2019-09-05 17:09:31 +02:00
.eslintrc.js Implement PHP DI container and refactor. Also implements new Asset data interface for extendable settings passed to js. (https://github.com/woocommerce/woocommerce-blocks/pull/956) 2019-09-23 14:07:13 -04:00
.gitattributes Create CODEOWNERS file (https://github.com/woocommerce/woocommerce-blocks/pull/1013) 2019-10-02 19:08:05 +02:00
.gitignore Add `package-plugin` script (https://github.com/woocommerce/woocommerce-blocks/pull/689) 2019-07-09 12:37:25 +01:00
.nvmrc Adds continuous integration testing with travis (https://github.com/woocommerce/woocommerce-blocks/pull/156) 2018-11-27 12:12:48 -05:00
.prettierrc Fix increment bug in withComponentId (https://github.com/woocommerce/woocommerce-blocks/pull/951) 2019-09-07 08:04:34 -04:00
.stylelintrc.json Add stylelint to find and fix css code style issues (https://github.com/woocommerce/woocommerce-blocks/pull/126) 2018-11-15 10:45:49 -05:00
.travis.yml Add bundlesize package and tweak travis config (https://github.com/woocommerce/woocommerce-blocks/pull/822) 2019-08-09 14:08:31 -04:00
CODEOWNERS Create CODEOWNERS file (https://github.com/woocommerce/woocommerce-blocks/pull/1013) 2019-10-02 19:08:05 +02:00
CONTRIBUTING.md Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018) 2019-10-06 08:36:15 -04:00
README.md add composer install to readme (https://github.com/woocommerce/woocommerce-blocks/pull/738) 2019-07-17 11:06:06 +12:00
bundlesize.config.json Install prettier and reformat files (https://github.com/woocommerce/woocommerce-blocks/pull/945) 2019-09-05 17:09:31 +02:00
composer.json Update dependency automattic/jetpack-autoloader to v1.3.2 (https://github.com/woocommerce/woocommerce-blocks/pull/990) 2019-09-25 12:25:37 +02:00
composer.lock Update dependency automattic/jetpack-autoloader to v1.3.2 (https://github.com/woocommerce/woocommerce-blocks/pull/990) 2019-09-25 12:25:37 +02:00
package-lock.json Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018) 2019-10-06 08:36:15 -04:00
package.json Update dependency cross-env to v6.0.2 (https://github.com/woocommerce/woocommerce-blocks/pull/1009) 2019-10-02 15:52:10 +02:00
phpcs.xml Move main controllers from assets/php to src (https://github.com/woocommerce/woocommerce-blocks/pull/655) 2019-07-01 13:52:44 +01:00
phpunit.xml.dist Move main controllers from assets/php to src (https://github.com/woocommerce/woocommerce-blocks/pull/655) 2019-07-01 13:52:44 +01:00
postcss.config.js Create Reviews by Product block (https://github.com/woocommerce/woocommerce-blocks/pull/658) 2019-08-15 16:55:57 +02:00
readme.txt Update version to 2.4.1 and changelog 2019-09-02 15:20:41 +02:00
renovate.json Delete interpolate-components dependency and update package-lock.json (https://github.com/woocommerce/woocommerce-blocks/pull/986) 2019-09-24 20:43:28 +02:00
webpack.config.js Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018) 2019-10-06 08:36:15 -04:00
woocommerce-gutenberg-products-block.php Implement PHP DI container and refactor. Also implements new Asset data interface for extendable settings passed to js. (https://github.com/woocommerce/woocommerce-blocks/pull/956) 2019-09-23 14:07:13 -04:00

README.md

WooCommerce Product Blocks

Feature plugin for WooCommerce + Gutenberg. Now that the product blocks have been merged into WooCommerce 3.6, this plugin serves as a space to iterate and explore how else WooCommerce might work with the block editor.

If you're just looking to use these blocks, update to WooCommerce 3.6! The blocks are bundled into WooCommerce, and can be added from the "WooCommerce" section in the block inserter.

If you want to see what we're working on for future versions, or want to help out, read on.

Table of Contents

Installing the stable version

We release a new version of WooCommerce Blocks onto WordPress.org every few weeks, which can be used as an easier way to preview the features.

  1. Make sure you have WordPress 5.0+ and WooCommerce 3.6+
  2. The stable version is available on WordPress.org. Download the stable version here.
  3. Activate the plugin.

Installing the development version

  1. Make sure you have WordPress 5.0+ and WooCommerce 3.6+
  2. Get a copy of this plugin using the green "Clone or download" button on the right.
  3. npm install to install the dependencies.
  4. composer install to install core dependencies.
  5. npm run build (build once) or npm start (keep watching for changes) to compile the code.
  6. Activate the plugin.

The source code is in the assets/ folder and the compiled code is built into build/.

Getting started with block development

Run through the "Writing Your First Block Type" tutorial for a quick course in block-building.

For deeper dive, try looking at the core blocks code, or see what components are available.

Other useful docs to explore:

Vision for the Feature

Users should be able to insert a variety of products from their store (specific products, products in a category, with assorted layouts and visual styles, etc.) into their post content using a simple and powerful visual editor.