{"id":25678,"library":"grunt-markdownlint","title":"grunt-markdownlint","description":"Grunt plugin for markdownlint, a rule-based Markdown linter. Version 3.1.6 wraps markdownlint 0.26+. Integrates linting into Grunt build pipelines, supporting config files (JSON) or inline rules. Alternatives: direct markdownlint CLI or other Grunt linters. Active maintenance, monthly releases.","status":"active","version":"3.1.6","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/sagiegurari/grunt-markdownlint","tags":["javascript","grunt","gruntplugin","validate","lint","report","markdown","markdownlint"],"install":[{"cmd":"npm install grunt-markdownlint","lang":"bash","label":"npm"},{"cmd":"yarn add grunt-markdownlint","lang":"bash","label":"yarn"},{"cmd":"pnpm add grunt-markdownlint","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core linting engine","package":"markdownlint","optional":false}],"imports":[{"note":"Must use Grunt's loadNpmTasks, not direct require.","wrong":"require('grunt-markdownlint')(grunt);","symbol":"grunt","correct":"grunt.loadNpmTasks('grunt-markdownlint'); grunt.initConfig({ markdownlint: { ... } });"},{"note":"Use 'config' property, not 'rules'.","wrong":"options: { rules: { ... } }","symbol":"config","correct":"options: { config: { 'default': true, 'line-length': false } }"},{"note":"Set config to parsed JSON object, not file path string.","wrong":"options: { configFile: 'path/to/config.json' }","symbol":"configFile","correct":"options: { config: grunt.file.readJSON('path/to/config.json') }"}],"quickstart":{"code":"// Gruntfile.js\nmodule.exports = function(grunt) {\n  grunt.loadNpmTasks('grunt-markdownlint');\n  grunt.initConfig({\n    markdownlint: {\n      all: {\n        options: {\n          config: {\n            'default': true,\n            'line-length': false,\n            'no-inline-html': false\n          }\n        },\n        src: ['README.md', '**/*.md', '!node_modules']\n      }\n    }\n  });\n  grunt.registerTask('lint', ['markdownlint']);\n};\n","lang":"javascript","description":"Registers markdownlint task with inline config, runs on all markdown files excluding node_modules."},"warnings":[{"fix":"Upgrade Node.js to v13 or later.","message":"Minimum Node.js version required: v13+ (since v3.0.0). Older versions cause runtime errors.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Use grunt.file.readJSON('path/to/config.json').","message":"Config file must be parsed with grunt.file.readJSON, not a string path.","severity":"gotcha","affected_versions":">=0.0.1"},{"fix":"Replace 'rules' with 'config' in task options.","message":"The 'rules' property in options is deprecated; use 'config' instead.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"Verify glob patterns with grunt.file.expand.","message":"Glob patterns in src must not include directories without markdown files; task succeeds silently if no files matched.","severity":"gotcha","affected_versions":">=0.0.1"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install --save-dev grunt-markdownlint` and add grunt.loadNpmTasks('grunt-markdownlint') to Gruntfile.","cause":"grunt.loadNpmTasks('grunt-markdownlint') not called or plugin not installed.","error":"Warning: Task \"markdownlint\" not found."},{"fix":"Run `npm install --save-dev markdownlint`.","cause":"markdownlint is a peer dependency not installed automatically.","error":"Fatal error: Cannot find module 'markdownlint'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}