Add ast-grep rule to prevent String() function usage
Prefer .toString() or .toLocaleString() over String() for more predictable behavior and consistency. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
id: no-string-function
|
||||
snapshots:
|
||||
String(123):
|
||||
labels:
|
||||
- source: String(123)
|
||||
style: primary
|
||||
start: 0
|
||||
end: 11
|
||||
String(Date.now()):
|
||||
labels:
|
||||
- source: String(Date.now())
|
||||
style: primary
|
||||
start: 0
|
||||
end: 18
|
||||
String(value):
|
||||
labels:
|
||||
- source: String(value)
|
||||
style: primary
|
||||
start: 0
|
||||
end: 13
|
||||
13
.ast-grep/rule-tests/no-string-function-test.yml
Normal file
13
.ast-grep/rule-tests/no-string-function-test.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
id: no-string-function
|
||||
valid:
|
||||
# toString() is fine
|
||||
- value.toString()
|
||||
- (123).toString()
|
||||
- date.toLocaleString()
|
||||
# Other functions named String are fine
|
||||
- myString(value)
|
||||
invalid:
|
||||
# String() function should be flagged
|
||||
- String(value)
|
||||
- String(123)
|
||||
- String(Date.now())
|
||||
7
.ast-grep/rules/no-string-function.yml
Normal file
7
.ast-grep/rules/no-string-function.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
id: no-string-function
|
||||
language: typescript
|
||||
severity: error
|
||||
message: "Don't use String() - use .toString() or .toLocaleString() instead."
|
||||
note: "String() can have unexpected behavior. Use .toString() for general conversion or .toLocaleString() for locale-aware formatting."
|
||||
rule:
|
||||
pattern: String($VAL)
|
||||
Reference in New Issue
Block a user