JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2855
  • Score
    100M100P100Q110084F
  • License GPL-2.0-or-later

ESLint plugin for WooCommerce development.

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