{"id":26265,"library":"remark-lint-no-missing-blank-lines","title":"remark-lint-no-missing-blank-lines","description":"A remark-lint rule that warns when blank lines are missing between Markdown block-level nodes. Part of the remark ecosystem for linting Markdown, version 4.0.1 is stable and ESM-only since v4. Key differentiators: automated detection of missing blank lines in headings, lists, and blockquotes; supports `exceptTightLists` option to allow omission in tight list items; integrates seamlessly with unified and remark-stringify. Not included in default presets; requires explicit configuration.","status":"active","version":"4.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/remarkjs/remark-lint#main","tags":["javascript","blank","line","lint","remark","remark-lint","remark-lint-rule","rule","typescript"],"install":[{"cmd":"npm install remark-lint-no-missing-blank-lines","lang":"bash","label":"npm"},{"cmd":"yarn add remark-lint-no-missing-blank-lines","lang":"bash","label":"yarn"},{"cmd":"pnpm add remark-lint-no-missing-blank-lines","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Provides the rule API for remark-lint plugins","package":"unified-lint-rule","optional":false},{"reason":"Must be used together with remark-lint to apply lint messages","package":"remark-lint","optional":true}],"imports":[{"note":"Default export only; named export does not exist.","wrong":"import { remarkLintNoMissingBlankLines } from 'remark-lint-no-missing-blank-lines'","symbol":"remarkLintNoMissingBlankLines","correct":"import remarkLintNoMissingBlankLines from 'remark-lint-no-missing-blank-lines'"},{"note":"Options is a TypeScript type, use type import.","wrong":"import { Options } from 'remark-lint-no-missing-blank-lines'","symbol":"Options","correct":"import type { Options } from 'remark-lint-no-missing-blank-lines'"},{"note":"CJS require only works with .default since ESM-only; consider upgrading to ESM.","wrong":"const remarkLintNoMissingBlankLines = require('remark-lint-no-missing-blank-lines')","symbol":"require","correct":"const remarkLintNoMissingBlankLines = require('remark-lint-no-missing-blank-lines').default"}],"quickstart":{"code":"import remarkLint from 'remark-lint';\nimport remarkLintNoMissingBlankLines from 'remark-lint-no-missing-blank-lines';\nimport remarkParse from 'remark-parse';\nimport remarkStringify from 'remark-stringify';\nimport { read } from 'to-vfile';\nimport { unified } from 'unified';\nimport { reporter } from 'vfile-reporter';\n\nconst file = await read('example.md');\nawait unified()\n  .use(remarkParse)\n  .use(remarkLint)\n  .use(remarkLintNoMissingBlankLines, { exceptTightLists: false })\n  .use(remarkStringify)\n  .process(file);\nconsole.error(reporter(file));","lang":"typescript","description":"Shows ESM usage with unified, parsing, linting for missing blank lines, and reporting."},"warnings":[{"fix":"Use ESM import or use require('remark-lint-no-missing-blank-lines').default","message":"ESM-only since v4.0.0; CommonJS require() fails without .default","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Use 'Options' import from v4+","message":"Options type previously exported as 'RemarkLintNoMissingBlankLinesOptions'","severity":"deprecated","affected_versions":"<4.0.0"},{"fix":"No fix; intended behavior. Use other rules for inline spacing.","message":"Does not check blank lines inside inline content; only block-level nodes","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use import statement or require('...').default","cause":"Attempting to use require() without .default in ESM-only version","error":"Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'remark-lint-no-missing-blank-lines'"},{"fix":"Use import remarkLintNoMissingBlankLines from 'remark-lint-no-missing-blank-lines'","cause":"Using named import instead of default import","error":"TypeError: remarkLintNoMissingBlankLines is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}