Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 30 additions & 19 deletions bin/mdlint.js
Original file line number Diff line number Diff line change
@@ -1,23 +1,34 @@
#!/usr/bin/env node
const commander = require('commander');
const markdownlint = require('markdownlint');

const files = commander.parse(process.argv).args;
import { Command } from 'commander';
import { lint } from 'markdownlint/sync';

// See rules at https://github.com/mivok/markdownlint/blob/master/docs/RULES.md
const config = {
MD004: false, // Unordered list style
MD007: false, // Unordered list indentation
MD024: false, // Multiple headers with the same content
MD027: false, // Multiple spaces after blockquote symbol
MD029: { style: 'ordered' }, // Ordered list item prefix
MD034: false, // Bare URL used
MD040: false, // Fenced code blocks should have a language specified
};
const program = new Command();

const result = markdownlint.sync({ files, config });
const errors = result.toString();
if (errors) {
process.stderr.write(`${errors}\n`);
process.exit(1);
}
program
.arguments('<files...>')
.action(files => {
const config = {
MD004: false, // Unordered list style
MD007: false, // Unordered list indentation
MD024: false, // Multiple headers with the same content
MD027: false, // Multiple spaces after blockquote symbol
MD029: { style: 'ordered' }, // Ordered list item prefix
MD034: false, // Bare URL used
MD040: false, // Fenced code blocks should have a language specified
};

const options = {
files,
config,
};

const result = lint(options);
const errors = result.toString();
if (errors) {
process.stderr.write(`${errors}\n`);
process.exit(1);
}
});

program.parse(process.argv);
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"mdlint": "./bin/mdlint.js"
},
"main": "index.js",
"type": "module",
"scripts": {
"test": "yarn run --silent lint && yarn run --silent lint_md",
"lint": "eslint -c eslint.config.cjs $(git ls-files '*.js')",
Expand All @@ -16,8 +17,8 @@
"url": "https://github.com/scality/Guidelines"
},
"dependencies": {
"commander": "11.1.0",
"markdownlint": "0.31.1"
"commander": "13.1.0",
"markdownlint": "0.37.4"
},
"devDependencies": {
"eslint": "^9.9.1"
Expand Down
Loading