{"id":18821,"library":"standard-markdown","title":"standard-markdown","description":"Test your Markdown files for Standard JavaScript Style™. Current stable version is 7.1.0 (requires Node >=11). Release cadence is sporadic, with major versions bumping the underlying `standard` dependency. Key differentiators: it lints JavaScript code blocks inside Markdown files (GitHub-Flavored `js`/`javascript` blocks), disables certain rules inappropriate for inline code (e.g., no-undef, no-unused-vars), and supports auto-fixing via `standard`. Alternatives include `remark-lint` for general Markdown linting or manual extraction of code blocks.","status":"active","version":"7.1.0","language":"javascript","source_language":"en","source_url":"https://github.com/zeke/standard-markdown","tags":["javascript","standard","lint","linter","markdown","code","snippet"],"install":[{"cmd":"npm install standard-markdown","lang":"bash","label":"npm"},{"cmd":"yarn add standard-markdown","lang":"bash","label":"yarn"},{"cmd":"pnpm add standard-markdown","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"CLI argument parsing","package":"commander","optional":false},{"reason":"Glob pattern matching for files","package":"globby","optional":false},{"reason":"Core linting engine for JavaScript Standard Style","package":"standard","optional":false}],"imports":[{"note":"ESM-only since v7; no default export for direct linting, module exposes lint and lintFiles functions.","wrong":"const standardMarkdown = require('standard-markdown')","symbol":"default","correct":"import standardMarkdown from 'standard-markdown'"},{"note":"Available as named export for programmatic use. lint() lints a given string.","wrong":"const { lint } = require('standard-markdown')","symbol":"lint","correct":"import { lint } from 'standard-markdown'"},{"note":"Named export; accepts glob patterns and returns results.","wrong":"import lintFiles from 'standard-markdown'","symbol":"lintFiles","correct":"import { lintFiles } from 'standard-markdown'"}],"quickstart":{"code":"import { lintFiles } from 'standard-markdown'\n\nasync function lintMarkdownFiles() {\n  try {\n    const results = await lintFiles(['docs/**/*.md', '!docs/api/**/*.md'])\n    if (results.length === 0) {\n      console.log('No lint errors found.')\n    } else {\n      results.forEach(result => {\n        console.log(`File: ${result.filePath}`)\n        result.messages.forEach(msg => {\n          console.log(`  Line ${msg.line}: ${msg.message}`)\n        })\n      })\n    }\n  } catch (err) {\n    console.error('Linting failed:', err)\n  }\n}\n\nlintMarkdownFiles()","lang":"typescript","description":"Lints all .md files in the docs directory (except api subdirectory) using standard-markdown programmatically with ESM imports and async/await."},"warnings":[{"fix":"Upgrade Node.js to >=11.","message":"standard-markdown v7.0.0 drops support for Node.js versions below 11.","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Upgrade Node.js to >=8.","message":"standard-markdown v6.0.0 drops support for Node.js 6.","severity":"breaking","affected_versions":">=6.0.0"},{"fix":"Use import syntax or switch to dynamic import().","message":"standard-markdown v7.0.0 is ESM-only; require() will fail with ERR_REQUIRE_ESM.","severity":"breaking","affected_versions":">=7.0.0"},{"fix":"Manually review code blocks for correctness beyond style.","message":"standard-markdown disables several rules (no-undef, no-unused-vars) that may give false sense of security for code blocks.","severity":"gotcha","affected_versions":"*"},{"fix":"Switch from default import to named imports: import { lint } from 'standard-markdown'.","message":"The default export was removed; lint and lintFiles are now named exports.","severity":"breaking","affected_versions":">=7.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use import syntax, or use dynamic import(): const standardMarkdown = await import('standard-markdown').","cause":"Using require() on an ESM-only package in Node.js <12 or with CJS module system.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/standard-markdown not supported."},{"fix":"Use import { lintFiles } from 'standard-markdown' instead of import standardMarkdown from 'standard-markdown'.","cause":"Importing the default export (which no longer exists) instead of named exports.","error":"TypeError: standardMarkdown.lintFiles is not a function"},{"fix":"Run npm install standard-markdown or check your package.json dependencies.","cause":"Package not installed or not in node_modules.","error":"Error: Cannot find module 'standard-markdown'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}