b4fd0c3b7b | ||
---|---|---|
.. | ||
.wordpress-org | ||
assets | ||
bin | ||
changelog | ||
client | ||
i18n | ||
includes | ||
lib | ||
packages | ||
patterns | ||
sample-data | ||
src | ||
templates | ||
tests | ||
.distignore | ||
.eslintignore | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.wp-env.json | ||
NEXT_CHANGELOG.md | ||
README.md | ||
composer.json | ||
composer.lock | ||
license.txt | ||
package.json | ||
phpcs.xml | ||
phpunit.xml | ||
readme.txt | ||
tsconfig.json | ||
uninstall.php | ||
woocommerce.php |
README.md
This is the WooCommerce Core plugin. Here you can browse the source and keep track of development. We recommend all developers to follow the WooCommerce development blog to stay up to date about everything happening in the project. You can also follow @DevelopWC on Twitter for the latest development updates.
If you are not a developer, please use the WooCommerce plugin page on WordPress.org.
Getting Started
Please make sure you follow the repository's getting started guide first!
# Make sure that WooCommerce Core and all of its dependencies are built
pnpm run --filter=woocommerce build
# Make sure you're in the WooCommerce Core directory
cd plugins/woocommerce
# Start the development environment
pnpm -- wp-env start
You should now be able to visit http://localhost:8888/
and access WooCommerce environment.
Building Components
There are two major client-side components included in WooCommerce Core that can be built, linted, and tested independently. We've organized these components in this way to take advantage of caching to prevent unnecessarily performing expensive rebuilds when only working in one of them.
plugins/woocommerce/client/legacy
This directory contains the CSS and jQuery code for WooCommerce.
# Build the assets.
pnpm run --filter=woocommerce/client/legacy build
# Lint the assets.
pnpm run --filter=woocommerce/client/legacy lint
plugins/woocommerce-admin
This directory contains the React-based admin interface.
# Build the React-based admin client.
pnpm run --filter=woocommerce/client/admin build
# Lint the React-based admin client.
pnpm run --filter=woocommerce/client/admin lint
# Test the React-based admin client.
pnpm run --filter=woocommerce/client/admin test
Helper Scripts
Here is a collection of scripts that can help when developing the React-based admin interface.
# Create a develoment build of the React-based admin client.
pnpm --filter=woocommerce/client/admin dev
# Create and watch a development build of the React-based admin client.
pnpm --filter=woocommerce/client/admin start
# Watch the tests of the React-based admin client.
pnpm --filter=woocommerce/client/admin test:watch
# Run a type check over the React-based admin client's TypeScript files.
pnpm --filter=woocommerce/client/admin ts:check
Documentation
- WooCommerce Documentation
- WooCommerce Developer Documentation
- WooCommerce Code Reference
- WooCommerce REST API Docs
Reporting Security Issues
To disclose a security issue to our team, please submit a report via HackerOne here.