eslint / json

JSON language plugin for ESLint
Apache License 2.0
18 stars 2 forks source link

New rule: Normalize string keys #32

Open bmeck opened 4 hours ago

bmeck commented 4 hours ago

Rule details

Normalize string keys

What type of rule is this?

Suggests an alternate way of doing something

Example code

Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize , there are examples of unicode that are similar in character. Generally this could mean that there is a key mismatch on 2 apparently similar strings. Suggesting using a normalized form to avoid this potential issue would be good so that the following 2 object don't have mismatched keys:

{
  "Amélie": 1
}
{
  "Amélie": 2
}

There are valid use cases for these key mismatches, but they are generally very specific in scope.

Participation

Additional comments

Similar mismatches or deception such as using Bidi mixing / zero width characters etc. are potentially in the same vein but likely would be a different scope since those have associated CVEs.