Are you an LLM? You can read better optimized documentation at /docs/guide/usage/linter/rules/unicorn/no-invalid-fetch-options.md for this page in Markdown format
unicorn/no-invalid-fetch-options 正しさ
✅ This rule is turned on by default.
何をしますか
fetch() および new Request() において無効なオプションの使用を禁止します。特に、メソッドが GET または HEAD の場合にボディーが指定されないように制限し、それにより TypeError が発生することを防ぎます。
なぜ悪いですか?
fetch() 関数は、メソッドが GET もしくは HEAD であり、かつボディーが指定された場合に TypeError をスローします。これはコード内で予期せぬ振る舞いやエラーを引き起こす可能性があります。このような無効なオプションを禁止することで、このルールはリクエストが正しく設定されていることを保証し、不要なエラーを防ぎます。
例
このルールに対して誤りなコードの例:
javascript
const response = await fetch("/", { method: "GET", body: "foo=bar" });
const request = new Request("/", { method: "GET", body: "foo=bar" });このルールに対して正しいコードの例:
javascript
const response = await fetch("/", { method: "POST", body: "foo=bar" });
const request = new Request("/", { method: "POST", body: "foo=bar" });使い方
設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:
json
{
"rules": {
"unicorn/no-invalid-fetch-options": "error"
}
}bash
oxlint --deny unicorn/no-invalid-fetch-options