From 93f49f255b6f53c7b317806062d2e1b87467134e Mon Sep 17 00:00:00 2001 From: hiroki osame Date: Sat, 19 Mar 2022 13:18:04 -0400 Subject: [PATCH] `prefer-json-parse-buffer`: Remove from `recommended` preset (#1750) Co-authored-by: fisker Cheung Co-authored-by: Sindre Sorhus --- configs/recommended.js | 2 +- docs/rules/prefer-json-parse-buffer.md | 6 +++--- readme.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/configs/recommended.js b/configs/recommended.js index da65a290b5..f10956b75f 100644 --- a/configs/recommended.js +++ b/configs/recommended.js @@ -79,7 +79,7 @@ module.exports = { 'unicorn/prefer-dom-node-text-content': 'error', 'unicorn/prefer-export-from': 'error', 'unicorn/prefer-includes': 'error', - 'unicorn/prefer-json-parse-buffer': 'error', + 'unicorn/prefer-json-parse-buffer': 'off', 'unicorn/prefer-keyboard-event-key': 'error', 'unicorn/prefer-math-trunc': 'error', 'unicorn/prefer-modern-dom-apis': 'error', diff --git a/docs/rules/prefer-json-parse-buffer.md b/docs/rules/prefer-json-parse-buffer.md index e1b9241e1b..39e5dd38a9 100644 --- a/docs/rules/prefer-json-parse-buffer.md +++ b/docs/rules/prefer-json-parse-buffer.md @@ -2,13 +2,13 @@ -βœ… *This rule is part of the [recommended](https://github.com/sindresorhus/eslint-plugin-unicorn#recommended-config) config.* - πŸ”§ *This rule is [auto-fixable](https://eslint.org/docs/user-guide/command-line-interface#fixing-problems).* When reading and parsing a JSON file, it's unnecessary to read it as a string, because [`JSON.parse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) can also parse [`Buffer`](https://nodejs.org/api/buffer.html#buffer). +Passing in a buffer may not be performant and is not compatible with TypeScript. + ## Fail ```js @@ -17,7 +17,7 @@ const packageJson = JSON.parse(await fs.readFile('./package.json', 'utf8')); ```js const promise = fs.readFile('./package.json', {encoding: 'utf8'}); -const packageJson = JSON.parse(promise); +const packageJson = JSON.parse(await promise); ``` ## Pass diff --git a/readme.md b/readme.md index 141af221ca..939012d484 100644 --- a/readme.md +++ b/readme.md @@ -119,7 +119,7 @@ Each rule has emojis denoting: | [prefer-dom-node-text-content](docs/rules/prefer-dom-node-text-content.md) | Prefer `.textContent` over `.innerText`. | βœ… | | πŸ’‘ | | [prefer-export-from](docs/rules/prefer-export-from.md) | Prefer `export…from` when re-exporting. | βœ… | πŸ”§ | πŸ’‘ | | [prefer-includes](docs/rules/prefer-includes.md) | Prefer `.includes()` over `.indexOf()` and `Array#some()` when checking for existence or non-existence. | βœ… | πŸ”§ | πŸ’‘ | -| [prefer-json-parse-buffer](docs/rules/prefer-json-parse-buffer.md) | Prefer reading a JSON file as a buffer. | βœ… | πŸ”§ | | +| [prefer-json-parse-buffer](docs/rules/prefer-json-parse-buffer.md) | Prefer reading a JSON file as a buffer. | | πŸ”§ | | | [prefer-keyboard-event-key](docs/rules/prefer-keyboard-event-key.md) | Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`. | βœ… | πŸ”§ | | | [prefer-math-trunc](docs/rules/prefer-math-trunc.md) | Enforce the use of `Math.trunc` instead of bitwise operators. | βœ… | πŸ”§ | πŸ’‘ | | [prefer-modern-dom-apis](docs/rules/prefer-modern-dom-apis.md) | Prefer `.before()` over `.insertBefore()`, `.replaceWith()` over `.replaceChild()`, prefer one of `.before()`, `.after()`, `.append()` or `.prepend()` over `insertAdjacentText()` and `insertAdjacentElement()`. | βœ… | πŸ”§ | |