@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"/>;
}

Readme

Keywords

none

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