{"id":26195,"library":"remark-lint-checkbox-character-style","title":"remark-lint-checkbox-character-style","description":"ESM-only remark-lint rule (v5.0.1) that enforces consistent checkbox characters in GFM task list items. Checks that checked boxes use 'X' or 'x' and unchecked boxes use a space or tab, with options for 'consistent', 'space', 'tab', 'X', or 'x'. Ships TypeScript types. Stable with regular releases as part of the remark-lint monorepo. Differentiates from other lint rules by focusing solely on checkbox character style.","status":"active","version":"5.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/remarkjs/remark-lint#main","tags":["javascript","checkbox","lint","list","remark","remark-lint","remark-lint-rule","rule","style","typescript"],"install":[{"cmd":"npm install remark-lint-checkbox-character-style","lang":"bash","label":"npm"},{"cmd":"yarn add remark-lint-checkbox-character-style","lang":"bash","label":"yarn"},{"cmd":"pnpm add remark-lint-checkbox-character-style","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required to use any rule; linting framework","package":"remark-lint","optional":false},{"reason":"Core processing pipeline; required by remark-lint","package":"unified","optional":false}],"imports":[{"note":"ESM-only since v5; CJS require will fail or throw.","wrong":"const remarkLintCheckboxCharacterStyle = require('remark-lint-checkbox-character-style')","symbol":"default","correct":"import remarkLintCheckboxCharacterStyle from 'remark-lint-checkbox-character-style'"},{"note":"The package has no named exports; default import is required.","wrong":"import { remarkLintCheckboxCharacterStyle } from 'remark-lint-checkbox-character-style'","symbol":"remarkLintCheckboxCharacterStyle","correct":"import remarkLintCheckboxCharacterStyle from 'remark-lint-checkbox-character-style'"},{"note":"Only usable as TypeScript type; use with `import type`.","wrong":"import { Options } from 'remark-lint-checkbox-character-style'","symbol":"Options","correct":"import type { Options } from 'remark-lint-checkbox-character-style'"}],"quickstart":{"code":"import { unified } from 'unified'\nimport remarkParse from 'remark-parse'\nimport remarkStringify from 'remark-stringify'\nimport remarkLint from 'remark-lint'\nimport remarkLintCheckboxCharacterStyle from 'remark-lint-checkbox-character-style'\n\nconst file = await unified()\n  .use(remarkParse)\n  .use(remarkLint)\n  .use(remarkLintCheckboxCharacterStyle, { checked: 'X', unchecked: ' ' }) // enforce 'X' and space\n  .use(remarkStringify)\n  .process('- [x] done\\n- [ ] todo\\n- [X] also done')\n\nconsole.log(String(file))\n// No warning because 'x' and 'X' are mixed; 'x' is invalid. Warnings emitted via vfile-reporter.\n// To see warnings: import { reporter } from 'vfile-reporter' and console.error(reporter(file))","lang":"typescript","description":"Shows unified integration with remark-lint-checkbox-character-style, enforcing checked='X' and unchecked space."},"warnings":[{"fix":"Use ESM imports (import/default) or upgrade to Node 16+.","message":"Package is ESM-only since v5; CommonJS require() throws.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Use `import remarkLintCheckboxCharacterStyle from ...` not `import { ... }`.","message":"No default export named 'remarkLintCheckboxCharacterStyle' as a named export; must default import.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Use explicit object syntax `{ checked: 'X', unchecked: ' ' }` or `'consistent'`.","message":"Old style options may break; 'consistent' is default but behavior changed in v3 to detect first occurrence.","severity":"deprecated","affected_versions":"<3.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Switch to ESM imports or use dynamic import().","cause":"Using CommonJS require with an ESM-only package (v5+).","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module"},{"fix":"Use default import: import remarkLintCheckboxCharacterStyle from 'remark-lint-checkbox-character-style'","cause":"Named import used but package only has a default export.","error":"SyntaxError: The requested module 'remark-lint-checkbox-character-style' does not provide an export named 'remarkLintCheckboxCharacterStyle'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}