Enforces a convention of defining number literals where the literal identifier is written in lowercase and the value in uppercase. Differentiating the casing of the identifier and value clearly separates them and makes your code more readable.
Install the plugin:
npm i --save-dev eslint-plugin-number-literal-case
Update your eslintrc to include the plugin and enable the rule:
"env": {
"es6": true
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"plugins": ["number-literal-case"],
"rules": {
"number-literal-case/number-literal-case": ["error"]
}
Note: That the env
and 'sourceType': "module"
have to be set for the rule to run. The ecmaVersion
can be set to any version >=6
.
You can also enable the rule using the recommended config which enables the rule and the correct env
and parserOptions
. So instead of the above config in your eslint config just use the extends
option:
{
"extends": ["plugin:number-literal-case/recommended"]
}
You don't need to add anything else if you use that.
const foo = 0xff;
const foo = 0xff;
const foo = 0xff;
const foo = 0b11;
const foo = 0o10;
const foo = 0xff;
const foo = 0b11;
const foo = 0o10;
This rule and its implementation is taken straight out of the fantastic eslint-plugin-unicorn collection of ESLint rules. Check the project out for even more awesome rules you can use!
I just needed this one for a bunch of projects so i just pulled it out into its own plugin. Thank you goes to @sindresorhus for (eslint-plugin-unicorn) and its maintainers.