eslint-plugin-immutablejs v0.1.3
eslint-plugin-immutablejs
A set of ESLint rules for projects using Immutable.js.
Usage
Install
npm install --save-dev eslint-plugin-immutablejsConfigure
In .eslintrc, add a plugins array, and add immutablejs.
{
"plugins": ["immutablejs"]
}Then, enable any rule(s) you wish to use, in the form of immutablejs/rule-name-here.
Rules
no-native-map-set
Why?
There are 2 primary reasons for this rule.
When using
ReactwithImmutable.js, there are times when you will be passing down apropthat is expected to be aMaporSet. When usingReact'sPropTypesfeature with theinstanceOfvalidator, it's very easy to forget to importImmutable.js, and you'll end up with unfortunate errors if you aren't actively looking forPropTypewarnings in the console.Catching when you use
Map/Set, but forget to import them. If you run your code without this rule, you'll get an error thatMap/Setcannot be invoked without thenewoperator. This rule aims to catch this and provide a more obvious error before you run your code.
Rule Details
Examples of incorrect code for this rule:
// ImmutableJS Map/Set not in scope
const mySet = Set();
const myMap = Map();
const myOtherSet = new Set();
const myOtherMap = new Map();Examples of correct code for this rule:
import { Map, Set } from 'immutable';
const mySet = Set();
const myMap = Map();Contributing
- Write your rule in a new file in the
rulesfolder - Add a test file in the
testfolder, and write appropriate test-cases - Add documentation about your rule to
README.md - Export your rule in
index.js - Submit a Pull Request