Skip to content

noDocumentCookie

¥Summary

¥How to configure

biome.json
{
"linter": {
"rules": {
"suspicious": {
"noDocumentCookie": "error"
}
}
}
}

¥Description

禁止直接向 document.cookie 赋值。

¥Disallow direct assignments to document.cookie.

不建议直接使用 document.cookie,因为很容易出错。相反,你应该使用 Cookie Store API

¥It’s not recommended to use document.cookie directly as it’s easy to get the string wrong. Instead, you should use the Cookie Store API.

¥Examples

¥Invalid

document.cookie = "foo=bar";
code-block.js:1:1 lint/suspicious/noDocumentCookie ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Direct assigning to document.cookie is not recommended.

> 1 │ document.cookie = “foo=bar”;
^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

Consider using the Cookie Store API.

document.cookie += "; foo=bar";
code-block.js:1:1 lint/suspicious/noDocumentCookie ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Direct assigning to document.cookie is not recommended.

> 1 │ document.cookie += ”; foo=bar”;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

Consider using the Cookie Store API.

¥Valid

const array = document.cookie.split("; ");
await cookieStore
.set({
name: "foo",
value: "bar",
expires: Date.now() + 24 * 60 * 60,
domain: "example.com",
})
import Cookies from 'js-cookie';
Cookies.set('foo', 'bar');

¥Related links