ed483ab43d
* Create the new experimental list, default to rendering it when items are not supplied. * Remove typings from the List, ListItem. * Add react-transition-group as dependency. * Fix warnings by wrapping with CSS transition, pass down props from List. * Remove type annotations left in list-item. * Duplicate some styles in the higher level woocommerce-list-item element, to make them work in the new list. * Fix accessibility issues, adjust the role logic * Add more testing of the roles logic. * Mark the old list stories as deprecated, add a basic story for the new style. * Expose ListItem without Experimental in the name. * Remove some redundant code changes. * Fix linting issues * Add types package. * Cast the type of children to TransitionGroup. * Adjust the list to assume a purpose of being a list of links. * Adjust the tests for the new behaviour. * Fix css mangled by prettier. * Fix types that are optional. * Rework the list item. * Export new list as experimental, fix accessibility styles and deprecation notice. * Make the basic transition opt-in. * Update classnames to get types. * Add tests, adjust behaviour for css disable. * Fix css lint, remove types/classnames, update tetsing-library/user-event. * Fix the basic story for ExperimentalList. * Conditionally add keyDown and role based on onClick handler. Adjust tests to new behaviour. * tabIndex only on hasAction * Update the package-lock * Add changelog * Fix transition styling Co-authored-by: Paul Sealock <psealock@gmail.com> Co-authored-by: Lourens Schep <lourensschep@gmail.com> |
||
---|---|---|
.. | ||
.github | ||
bin | ||
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 | ||
TESTING-INSTRUCTIONS.md | ||
babel.config.js | ||
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.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 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)
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