eslint-plugin-math
TypeScript icon, indicating that this package has built-in type declarations

0.6.2 • Public • Published

Introduction

eslint-plugin-math is ESLint plugin related to Math object and Number.

NPM license NPM version NPM downloads NPM downloads NPM downloads NPM downloads NPM downloads Build Status

📛 Features

ESLint plugin related to Math object and Number.

You can check on the Online DEMO.

📖 Documentation

See documents.

💿 Installation

npm install --save-dev eslint eslint-plugin-math

Requirements

  • ESLint v8.57.0 and above
  • Node.js v18.x, v20.x and above

📖 Usage

Configuration

New Config (eslint.config.js)

Use eslint.config.js file to configure rules. See also: https://eslint.org/docs/latest/use/configure/configuration-files-new.

Example eslint.config.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: https://eslint.org/docs/latest/use/configure/.

Example .eslintrc.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.

✅ Rules

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.

Math Rules

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 go to infinity
math/no-static-nan-calculations disallow static calculations that go to 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-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 🔧

🛸 Prior Art

🍻 Contributing

Welcome contributing!

Please use GitHub's Issues/PRs.

Development Tools

  • npm test runs tests and measures coverage.
  • npm run update runs in order to update readme and recommended configuration.

🔒 License

See the LICENSE file for license rights and limitations (MIT).

Package Sidebar

Install

npm i eslint-plugin-math

Weekly Downloads

171

Version

0.6.2

License

MIT

Unpacked Size

267 kB

Total Files

7

Last publish

Collaborators

  • ota-meshi