ESLint configuration and custom rules used by Mattermost
npm install @mattermost/eslint-pluginAn ESLint plugin containing the configuration used by Mattermost as well as support for custom rules specific to the Mattermost code base.
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:
``javascript`
export function someAction() {
return (dispatch, getState) => {
dispatch(doSomething(), getState);
};
}
Examples of correct code for this rule:
`javascript`
export function someAction() {
return (dispatch) => {
dispatch(doSomething());
};
}
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:
`javascript`
export function SomeLink() {
return (
href="https://example.com"
target="_blank"
rel="noopener noreferrer"
/>
);
}
Examples of correct code for this rule:
`javascript
import ExternalLink from 'components/external_link';
export function SomeLink() {
return
}
``