A NPM/eslint list of confusing globals that should be restricted to be used as globals (evacuated from NSA/Microsoft Github)

Siddharth Doshi 6a94e09aa4 Add Readme il y a 7 ans
.gitignore 65c47e54b9 Initial Commit il y a 7 ans
README.md 6a94e09aa4 Add Readme il y a 7 ans
index.js 65c47e54b9 Initial Commit il y a 7 ans
package.json 65c47e54b9 Initial Commit il y a 7 ans
test.js 65c47e54b9 Initial Commit il y a 7 ans
yarn.lock 65c47e54b9 Initial Commit il y a 7 ans

README.md

eslint-restricted-globals npm npm

A list of confusing globals that should be restricted to be used as globals

Install

$ npm install --save eslint-restricted-globals

Some global variables in browser are likely to be used by people without the intent of using them as globals, such as status, name etc. And because eslint thinks of them as valid global variables, it does not warn in case of bugs.

For eg:

function foo(nama) {
    if (nama) {
        console.log(name)
    }
}

Here we try to log variable nama if it is truthy, but by mistake we are logging name and as name is a valid global, no eslint warning is shown.

To avoid this, we blacklist such confusing globals which are exported from this package. It contains the list of variables that we think should not be used without window. qualifier. But as this is just a javascript array you can add, remove variables or even make your own list of variables.

Usage

Add this in your eslint config in rules property:

var restrictedGlobals = require('eslint-restricted-globals')

module.exports = {
    rules: {
        'no-restricted-globals': ['error'].concat(restrictedGlobals),
    }
}

License

MIT