Package Exports
- @woocommerce/eslint-plugin
- @woocommerce/eslint-plugin/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@woocommerce/eslint-plugin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ESLint Plugin
This is an ESLint plugin including configurations and custom rules for WooCommerce development.
Note: This primarily extends the @wordpress/eslint-plugin/recommended
ruleset and does not change any of the rules exposed on that plugin. As a base, all WooCommerce projects are expected to follow WordPress JavaScript Code Styles.
However, this ruleset does implement the following (which do not conflict with WordPress standards):
- Using typescript eslint parser to allow for eslint Import (see issue)
- prettier formatting (using
wp-prettier
) - Dependency grouping (External and Internal) for dependencies in JavaScript files
- No yoda conditionals
- Radix argument required for
parseInt
.
Installation
Install the module
pnpm install @woocommerce/eslint-plugin --save-dev
Usage
To opt-in to the default configuration, extend your own project's .eslintrc.js
file:
module.exports = {
"extends": [ "plugin:@woocommerce/eslint-plugin/recommended" ]
}
Refer to the ESLint documentation on Shareable Configs for more information.
The recommended
preset will include rules governing an ES2015+ environment, and includes rules from the @wordpress/eslint-plugin/recommended
project.
If you want to use prettier in your code editor, you'll need ot create a .prettierrc.js
file at the root of your project with the following:
module.exports = require("@wordpress/prettier-config");
Rules
Rule | Description | Recommended |
---|---|---|
dependency-group | Enforce dependencies docblocks formatting | ✓ |