ESLint plugin related to Math object and Number.
npm install eslint-plugin-matheslint-plugin-math is ESLint plugin related to [Math] object and [Number].








ESLint plugin related to [Math] object and [Number].
You can check on the Online DEMO.
See documents.
``bash`
npm install --save-dev eslint eslint-plugin-math
> Requirements
>
> - ESLint v8.57.0 and above
> - Node.js v18.x, v20.x and above
#### New Config (eslint.config.js)
Use eslint.config.js file to configure rules. See also:
Example eslint.config.js:
`js`
import eslintPluginMath from 'eslint-plugin-math';
export default [
// add more generic rule sets here, such as:
// js.configs.recommended,
eslintPluginMath.configs.recommended,
{
rules: {
// override/add rules settings here, such as:
// 'math/prefer-math-trunc': 'error'
}
}
];
This plugin provides configs:
- *.configs.recommended ... Recommended config provided by the plugin.
See the rule list to get the rules that this plugin provides.
#### Legacy Config (.eslintrc)
Use .eslintrc.* file to configure rules. See also:
Example .eslintrc.js:
`js`
module.exports = {
extends: [
// add more generic rulesets here, such as:
// 'eslint:recommended',
'plugin:math/recommended-legacy'
],
rules: {
// override/add rules settings here, such as:
// 'math/prefer-math-trunc': 'error'
}
}
This plugin provides configs:
- plugin:math/recommended-legacy ... Recommended config provided by the plugin.
See the rule list to get the rules that this plugin provides.
The --fix option on the command line automatically fixes problems reported by rules which have a wrench 🔧 below.
The rules with the following star ⭐ are included in the configs.
| Rule ID | Description | Fixable | RECOMMENDED |
|:--------|:------------|:-------:|:-----------:|
| math/abs | enforce the conversion to absolute values to be the method you prefer | 🔧 | |
| math/no-static-infinity-calculations | disallow static calculations that result in infinity | | ⭐ |
| math/no-static-nan-calculations | disallow static calculations that result in NaN | | ⭐ |
| math/prefer-exponentiation-operator | enforce the use of exponentiation (**) operator instead of other calculations | 🔧 | |
| math/prefer-math-cbrt | enforce the use of Math.cbrt() instead of other cube root calculations | 🔧 | ⭐ |
| math/prefer-math-e | enforce the use of Math.E instead of other ways | 🔧 | ⭐ |
| math/prefer-math-hypot | enforce the use of Math.hypot() instead of other hypotenuse calculations | 🔧 | ⭐ |
| math/prefer-math-ln10 | enforce the use of Math.LN10 instead of other ways | 🔧 | ⭐ |
| math/prefer-math-ln2 | enforce the use of Math.LN2 instead of other ways | 🔧 | ⭐ |
| math/prefer-math-log10 | enforce the use of Math.log10() instead of other calculation methods. | 🔧 | ⭐ |
| math/prefer-math-log10e | enforce the use of Math.LOG10E instead of other ways | 🔧 | ⭐ |
| math/prefer-math-log2 | enforce the use of Math.log2() instead of other calculation methods. | 🔧 | ⭐ |
| math/prefer-math-log2e | enforce the use of Math.LOG2E instead of other ways | 🔧 | ⭐ |
| math/prefer-math-pi | enforce the use of Math.PI instead of literal number | 🔧 | ⭐ |
| math/prefer-math-sqrt | enforce the use of Math.sqrt() instead of other square root calculations | 🔧 | ⭐ |
| math/prefer-math-sqrt1-2 | enforce the use of Math.SQRT1_2 instead of other ways | 🔧 | ⭐ |
| math/prefer-math-sqrt2 | enforce the use of Math.SQRT2 instead of other ways | 🔧 | ⭐ |
| math/prefer-math-sum-precise | enforce the use of Math.sumPrecise() instead of other summation methods | 🔧 | |
| math/prefer-math-trunc | enforce the use of Math.trunc() instead of other truncations | 🔧 | ⭐ |
| math/prefer-number-epsilon | enforce the use of Number.EPSILON instead of other ways | 🔧 | ⭐ |
| math/prefer-number-is-finite | enforce the use of Number.isFinite() instead of other checking ways | 🔧 | ⭐ |
| math/prefer-number-is-integer | enforce the use of Number.isInteger() instead of other checking ways | 🔧 | ⭐ |
| math/prefer-number-is-nan | enforce the use of Number.isNaN() instead of other checking ways | 🔧 | ⭐ |
| math/prefer-number-is-safe-integer | enforce the use of Number.isSafeInteger() instead of other checking ways | 🔧 | ⭐ |
| math/prefer-number-max-safe-integer | enforce the use of Number.MAX_SAFE_INTEGER instead of other ways | 🔧 | ⭐ |
| math/prefer-number-max-value | enforce the use of Number.MAX_VALUE instead of literal number | 🔧 | ⭐ |
| math/prefer-number-min-safe-integer | enforce the use of Number.MIN_SAFE_INTEGER instead of other ways | 🔧 | ⭐ |
| math/prefer-number-min-value | enforce the use of Number.MIN_VALUE instead of literal number | 🔧 | ⭐ |
-
-
-
Welcome contributing!
Please use GitHub's Issues/PRs.
- npm test runs tests and measures coverage. npm run update` runs in order to update readme and recommended configuration.
-
See the LICENSE file for license rights and limitations (MIT).
[Math]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math
[Number]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number