@woocommerce/eslint-plugin

ESLint plugin for WooCommerce development.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@woocommerce/eslint-plugin
8,1851,7532.2.03 months ago2 years agoMinified + gzip package size for @woocommerce/eslint-plugin in KB

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 | ✓ |