From a083dec2c910a23b23352ef6757f80aea560e959 Mon Sep 17 00:00:00 2001 From: David Anson Date: Sun, 31 Mar 2024 20:37:57 -0700 Subject: [PATCH] Add "gitignore" configuration option to ignore files specified in .gitignore when linting (fixes #292). --- README.md | 4 ++ markdownlint-cli2.js | 6 +++ schema/markdownlint-cli2-config-schema.json | 5 +++ test/gitignore/.gitignore | 1 + test/gitignore/.markdownlint-cli2.jsonc | 3 ++ test/gitignore/dir/.gitignore | 1 + test/gitignore/dir/UPPER.MD | 14 +++++++ test/gitignore/dir/about.md | 6 +++ test/gitignore/dir/subdir/info.md | 3 ++ test/gitignore/viewme.md | 14 +++++++ .../.markdownlint-cli2.jsonc | 3 ++ test/markdownlint-cli2-test-cases.js | 6 +++ test/markdownlint-cli2-test.js | 2 +- .../.markdownlint-cli2.yaml | 3 ++ .../markdownlint-cli2-test-exec.js.md | 26 +++++++++++++ .../markdownlint-cli2-test-exec.js.snap | Bin 13848 -> 13923 bytes .../snapshots/markdownlint-cli2-test-fs.js.md | 36 ++++++++++++++++++ .../markdownlint-cli2-test-fs.js.snap | Bin 5933 -> 6033 bytes .../markdownlint-cli2-test-main.js.md | 26 +++++++++++++ .../markdownlint-cli2-test-main.js.snap | Bin 12916 -> 12994 bytes 20 files changed, 158 insertions(+), 1 deletion(-) create mode 100644 test/gitignore/.gitignore create mode 100644 test/gitignore/.markdownlint-cli2.jsonc create mode 100644 test/gitignore/dir/.gitignore create mode 100644 test/gitignore/dir/UPPER.MD create mode 100644 test/gitignore/dir/about.md create mode 100644 test/gitignore/dir/subdir/info.md create mode 100644 test/gitignore/viewme.md diff --git a/README.md b/README.md index a6d09aa4..17873d92 100644 --- a/README.md +++ b/README.md @@ -256,6 +256,10 @@ of the rules within. - The `String` is passed as the `pattern` parameter to the [`RegExp` constructor][regexp-constructor] - For example: `(^---\s*$[^]*?^---\s*$)(\r\n|\r|\n|$)` + - `gitignore`: `Boolean` value to ignore files referenced by `.gitignore` when + linting + - This top-level setting is valid **only** in the directory from which + `markdownlint-cli2` is run - `globs`: `Array` of `String`s defining glob expressions to append to the command-line arguments - This setting can be used instead of (or in addition to) passing globs on diff --git a/markdownlint-cli2.js b/markdownlint-cli2.js index 129a035f..9818f231 100755 --- a/markdownlint-cli2.js +++ b/markdownlint-cli2.js @@ -476,14 +476,17 @@ const enumerateFiles = async ( baseDir, globPatterns, dirToDirInfo, + gitignore, noRequire ) => { const tasks = []; + /** @type {import("globby").Options} */ const globbyOptions = { "absolute": true, "cwd": baseDir, "dot": true, "expandDirectories": false, + gitignore, "suppressErrors": true, fs }; @@ -608,6 +611,7 @@ const createDirInfos = async ( globPatterns, dirToDirInfo, optionsOverride, + gitignore, noRequire ) => { await enumerateFiles( @@ -616,6 +620,7 @@ const createDirInfos = async ( baseDir, globPatterns, dirToDirInfo, + gitignore, noRequire ); await enumerateParents( @@ -1000,6 +1005,7 @@ const main = async (params) => { globPatterns, dirToDirInfo, optionsOverride, + Boolean(baseMarkdownlintOptions.gitignore), noRequire ); // Output linting status diff --git a/schema/markdownlint-cli2-config-schema.json b/schema/markdownlint-cli2-config-schema.json index bb807b8e..934e30a7 100644 --- a/schema/markdownlint-cli2-config-schema.json +++ b/schema/markdownlint-cli2-config-schema.json @@ -35,6 +35,11 @@ "minLength": 1, "default": "" }, + "gitignore": { + "description": "Whether to ignore files referenced by .gitignore when linting (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.12.1/README.md#markdownlint-cli2jsonc", + "type": "boolean", + "default": false + }, "globs": { "description": "Glob expressions to include when linting (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.12.1/README.md#markdownlint-cli2jsonc", "type": "array", diff --git a/test/gitignore/.gitignore b/test/gitignore/.gitignore new file mode 100644 index 00000000..b7671aeb --- /dev/null +++ b/test/gitignore/.gitignore @@ -0,0 +1 @@ +viewme.md \ No newline at end of file diff --git a/test/gitignore/.markdownlint-cli2.jsonc b/test/gitignore/.markdownlint-cli2.jsonc new file mode 100644 index 00000000..3fe7bdc4 --- /dev/null +++ b/test/gitignore/.markdownlint-cli2.jsonc @@ -0,0 +1,3 @@ +{ + "gitignore": true +} diff --git a/test/gitignore/dir/.gitignore b/test/gitignore/dir/.gitignore new file mode 100644 index 00000000..8bbe8a53 --- /dev/null +++ b/test/gitignore/dir/.gitignore @@ -0,0 +1 @@ +subdir \ No newline at end of file diff --git a/test/gitignore/dir/UPPER.MD b/test/gitignore/dir/UPPER.MD new file mode 100644 index 00000000..d60ebf5a --- /dev/null +++ b/test/gitignore/dir/UPPER.MD @@ -0,0 +1,14 @@ +# Title + +> Tagline + + +# Description + +Text text text +Text text text +Text text text + +## Summary + +Text text text \ No newline at end of file diff --git a/test/gitignore/dir/about.md b/test/gitignore/dir/about.md new file mode 100644 index 00000000..56d31c78 --- /dev/null +++ b/test/gitignore/dir/about.md @@ -0,0 +1,6 @@ +# About # + +Text text text +1. List +3. List +3. List diff --git a/test/gitignore/dir/subdir/info.md b/test/gitignore/dir/subdir/info.md new file mode 100644 index 00000000..fc9dba79 --- /dev/null +++ b/test/gitignore/dir/subdir/info.md @@ -0,0 +1,3 @@ +## Information +Text ` code1` text `code2 ` text + diff --git a/test/gitignore/viewme.md b/test/gitignore/viewme.md new file mode 100644 index 00000000..d60ebf5a --- /dev/null +++ b/test/gitignore/viewme.md @@ -0,0 +1,14 @@ +# Title + +> Tagline + + +# Description + +Text text text +Text text text +Text text text + +## Summary + +Text text text \ No newline at end of file diff --git a/test/markdownlint-cli2-jsonc-example/.markdownlint-cli2.jsonc b/test/markdownlint-cli2-jsonc-example/.markdownlint-cli2.jsonc index babf3e7e..9ae03241 100644 --- a/test/markdownlint-cli2-jsonc-example/.markdownlint-cli2.jsonc +++ b/test/markdownlint-cli2-jsonc-example/.markdownlint-cli2.jsonc @@ -19,6 +19,9 @@ // Define a custom front matter pattern "frontMatter": "[^]*<\/head>", + // Ignore files referenced by .gitignore (only valid at root) + "gitignore": true, + // Define glob expressions to use (only valid at root) "globs": [ "!*bout.md" diff --git a/test/markdownlint-cli2-test-cases.js b/test/markdownlint-cli2-test-cases.js index 598408da..e7912902 100644 --- a/test/markdownlint-cli2-test-cases.js +++ b/test/markdownlint-cli2-test-cases.js @@ -563,6 +563,12 @@ const testCases = ({ "exitCode": 0 }); + testCase({ + "name": "gitignore", + "args": [ "**/*.{md,MD}" ], + "exitCode": 1 + }); + testCase({ "name": "literal-files", "args": [ diff --git a/test/markdownlint-cli2-test.js b/test/markdownlint-cli2-test.js index 39708993..31e47bb8 100644 --- a/test/markdownlint-cli2-test.js +++ b/test/markdownlint-cli2-test.js @@ -109,7 +109,7 @@ test("validateMarkdownlintConfigSchema", async (t) => { }); test("validateMarkdownlintCli2ConfigSchema", async (t) => { - t.plan(88); + t.plan(89); // Validate schema // @ts-ignore diff --git a/test/markdownlint-cli2-yaml-example/.markdownlint-cli2.yaml b/test/markdownlint-cli2-yaml-example/.markdownlint-cli2.yaml index 7f53dda7..10140244 100644 --- a/test/markdownlint-cli2-yaml-example/.markdownlint-cli2.yaml +++ b/test/markdownlint-cli2-yaml-example/.markdownlint-cli2.yaml @@ -17,6 +17,9 @@ fix: true # Define a custom front matter pattern frontMatter: "[^]*<\/head>" +# Ignore files referenced by .gitignore (only valid at root) +gitignore: true + # Define glob expressions to use (only valid at root) globs: - "!*bout.md" diff --git a/test/snapshots/markdownlint-cli2-test-exec.js.md b/test/snapshots/markdownlint-cli2-test-exec.js.md index 5a1c6fef..5038d1f6 100644 --- a/test/snapshots/markdownlint-cli2-test-exec.js.md +++ b/test/snapshots/markdownlint-cli2-test-exec.js.md @@ -1579,6 +1579,32 @@ Generated by [AVA](https://avajs.dev). `, } +## gitignore (exec) + +> Snapshot 1 + + { + exitCode: 1, + formatterCodeQuality: '', + formatterJson: '', + formatterJunit: '', + formatterSarif: '', + stderr: `dir/about.md:1:1 MD021/no-multiple-space-closed-atx Multiple spaces inside hashes on closed atx style heading [Context: "# About #"]␊ + dir/about.md:4 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "1. List"]␊ + dir/about.md:5:1 MD029/ol-prefix Ordered list item prefix [Expected: 2; Actual: 3; Style: 1/2/3]␊ + dir/UPPER.MD:3:10 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]␊ + dir/UPPER.MD:5 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]␊ + dir/UPPER.MD:6 MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "# Description"]␊ + dir/UPPER.MD:12:1 MD019/no-multiple-space-atx Multiple spaces after hash on atx style heading [Context: "## Summary"]␊ + dir/UPPER.MD:14:14 MD047/single-trailing-newline Files should end with a single newline character␊ + `, + stdout: `markdownlint-cli2 vX.Y.Z (markdownlint vX.Y.Z)␊ + Finding: **/*.{md,MD}␊ + Linting: 2 file(s)␊ + Summary: 8 error(s)␊ + `, + } + ## literal-files (exec) > Snapshot 1 diff --git a/test/snapshots/markdownlint-cli2-test-exec.js.snap b/test/snapshots/markdownlint-cli2-test-exec.js.snap index 7b91d06adeeec9302d67b6fc1950e3e4326bc7f6..0c0a7e0f168e121aa02d28601214e7a3083f5b39 100644 GIT binary patch literal 13923 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 r$4=Wc+xT9{sw_%06X`JX literal 13848 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 HZy^5{(-7qJ diff --git a/test/snapshots/markdownlint-cli2-test-fs.js.md b/test/snapshots/markdownlint-cli2-test-fs.js.md index b031e593..d3762187 100644 --- a/test/snapshots/markdownlint-cli2-test-fs.js.md +++ b/test/snapshots/markdownlint-cli2-test-fs.js.md @@ -1355,6 +1355,42 @@ Generated by [AVA](https://avajs.dev). `, } +## gitignore (fs) + +> Snapshot 1 + + { + exitCode: 1, + formatterCodeQuality: '', + formatterJson: '', + formatterJunit: '', + formatterSarif: '', + stderr: `dir/about.md:1:1 MD021/no-multiple-space-closed-atx Multiple spaces inside hashes on closed atx style heading [Context: "# About #"]␊ + dir/about.md:4 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "1. List"]␊ + dir/about.md:5:1 MD029/ol-prefix Ordered list item prefix [Expected: 2; Actual: 3; Style: 1/2/3]␊ + dir/subdir/info.md:1 MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: "## Information"]␊ + dir/subdir/info.md:1 MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Information"]␊ + dir/subdir/info.md:2:6 MD038/no-space-in-code Spaces inside code span elements [Context: "\` code1\`"]␊ + dir/subdir/info.md:2:20 MD038/no-space-in-code Spaces inside code span elements [Context: "\`code2 \`"]␊ + dir/subdir/info.md:4 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]␊ + dir/UPPER.MD:3:10 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]␊ + dir/UPPER.MD:5 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]␊ + dir/UPPER.MD:6 MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "# Description"]␊ + dir/UPPER.MD:12:1 MD019/no-multiple-space-atx Multiple spaces after hash on atx style heading [Context: "## Summary"]␊ + dir/UPPER.MD:14:14 MD047/single-trailing-newline Files should end with a single newline character␊ + viewme.md:3:10 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]␊ + viewme.md:5 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]␊ + viewme.md:6 MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "# Description"]␊ + viewme.md:12:1 MD019/no-multiple-space-atx Multiple spaces after hash on atx style heading [Context: "## Summary"]␊ + viewme.md:14:14 MD047/single-trailing-newline Files should end with a single newline character␊ + `, + stdout: `markdownlint-cli2 vX.Y.Z (markdownlint vX.Y.Z)␊ + Finding: **/*.{md,MD}␊ + Linting: 4 file(s)␊ + Summary: 18 error(s)␊ + `, + } + ## literal-files (fs) > Snapshot 1 diff --git a/test/snapshots/markdownlint-cli2-test-fs.js.snap b/test/snapshots/markdownlint-cli2-test-fs.js.snap index c47caf5acb07f9441218484eb3855ed805877950..be0ab2a9f1f9d19b7e46f5e9041004b7496674db 100644 GIT binary patch literal 6033 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 literal 5933 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 Snapshot 1 + + { + exitCode: 1, + formatterCodeQuality: '', + formatterJson: '', + formatterJunit: '', + formatterSarif: '', + stderr: `dir/about.md:1:1 MD021/no-multiple-space-closed-atx Multiple spaces inside hashes on closed atx style heading [Context: "# About #"]␊ + dir/about.md:4 MD032/blanks-around-lists Lists should be surrounded by blank lines [Context: "1. List"]␊ + dir/about.md:5:1 MD029/ol-prefix Ordered list item prefix [Expected: 2; Actual: 3; Style: 1/2/3]␊ + dir/UPPER.MD:3:10 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]␊ + dir/UPPER.MD:5 MD012/no-multiple-blanks Multiple consecutive blank lines [Expected: 1; Actual: 2]␊ + dir/UPPER.MD:6 MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "# Description"]␊ + dir/UPPER.MD:12:1 MD019/no-multiple-space-atx Multiple spaces after hash on atx style heading [Context: "## Summary"]␊ + dir/UPPER.MD:14:14 MD047/single-trailing-newline Files should end with a single newline character␊ + `, + stdout: `markdownlint-cli2 vX.Y.Z (markdownlint vX.Y.Z)␊ + Finding: **/*.{md,MD}␊ + Linting: 2 file(s)␊ + Summary: 8 error(s)␊ + `, + } + ## literal-files (main) > Snapshot 1 diff --git a/test/snapshots/markdownlint-cli2-test-main.js.snap b/test/snapshots/markdownlint-cli2-test-main.js.snap index 99f89f3778f28a9c6f23a51c3ce2cba9be8267d8..de214d967b889a1c113e4f94c71ca59569743f78 100644 GIT binary patch literal 12994 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 literal 12916 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