For better debugging, it's also recommended you add
define( 'SCRIPT_DEBUG', true ); to your wp-config. This will load the unminified version of all libraries, and specifically the development build of React.
After cloning the repo, install dependencies:
composer installto gather PHP dependencies.
Now you can build the files using one of these commands:
npm run build: Build a production version
npm run dev: Build a development version
npm start: Build a development version, watch files for changes
npm run build:release: Build a WordPress plugin ZIP file (
woocommerce-admin.zipwill be created in the repository root)
DRY_RUN=1 npm run build:release: Builds a Wordpress plugin ZIP without pushing it to Github and creating a release.
For more helper scripts see here
For some debugging tools/help see here
For local development setup using Docker see here
Tests live in
./tests/e2e. An existing build is required prior running, please refer to the section above for steps. E2E tests use the
@woocommerce/e2e-environment package which hosts a Docker container for testing, by default the container can be accessed at
All the commands from
@woocommerce/e2e-environment can be run through
# Set up the e2e environment npm i npx wc-e2e docker:up
Run tests using:
npx wc-e2e test:e2e-dev
or in headless mode:
npx wc-e2e test:e2e
Run a single test by adding the path to the file name:
npx wc-e2e test:e2e-dev tests/e2e/specs/activate-and-setup/complete-onboarding-wizard.test.ts
There is documentation in 2 forms available in the repo. A static set of documentation supported by docsify and also a Storybook containing component documentation for
To view the docsify docs locally you can do:
npm install cd docs npx docsify serve
When deployed the docsify docs also host an embedded version of the storybook docs. To generate that and test it locally in docsify you'll need to run:
npm install npm run docs cd docs npx docsify serve
Then navigate to
Components from the left hand menu in the docs.
If you would like to view the storybook docs hosted standalone, then you can run:
npm install npm run storybook
If you're encountering any issue setting things up, chances are we have been there too. Please have a look at our wiki for a list of common problems.
If you have enabled WooCommerce usage tracking ( option
woocommerce_allow_tracking ) then, in addition to the tracking described in https://woocommerce.com/usage-tracking/, this plugin also sends information about the actions that site administrators perform to Automattic - see https://automattic.com/privacy/#information-we-collect-automatically for more information.
There are many ways to contribute – reporting bugs, adding translations, feature suggestions and fixing bugs. For full details, please see CONTRIBUTING.md