@automattic/calypso-eslint-overrides

v1.0.0
Shared Calypso eslint config
calypso eslint

@automattic/calypso-eslint-overrides

This package contains ESlint configuration used to override default ESLint settings, grouped by runtime.

The main use case is when a package has code expected to run in a browser, and code expected to run in Node.js.

Usage

Imagine you have an .eslintrc.js that applies some config designed to enforce/prevent some code conventions that won't work well in a browser, or that inherits some rules from a parent .eslintrc.js

module.exports = {
    env: {
        browser: true
    },
    rules: {
        // Polyfill nodejs modules for the browser is expensive, disable them
        'import/no-nodejs-modules': 'error'
    }
}

If there is some section of the code that is meant to be run by Node.js (eg: a ./bin/ directory with some scripts), you can add an override like:

const { nodeConfig } = require('@automattic/calypso-eslint-overrides/node')

module.exports = {
    env: {
        browser: true
    },
    rules: {
        // Polyfill nodejs modules for the browser is expensive, disable them
        'import/no-nodejs-modules': 'error'
    },
    overrides: [
        {
            files: "./bin/**.*"
            ...nodeConfig
        }
    ]
}
npm i @automattic/calypso-eslint-overrides

Metadata

Downloads