{"id":26222,"library":"remark-lint-link-title-style","title":"remark-lint-link-title-style","description":"Unified.js remark-lint rule to enforce a consistent style of quote marks in link, image, and definition titles. Current stable version 4.0.1, ESM-only, TypeScript types included, part of the remark-lint ecosystem with regular updates and active maintenance. Differentiators: supports 'consistent' mode (auto-detect first style) and explicit settings for double quotes, single quotes, or parentheses; included in popular presets like remark-preset-lint-consistent.","status":"active","version":"4.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/remarkjs/remark-lint#main","tags":["javascript","definition","image","link","lint","remark","remark-lint","remark-lint-rule","rule","typescript"],"install":[{"cmd":"npm install remark-lint-link-title-style","lang":"bash","label":"npm"},{"cmd":"yarn add remark-lint-link-title-style","lang":"bash","label":"yarn"},{"cmd":"pnpm add remark-lint-link-title-style","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Provides the linting framework and reporter integration","package":"remark-lint","optional":false},{"reason":"Core unified processor required for remark-lint to work","package":"unified","optional":false}],"imports":[{"note":"ESM-only since v4.0.0. Cannot use require().","wrong":"const remarkLintLinkTitleStyle = require('remark-lint-link-title-style')","symbol":"remarkLintLinkTitleStyle","correct":"import remarkLintLinkTitleStyle from 'remark-lint-link-title-style'"},{"note":"This is a default export, not a named export.","wrong":"import { remarkLintLinkTitleStyle } from 'remark-lint-link-title-style'","symbol":"remarkLintLinkTitleStyle","correct":"import remarkLintLinkTitleStyle from 'remark-lint-link-title-style'"},{"note":"Options is a TypeScript type, use import type to avoid runtime import in production.","wrong":"import { Options } from 'remark-lint-link-title-style'","symbol":"Options","correct":"import type { Options } from 'remark-lint-link-title-style'"},{"note":"Style is a TypeScript type, use import type.","wrong":"import { Style } from 'remark-lint-link-title-style'","symbol":"Style","correct":"import type { Style } from 'remark-lint-link-title-style'"}],"quickstart":{"code":"import { unified } from 'unified';\nimport remarkParse from 'remark-parse';\nimport remarkStringify from 'remark-stringify';\nimport remarkLint from 'remark-lint';\nimport remarkLintLinkTitleStyle from 'remark-lint-link-title-style';\nimport { read } from 'to-vfile';\nimport { reporter } from 'vfile-reporter';\n\nconst file = await read('example.md');\n\nawait unified()\n  .use(remarkParse)\n  .use(remarkLint)\n  .use(remarkLintLinkTitleStyle, '\"')\n  .use(remarkStringify)\n  .process(file);\n\nconsole.error(reporter(file));","lang":"typescript","description":"Set up a unified pipeline to lint markdown links for double-quote title style using remark-lint-link-title-style."},"warnings":[{"fix":"Use dynamic import() or convert project to ESM. Use version 3.x for CJS support.","message":"Version 4.0.0 dropped CommonJS support; package is now ESM-only.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Set options to '\"' or \"'\" explicitly.","message":"The 'consistent' option may produce different results across files if the first style varies; use explicit style for deterministic linting.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Use import type { Options } from 'remark-lint-link-title-style'.","message":"When using TypeScript, import Options and Style as types only (import type) to avoid emitting runtime code.","severity":"gotcha","affected_versions":">=4.0.0"},{"fix":"Use other remark-lint rules for link text (remark-lint-no-undefined-references) or URLs (remark-lint-no-url-trailing-slash).","message":"The rule only checks link title markers, not link text or URLs. Common mistake: assuming it validates all link syntax.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade to Node 16+ or use version 3.x.","message":"In older Node.js versions (16+), the package may require ESM support. Not compatible with Node 14 or earlier.","severity":"gotcha","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Change to import statement or use dynamic import().","cause":"Trying to require() an ESM-only package.","error":"ERR_MODULE_NOT_FOUND: Cannot find module 'remark-lint-link-title-style'"},{"fix":"Use `import remarkLintLinkTitleStyle from 'remark-lint-link-title-style'`.","cause":"Using named import { remarkLintLinkTitleStyle } instead of default import.","error":"The default export of 'remark-lint-link-title-style' is not a function"},{"fix":"Remove the import or use `import type { Options }`.","cause":"Trying to use Options as a value instead of a type.","error":"Options is not a constructor"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}