@mattermost/eslint-plugin

1.1.0-0 • Public • Published

@mattermost/eslint-plugin

An ESLint plugin containing the configuration used by Mattermost as well as support for custom rules specific to the Mattermost code base.

Custom Rules

no-dispatch-getstate

Prevents passing a redux store's getState into its dispatch as an unnecessary second argument.

We started doing this accidentally at some point because of a misunderstanding about how redux-thunk worked, so this stops anyone from making that same mistake again.

Examples of incorrect code for this rule:

export function someAction() {
    return (dispatch, getState) => {
        dispatch(doSomething(), getState);
    };
}

Examples of correct code for this rule:

export function someAction() {
    return (dispatch) => {
        dispatch(doSomething());
    };
}

use-external-link

Ensures that any link which opens a URL outside of Mattermost using target="_blank" uses the ExternalLink component.

Examples of incorrect code for this rule:

export function SomeLink() {
    return (
        <a
            href="https://example.com"
            target="_blank"
            rel="noopener noreferrer"
        />
    );
}

Examples of correct code for this rule:

import ExternalLink from 'components/external_link';

export function SomeLink() {
    return <ExternalLink href="https://example.com"/>;
}

Dependencies (6)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @mattermost/eslint-plugin

    Weekly Downloads

    364

    Version

    1.1.0-0

    License

    Apache 2.0

    Unpacked Size

    33.7 kB

    Total Files

    8

    Last publish

    Collaborators

    • danielschalla
    • harshil.sharma
    • danielsischy
    • streamer45
    • cpoile
    • devinbinnie
    • mattermost-user
    • crspeller
    • jwilander
    • coreyhulen
    • enahum
    • matterbuild
    • hmhealey