{"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,"search_vec":"'4.0.1':29 'activ':47 'auto':54 'auto-detect':53 'consist':15,51,77 'current':26 'definit':24,79 'detect':55 'differenti':49 'doubl':62 'ecosystem':42 'enforc':13 'esm':31 'esm-on':30 'explicit':59 'first':56 'imag':22,80 'includ':35,68 'javascript':78 'like':72 'link':4,21,81 'lint':3,10,41,76,82,86,89 'mainten':48 'mark':19 'mode':52 'parenthes':67 'part':36 'popular':70 'preset':71,75 'quot':18,63,65 'regular':44 'remark':2,9,40,74,83,85,88 'remark-lint':8,39,84 'remark-lint-link-title-styl':1 'remark-lint-rul':87 'remark-preset-lint-consist':73 'rule':11,90,91 'set':60 'singl':64 'stabl':27 'style':6,16,57 'support':50 'titl':5,25 'type':34 'typescript':33,92 'unified.js':7 'updat':45 'version':28","created_at":"2026-05-01T13:48:51.962661+00:00","updated_at":"2026-05-01T13:48:51.962661+00:00","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,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/remarkjs/remark-lint.git#main","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/remark-lint-link-title-style","openapi_spec":null,"status_page":null,"smithery":null,"categories":["testing"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-05-01","next_check":"2026-07-30","install_tag":null}}