woocommerce/plugins/woocommerce-admin
Joshua T Flowers 685c012dfe Add transient notices feature (https://github.com/woocommerce/woocommerce-admin/pull/6809)
* Add PluginInstaller class

* Redirect to referring page if one exists

* Store message and show after redirect

* Add transient notices feature

* Fix default and empty state of notices

* Use TransientNotices to display plugin notices

* Add transient notices readme

* Add feature unit tests

* Update notice queue client-side

* Add filter to queued option prior to notice creation

* Use the core/notices2 data store

* Fix filtered queued notices

* Add methods to get individual notices and queue

* Allow user ID specific notices

* Remove errant script asset dependencies

* Add user ID property to docs

* Use preloaded option instead of window var

* Refactor transient notices to directly use option instead of state

* Show error message from WP_Error in plugin installer

* Add tests around notice queue in client

* Add changelog entry
2021-05-13 09:08:31 -04:00
..
.github Lock file maintenance (https://github.com/woocommerce/woocommerce-admin/pull/6959) 2021-05-11 14:01:24 +12:00
bin Add dry run option for the release script (https://github.com/woocommerce/woocommerce-admin/pull/6946) 2021-05-13 09:26:12 -03:00
client Add transient notices feature (https://github.com/woocommerce/woocommerce-admin/pull/6809) 2021-05-13 09:08:31 -04:00
config Add transient notices feature (https://github.com/woocommerce/woocommerce-admin/pull/6809) 2021-05-13 09:08:31 -04:00
docker Update docker test suite readme (https://github.com/woocommerce/woocommerce-admin/pull/6783) 2021-04-12 17:04:06 -03:00
docs Add transient notices feature (https://github.com/woocommerce/woocommerce-admin/pull/6809) 2021-05-13 09:08:31 -04:00
images Replace marketing extension - Google Listings and Ads (https://github.com/woocommerce/woocommerce-admin/pull/6939) 2021-05-10 10:56:47 +01:00
includes Fix use of feature checks and remove deprecated method calls (https://github.com/woocommerce/woocommerce-admin/pull/6687) 2021-03-26 13:00:05 -04:00
languages Master -> main. (https://github.com/woocommerce/woocommerce-admin/pull/4618) 2020-06-17 13:39:41 -04:00
packages Adding Slotfill extension components for remote payments (https://github.com/woocommerce/woocommerce-admin/pull/6932) 2021-05-11 09:36:56 -07:00
src Add transient notices feature (https://github.com/woocommerce/woocommerce-admin/pull/6809) 2021-05-13 09:08:31 -04:00
storybook Fix storybook example for the experimental list components. (https://github.com/woocommerce/woocommerce-admin/pull/6963) 2021-05-11 07:00:49 -06:00
tests Add transient notices feature (https://github.com/woocommerce/woocommerce-admin/pull/6809) 2021-05-13 09:08:31 -04:00
typings Add task hierarchy support to task item (https://github.com/woocommerce/woocommerce-admin/pull/6916) 2021-05-05 14:43:46 -03:00
.browserslistrc
.distignore Add Feature Flags (https://github.com/woocommerce/woocommerce-admin/pull/1500) 2019-02-12 15:02:02 -05:00
.editorconfig Remove Trailing Whitespace in `readme.txt` (https://github.com/woocommerce/woocommerce-admin/pull/6940) 2021-05-11 13:41:45 +08:00
.eslintignore Add initial end to end test suite (https://github.com/woocommerce/woocommerce-admin/pull/5028) 2020-09-04 14:31:09 +12:00
.eslintrc.js Add recommended payment methods (https://github.com/woocommerce/woocommerce-admin/pull/6760) 2021-04-20 14:17:19 -03:00
.gitattributes Update Paths to Exclude from Composer (https://github.com/woocommerce/woocommerce-admin/pull/6642) 2021-04-09 07:50:59 +08:00
.gitignore Update E2E config to support screenshots on test failure (https://github.com/woocommerce/woocommerce-admin/pull/6858) 2021-04-26 13:41:38 -03:00
.nvmrc Add nvmrc for newest lts release (https://github.com/woocommerce/woocommerce-admin/pull/1108) 2018-12-18 16:06:27 -06:00
.prettierrc.js Update @wordpress/eslint-plugin dependency to latest version. (https://github.com/woocommerce/woocommerce-admin/pull/5856) 2021-01-26 13:24:28 +13:00
.stylelintignore CSS Linting: Exclude Storybook CSS (https://github.com/woocommerce/woocommerce-admin/pull/6785) 2021-04-13 10:03:44 +12:00
.stylelintrc.json Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
.wp-env.json Add docker setup using WP-ENV (https://github.com/woocommerce/woocommerce-admin/pull/6448) 2021-03-02 13:13:21 -08:00
CONTRIBUTING.md Add some guidelines on changelog and testing instructions. (https://github.com/woocommerce/woocommerce-admin/pull/6653) 2021-03-25 11:28:13 +13:00
Gruntfile.js Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
LICENSE.md update to consistent license 2019-05-16 13:14:03 -03:00
README.md Add dry run option for the release script (https://github.com/woocommerce/woocommerce-admin/pull/6946) 2021-05-13 09:26:12 -03:00
SECURITY.md Add a security doc based on other woocommerce repos (https://github.com/woocommerce/woocommerce-admin/pull/6931) 2021-05-06 09:20:41 +12:00
TESTING-INSTRUCTIONS.md Fix an issue with OBW when wc-pay and Jetpack are both being installed (https://github.com/woocommerce/woocommerce-admin/pull/6957) 2021-05-07 14:22:12 -05:00
babel.config.js Add Typescript and page objects to E2E suite (https://github.com/woocommerce/woocommerce-admin/pull/6582) 2021-03-17 16:22:09 -03:00
chunk-src-version-param.js Remove dynamic content hash from chunk names. (https://github.com/woocommerce/woocommerce-admin/pull/5229) 2020-10-06 08:58:15 -04:00
composer.json Add support for php8 unit tests (locally and in GH actions) (https://github.com/woocommerce/woocommerce-admin/pull/6678) 2021-04-07 14:28:03 -03:00
composer.lock Add support for php8 unit tests (locally and in GH actions) (https://github.com/woocommerce/woocommerce-admin/pull/6678) 2021-04-07 14:28:03 -03:00
docker-compose.yaml Add initial end to end test suite (https://github.com/woocommerce/woocommerce-admin/pull/5028) 2020-09-04 14:31:09 +12:00
lerna.json Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13:00
license.txt include license.txt and update component package.json files 2019-05-18 01:19:20 -03:00
lint-staged.config.js Improve the pre-commit hook setup for wc-admin (https://github.com/woocommerce/woocommerce-admin/pull/5233) 2020-10-02 17:38:13 +13:00
package-lock.json Update dependency terser-webpack-plugin to v2.3.8 2021-05-12 05:01:15 +00:00
package.json Update dependency terser-webpack-plugin to v2.3.8 2021-05-12 05:01:15 +00:00
phpcs.xml.dist Bump PHP test version to 7.0 in PHPCS config (https://github.com/woocommerce/woocommerce-admin/pull/6706) 2021-03-31 07:42:56 +08:00
phpunit.xml.dist Update PHPUnit to version 7 (https://github.com/woocommerce/woocommerce-admin/pull/3571) 2020-01-16 10:03:44 -04:00
readme.txt Add transient notices feature (https://github.com/woocommerce/woocommerce-admin/pull/6809) 2021-05-13 09:08:31 -04:00
renovate.json Adjust renovate to automerge devDependencies. (https://github.com/woocommerce/woocommerce-admin/pull/4979) 2020-08-14 13:11:09 +12:00
tsconfig.json Add typescript to Nav utils (https://github.com/woocommerce/woocommerce-admin/pull/6477) 2021-03-18 16:38:38 +13:00
uninstall.php Fix usage of "package" tag in file headers (https://github.com/woocommerce/woocommerce-admin/pull/4940) 2020-08-11 16:18:47 -03:00
unminify.js Use Route based code splitting to optimize bundle size (https://github.com/woocommerce/woocommerce-admin/pull/4094) 2020-04-29 12:01:27 -06:00
webpack.config.js Making experimental package public and updating its dependency versions (https://github.com/woocommerce/woocommerce-admin/pull/6810) 2021-04-16 15:34:15 +12:00
woocommerce-admin.php Bump main to 2.3.0-dev (https://github.com/woocommerce/woocommerce-admin/pull/6661) 2021-03-25 19:26:46 -04:00

README.md

WooCommerce Admin

This is a feature plugin for a modern, javascript-driven WooCommerce Admin experience.

Prerequisites

WordPress 5.4 or greater and WooCommerce 4.8.0 or greater should be installed prior to activating the WooCommerce Admin feature plugin.

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.

Development

After cloning the repo, install dependencies:

  • npm install to install JavaScript dependencies.
  • composer install to 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.zip will 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

Testing

End-to-end tests

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 http://localhost:8084

All the commands from @woocommerce/e2e-environment can be run through npx.

# 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

Common Issues

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.

Privacy

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.

Contributing

There are many ways to contribute reporting bugs, adding translations, feature suggestions and fixing bugs. For full details, please see CONTRIBUTING.md