diff --git a/src/rules/no-unsafe-values.js b/src/rules/no-unsafe-values.js index 75007d4..3a7931b 100644 --- a/src/rules/no-unsafe-values.js +++ b/src/rules/no-unsafe-values.js @@ -127,6 +127,15 @@ export default /** @satisfies {NoUnsafeValuesRuleDefinition} */ ({ } } }, + Infinity(node) { + const value = context.sourceCode.getText(node); + + context.report({ + loc: node.loc, + messageId: "unsafeNumber", + data: { value }, + }); + }, String(node) { if (node.value.isWellFormed) { if (node.value.isWellFormed()) { diff --git a/tests/rules/no-unsafe-values.test.js b/tests/rules/no-unsafe-values.test.js index 93e9f6c..4374d8f 100644 --- a/tests/rules/no-unsafe-values.test.js +++ b/tests/rules/no-unsafe-values.test.js @@ -106,6 +106,38 @@ ruleTester.run("no-unsafe-values", rule, { }, ], }, + { + code: "Infinity", + language: "json/json5", + errors: [ + { + messageId: "unsafeNumber", + data: { + value: "Infinity", + }, + line: 1, + column: 1, + endLine: 1, + endColumn: 9, + }, + ], + }, + { + code: "-Infinity", + language: "json/json5", + errors: [ + { + messageId: "unsafeNumber", + data: { + value: "-Infinity", + }, + line: 1, + column: 1, + endLine: 1, + endColumn: 10, + }, + ], + }, { code: '"\ud83d"', errors: [