Naturally Pacifist Marsupials

    @woocommerce/eslint-plugin

    2.2.0 • Public • Published

    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

    Install

    npm i @woocommerce/eslint-plugin

    DownloadsWeekly Downloads

    1,191

    Version

    2.2.0

    License

    GPL-2.0-or-later

    Unpacked Size

    16.5 kB

    Total Files

    10

    Last publish

    Collaborators

    • chihsuan
    • rjchow
    • zhongruige
    • ~woocommerce
    • adrianduffell
    • octaedro
    • psealock
    • mikejolley
    • albertjuhe
    • nerrad
    • obliviousharmony
    • dygerati
    • louwie17
    • ilyasfoo
    • mattsherman
    • joshuatf
    • moon.kyong