# WooCommerce Developer Tools This guide provides an overview of essential tools and libraries for WooCommerce development. It's intended for developers looking to enhance their WooCommerce projects efficiently. ## Table of Contents - [Productivity Tools](#productivity-tools) - [Libraries](#libraries) - [Utilities](#utilities) ### Productivity Tools Use these resources to get a WooCommerce development environment up and running. #### [wp-cli](https://wp-cli.org/) This is the command-line interface for [WordPress](https://wordpress.org/). You can update plugins, configure multisite installations and much more, without using a web browser. #### [wp-env](https://www.npmjs.com/package/@wordpress/env) This command-line tool lets you easily set up a local WordPress environment for building and testing plugins and themes. It’s simple to install and requires no configuration. #### [eslint-plugin](https://www.npmjs.com/package/@woocommerce/eslint-plugin) This is an [ESLint](https://eslint.org/) plugin including configurations and custom rules for WooCommerce development. #### [e2e-environment](https://www.npmjs.com/package/@woocommerce/e2e-environment) This is a reusable and extensible end-to-end testing environment for WooCommerce extensions. Additionally, it contains several files to serve as the base for a Docker container and Travis CI setup. #### [WordPress Scripts](https://www.npmjs.com/package/@wordpress/scripts) This is a collection of reusable scripts tailored for WordPress development. --- ### Libraries Use these resources to help take some of the heavy lifting off of fetching and transforming data –– as well as creating UI elements. #### API Clients #### [WooCommerce REST API β€” JavaScript](https://www.npmjs.com/package/@woocommerce/woocommerce-rest-api) The official JavaScript library for working with the WooCommerce REST API. #### [api-fetch](https://www.npmjs.com/package/@wordpress/api-fetch) This is a utility to make WordPress REST API requests. It's a wrapper around `window.fetch` that includes support for nonces, middleware, and custom fetch handlers. #### Components #### [WooCommerce Components](https://www.npmjs.com/package/@woocommerce/components) This package includes a library of React components that can be used to create pages in the WooCommerce admin area. #### [WordPress Components](https://www.npmjs.com/package/@wordpress/components) This packages includes a library of generic WordPress components that can be used for creating common UI elements shared between screens and features of the WordPress dashboard. --- ### Utilities #### [CSV Export](https://www.npmjs.com/package/@woocommerce/csv-export) A set of functions to convert data into CSV values, and enable a browser download of the CSV data. #### [Currency](https://www.npmjs.com/package/@woocommerce/currency) A collection of utilities to display and work with currency values. #### [Data](https://www.npmjs.com/package/@woocommerce/data) Utilities for managing the WooCommerce Admin data store. #### [Date](https://www.npmjs.com/package/@woocommerce/date) A collection of utilities to display and work with date values. #### [Navigation](https://www.npmjs.com/package/@woocommerce/navigation) A collection of navigation-related functions for handling query parameter objects, serializing query parameters, updating query parameters, and triggering path changes. #### [Number](https://www.npmjs.com/package/@woocommerce/number) A collection of utilities to properly localize numerical values in WooCommerce.