mirror of
https://github.com/renovatebot/renovate.git
synced 2026-11-01 18:19:51 +00:00
021612414c
* fix(lint): use `parseInt` over `Number` As a code review comment that comes up every so often, we can add a linting rule to enforce this check. This also fixes any existing usages. As this could be breaking, we can release it as a `fix`. Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io> * fixup! fix(lint): use `parseInt` over `Number` * fixup! fix(lint): use `parseInt` over `Number` --------- Co-authored-by: Claude Sonnet 5 <jamie.tanna+claude-code@mend.io>
35 lines
879 B
TypeScript
35 lines
879 B
TypeScript
import { RuleTester } from 'oxlint/plugins-dev';
|
|
import rule from './no-number-constructor.ts';
|
|
|
|
RuleTester.describe = describe;
|
|
RuleTester.it = it;
|
|
|
|
const ruleTester = new RuleTester({
|
|
languageOptions: { parserOptions: { lang: 'ts' } },
|
|
});
|
|
|
|
ruleTester.run('no-number-constructor', rule, {
|
|
valid: [
|
|
`parseInt('42', 10);`,
|
|
// other globals with a similar name are unaffected
|
|
`NumberFormat('42');`,
|
|
// member expression callee, e.g. Number.isNaN, Number.parseInt
|
|
`Number.isNaN(value);`,
|
|
`Number.parseInt('42', 10);`,
|
|
],
|
|
invalid: [
|
|
{
|
|
code: `Number('42');`,
|
|
errors: [{ messageId: 'noNumberConstructor' }],
|
|
},
|
|
{
|
|
code: `const x = Number(someString);`,
|
|
errors: [{ messageId: 'noNumberConstructor' }],
|
|
},
|
|
{
|
|
code: `new Number('42');`,
|
|
errors: [{ messageId: 'noNumberConstructor' }],
|
|
},
|
|
],
|
|
});
|