DavidAnson / DavidAnson/markdownlint-cli2
Consider supporting configuration file names of the form markdownlint-cli2.config.jsonc by default (follows ESLint)
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 922
- Forks
- 83
- Avg merge
- 5h 16m
- Merged PRs (30d)
- 21
Description
As per the README, markdownlint-cli2 supports the following names for configuration files by default:
- .markdownlint-cli2.jsonc
- .markdownlint-cli2.yaml
- .markdownlint-cli2.cjs or .markdownlint-cli2.mjs
- .markdownlint.jsonc or .markdownlint.json
- .markdownlint.yaml or .markdownlint.yml
- .markdownlint.cjs or .markdownlint.mjs
However, over the past 10 years or so, there has been a movement in the ecosystem to have lint tools standardize on a naming convention of foo.config.js. The "big 4" are ESLint, Prettier, Jest, and CSpell.
- The default config file name for ESLint is "eslint.config.js", as shown in the ESLint configuration documentation.
- The default config file name for Prettier is ".prettierrc", as shown in the Prettier installation documentation. However, it supports "prettier.config.js" out of the box without any additional configuration, as shown in the Prettier configuration file documentation.
- The default config file name for Jest is "jest.config.js", as shown in the Jest configuration documentation.
- There does not seem to be an officially recommended file name for the CSpell configuration file. The CSpell configuration documentation shows "cspell.json" at the top of the list. But much like Prettier, it has first class support for "cspell.config.js" out of the box without any additional configuration.
Other popular tools like Knip also support "knip.config.ts" automatically.
Edit - After making this post, I found yet another example in this very repository. =p
Thus, in order to match the way that the ecosystem is going, I propose that markdownlint-cli2 also supports the following file names by default:
- markdownlint-cli2.config.jsonc
- markdownlint-cli2.config.yaml
- markdownlint-cli2.config.js
- markdownlint-cli2.config.cjs
- markdownlint-cli2.config.mjs
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the README's current default configuration-file list and compare it with the repository's ava.config.mjs example. Trace where configuration filenames are discovered, then verify that the five proposed markdownlint-cli2.config.* names are supported by default and that the README reflects the completed set.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100