markdownlint icon indicating copy to clipboard operation
markdownlint copied to clipboard

support settings to ignore rules for glob files

Open tjx666 opened this issue 2 years ago • 8 comments

In my large monorepo projects, there are many changelog file, I want to disable MD041 for all changelog file. For now, I can't find a simple way to achieve this.

tjx666 avatar Dec 05 '22 09:12 tjx666

Assuming you can identify changelog when invoking the linter, what about running two passes for linting? One pass with that rule disabled and only looking at changelogs, the other pass scanning everything else.

DavidAnson avatar Dec 05 '22 17:12 DavidAnson

(This library doesn't do anything with globs, it just scans the list of files you give it.)

DavidAnson avatar Dec 05 '22 17:12 DavidAnson

I config the markdownlint using .markdownlint.json, any way to satisfy my need only modify the config?

My suggestion is to support something like eslint overrides option.

{
    "overrides" {
        "files": ["CHANGELOG.md"],
        "rules": {
            "MD001": false,
        }
    }
}

tjx666 avatar Dec 05 '22 17:12 tjx666

Think it's similar to https://github.com/DavidAnson/markdownlint-cli2/issues/50 and is looking for the support that other libraries like ESLint https://eslint.org/docs/latest/user-guide/configuring/configuration-files#configuration-based-on-glob-patterns or Prettier https://prettier.io/docs/en/configuration.html#configuration-overrides

nschonni avatar Dec 05 '22 20:12 nschonni

OK, thanks. I will leave this issue here as a reminder to myself, but this may end up making the most sense in CLI or CLI2.

DavidAnson avatar Dec 05 '22 21:12 DavidAnson

OK, thanks. I will leave this issue here as a reminder to myself, but this may end up making the most sense in CLI or CLI2.

Hi @DavidAnson , is this still on the radar? I've run into a scenario where we have .mdx and .snippet.mdx files in a project, and would like to disable some rules such as MD041 only for the reusable snippet files, but otherwise apply the remaining rules to both types. Something such as the overrides syntax would be wonderful for this, as opposed to doing two separate runs with different configs.

Ex.

{
  "overrides" {
    "files": ["**/*.snippet.mdx"],
    "rules": {
      "MD041": false,
    }
  }
}

stern-shawn avatar Jul 06 '23 00:07 stern-shawn

@stern-shawn, when using this library directly, you can pass it whatever set of files you want and should filter out any you don't. When using markdownlint-cli or -cli2, you may be able to use the ignore argument or option to filter out unwanted files. That may not work for all scenarios, but it's hard to say in the abstract.

DavidAnson avatar Jul 06 '23 02:07 DavidAnson

@DavidAnson I see, and my apologies (I found this via google search and didn't confirm that it was part of the markdownlint-cli2 issues 🤦 ). I will look at running -cli2 with one pass for snippet files and another for all other mdx 🙇

stern-shawn avatar Jul 06 '23 17:07 stern-shawn