src/content/docs/linter/rules/no-document-cookie.mdx
import { Tabs, TabItem } from '@astrojs/starlight/components';
<Tabs> <TabItem label="JavaScript (and super languages)" icon="seti:javascript"> ## Summary - Rule available since: `v1.9.4` - Diagnostic Category: [`lint/suspicious/noDocumentCookie`](/reference/diagnostics#diagnostic-category) - This rule is **recommended**, meaning it is enabled by default. - This rule doesn't have a fix. - The default severity of this rule is [**warning**](/reference/diagnostics#warning). - Sources: - Same as [`unicorn/no-document-cookie`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-document-cookie.md){
"linter": {
"rules": {
"suspicious": {
"noDocumentCookie": "error"
}
}
}
}
Disallow direct assignments to document.cookie.
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.
document.cookie = "foo=bar";
document.cookie += "; foo=bar";
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');