765697f5e0
* Wrap notes with Card component -- Added header, badge, and cllipsis menu * Add hover state * Dismiss note immediately without prompting a confirmation (https://github.com/woocommerce/woocommerce-admin/pull/7868) * use woocommerce-admin-dismiss-notification class to target the dissmiss btn * Add changelog * Specify CSS styles so tha they dont get overridden by other plugins * Update changelog * Add is_read column * Do not update activity_panel_inbox_last_read upon viewing the homepage * Remove use of last_read variable * Return is_read field from the note api * Use is_read field and remove last_read from the test * Set is_read to true when an action is triggered * CSS changes for the read state * Apply padding and border if there are multiple actions * Remove unread indicator * Add changelog * Update changelog * Revert package-lock.json * Fix onDismiss not being called after rebasing * Check is_read before setting it to the obj -- this prevents uninteded error messages piling up in case is_read col is missing for some reason * Revert changs added by mistake during rebasing * Revert changes to package-lock.json * Remove incorrect changelog * Commit to triger Github workflows |
||
---|---|---|
.. | ||
.github | ||
bin | ||
changelogs | ||
client | ||
config | ||
docker | ||
docs | ||
images | ||
includes | ||
languages | ||
packages | ||
src | ||
storybook | ||
tests | ||
typings | ||
.browserslistrc | ||
.distignore | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.nvmrc | ||
.prettierrc.js | ||
.stylelintignore | ||
.stylelintrc.json | ||
.wp-env.json | ||
CONTRIBUTING.md | ||
Gruntfile.js | ||
LICENSE.md | ||
README.md | ||
SECURITY.md | ||
TESTING-INSTRUCTIONS.md | ||
babel.config.js | ||
changelog.txt | ||
chunk-src-version-param.js | ||
composer.json | ||
composer.lock | ||
docker-compose.yaml | ||
lerna.json | ||
license.txt | ||
lint-staged.config.js | ||
package-lock.json | ||
package.json | ||
phpcs.xml.dist | ||
phpunit.xml.dist | ||
readme.txt | ||
renovate.json | ||
tsconfig.json | ||
uninstall.php | ||
unminify.js | ||
webpack.config.js | ||
woocommerce-admin.php |
README.md
WooCommerce Admin
This is a feature plugin for a modern, javascript-driven WooCommerce Admin experience.
Prerequisites
WordPress 5.6 or greater and WooCommerce 5.7.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 versionnpm run dev
: Build a development versionnpm start
: Build a development version, watch files for changesnpm 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
Documentation
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 @woocommerce/components
.
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
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