woocommerce/plugins/woocommerce
Raluca Stan aae056e36c
Add tests for quantity changes (#60353)
* Add tests for quantity changes

* Add changelog

* Use filter in test

* add full comment
2025-08-15 19:03:21 +02:00
..
.wordpress-org
assets [NOX In-Context] Make test account creation optional when onboarding (#59770) 2025-07-25 12:01:10 +00:00
bin Update Jetpack Connection to 6.11.6 (#58212) 2025-05-30 15:39:48 +01:00
changelog Add tests for quantity changes (#60353) 2025-08-15 19:03:21 +02:00
client [Payments NOX] Better handle sandbox accounts when activating payments in NOX in-context (#60350) 2025-08-15 16:56:04 +03:00
i18n Fix spelling of Lakshadweep in i18n file and tests. (#59295) 2025-07-01 15:26:59 +01:00
includes Add filter to disable inline css for custom html email templates to resolve Emogrifier styling issues. (#58813) 2025-08-15 14:39:41 +01:00
lib Remove the old dependency injection container and all the related infrastructure (#57966) 2025-05-21 10:21:34 +02:00
packages
patterns Update Product Image block to support inner blocks (#57586) 2025-06-02 18:59:48 +07:00
sample-data
src [Payments NOX] Better handle sandbox accounts when activating payments in NOX in-context (#60350) 2025-08-15 16:56:04 +03:00
templates Add role="status" to woocommerce-info type notices (#60253) 2025-08-08 20:35:56 +07:00
tests Add tests for quantity changes (#60353) 2025-08-15 19:03:21 +02:00
.distignore
.eslintignore Cherry pick #59830 into trunk (#59832) 2025-07-21 13:47:39 +01:00
.eslintrc.js
.gitattributes
.gitignore
.phpunit-watcher.yml
.wp-env.json Updated PHP version to 8.1 (#58755) 2025-06-23 17:33:09 +03:00
composer.json Prep trunk for 10.2 cycle (#59858) 2025-07-21 19:12:37 +01:00
composer.lock Bump Action Scheduler version to 3.9.3 (#59672) 2025-07-15 05:09:09 -07:00
license.txt
NEXT_CHANGELOG.md
package.json Prep trunk for 10.2 cycle (#59858) 2025-07-21 19:12:37 +01:00
phpcs.xml
phpunit.xml
README.md
readme.txt Update stable tag to 10.1.0 (trunk) (#60328) 2025-08-12 18:28:43 +02:00
tsconfig.json
uninstall.php Migrate all of Woo cron jobs to use action scheduler (#59325) 2025-07-17 14:29:23 +01:00
woocommerce.php Prep trunk for 10.2 cycle (#59858) 2025-07-21 19:12:37 +01:00

WooCommerce

License WordPress.org downloads WordPress.org rating Build Status codecov

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

Quick start

Ensure your system meets the requirements (TLDR: NVM, PNPM, PHP 7.4+, Composer are required for development).

Depending on the preferred environment for running the development instance of WooCommerce, you might need Docker as well. You can learn more about supported environments here.

Once you have verified the prerequisites, you can start the development environment:

## Watch for changes in WooCommerce and all of its dependencies.
pnpm --filter='@woocommerce/plugin-woocommerce' watch:build

# Start a wp-env based development environment, which will be accessible via http://localhost:8888/.
# This step is optional and you can skip it if you are running WooCommerce on a custom setup.
pnpm --filter='@woocommerce/plugin-woocommerce' env:dev

If desired, you can also run commands without --filter='@woocommerce/plugin-woocommerce' by running pnpm <command> from within the plugins/woocommerce directory.

Building Components

There are three 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 Classic CSS and jQuery code for WooCommerce.

# Build the assets.
pnpm --filter='@woocommerce/plugin-woocommerce' build:classic-assets
# Lint the assets.
pnpm --filter='@woocommerce/classic-assets' lint

plugins/woocommerce/client/admin

This directory contains the React-based admin interface.

# Build the React-based admin client.
pnpm --filter='@woocommerce/plugin-woocommerce' build:admin
# Lint the React-based admin client.
pnpm --filter='@woocommerce/admin-library' lint
# Test the React-based admin client.
pnpm --filter='@woocommerce/admin-library' test
# Watch the tests of the React-based admin client.
pnpm --filter='@woocommerce/admin-library' test:watch
# Run a type check over the React-based admin client's TypeScript files.
pnpm --filter='@woocommerce/admin-library' ts:check

plugins/woocommerce/client/blocks

This directory contains the client for WooCommerce Blocks.

# Build the Blocks client.
pnpm --filter='@woocommerce/plugin-woocommerce' build:blocks
# Lint the Blocks client.
pnpm run --filter='@woocommerce/block-library' lint
# Test the Blocks client.
pnpm run --filter='@woocommerce/block-library' test

Documentation

Reporting Security Issues

To disclose a security issue to our team, please submit a report via HackerOne here.