mirror of
https://github.com/zebrajr/node.git
synced 2025-12-06 12:20:27 +01:00
tools: add number-isnan rule
PR-URL: https://github.com/nodejs/node/pull/17556 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
parent
7d03567287
commit
6531401cde
|
|
@ -14,6 +14,7 @@ rules:
|
||||||
prefer-common-mustnotcall: error
|
prefer-common-mustnotcall: error
|
||||||
crypto-check: error
|
crypto-check: error
|
||||||
inspector-check: error
|
inspector-check: error
|
||||||
|
number-isnan: error
|
||||||
## common module is mandatory in tests
|
## common module is mandatory in tests
|
||||||
required-modules: [error, common]
|
required-modules: [error, common]
|
||||||
|
|
||||||
|
|
|
||||||
20
test/parallel/test-eslint-number-isnan.js
Normal file
20
test/parallel/test-eslint-number-isnan.js
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
require('../common');
|
||||||
|
|
||||||
|
const RuleTester = require('../../tools/eslint').RuleTester;
|
||||||
|
const rule = require('../../tools/eslint-rules/number-isnan');
|
||||||
|
|
||||||
|
const message = 'Please use Number.isNaN instead of the global isNaN function';
|
||||||
|
|
||||||
|
new RuleTester().run('number-isnan', rule, {
|
||||||
|
valid: [
|
||||||
|
'Number.isNaN()'
|
||||||
|
],
|
||||||
|
invalid: [
|
||||||
|
{
|
||||||
|
code: 'isNaN()',
|
||||||
|
errors: [{ message }]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
14
tools/eslint-rules/number-isnan.js
Normal file
14
tools/eslint-rules/number-isnan.js
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const astSelector = "CallExpression[callee.name='isNaN']";
|
||||||
|
const msg = 'Please use Number.isNaN instead of the global isNaN function';
|
||||||
|
|
||||||
|
module.exports = function(context) {
|
||||||
|
function report(node) {
|
||||||
|
context.report(node, msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
[astSelector]: report
|
||||||
|
};
|
||||||
|
};
|
||||||
Loading…
Reference in New Issue
Block a user