diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2023-12-29 00:05:24 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-29 05:05:24 +0000 | 
| commit | 42c3b0d8bf2cf98d3202d8ea6a44bee8b9792fda (patch) | |
| tree | 7bf26c7ec4e98a8bba7d6e5dee594454d5092e86 | |
| parent | 59961b6eeb46a93aa2db587a047e6da79b2dceda (diff) | |
Add eslint rule no-restricted-syntax (#486)
| -rw-r--r-- | .eslintrc.json | 11 | ||||
| -rw-r--r-- | ext/js/core/json.js | 2 | 
2 files changed, 13 insertions, 0 deletions
| diff --git a/.eslintrc.json b/.eslintrc.json index 3ea5d555..9a0402ed 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -200,6 +200,17 @@          ],          "no-implicit-globals": "error",          "no-multi-spaces": "error", +        "no-restricted-syntax": [ +            "error", +            { +                "message": "Avoid using JSON.parse(), prefer parseJson.", +                "selector": "MemberExpression[object.name=JSON][property.name=parse]" +            }, +            { +                "message": "Avoid using Response.json(), prefer readResponseJson.", +                "selector": "MemberExpression[property.name=json]" +            } +        ],          "no-trailing-spaces": "error",          "no-whitespace-before-property": "error",          "object-curly-spacing": [ diff --git a/ext/js/core/json.js b/ext/js/core/json.js index a031f84e..0ebe2887 100644 --- a/ext/js/core/json.js +++ b/ext/js/core/json.js @@ -25,6 +25,7 @@   * @returns {T}   */  export function parseJson(value) { +    // eslint-disable-next-line no-restricted-syntax      return JSON.parse(value);  } @@ -36,5 +37,6 @@ export function parseJson(value) {   * @returns {Promise<T>}   */  export async function readResponseJson(response) { +    // eslint-disable-next-line no-restricted-syntax      return await response.json();  } |