Markdown and MDX linting for @envsa/shared-config.
Overview
It's a shared Remark config for linting.
See @kitschpatrol/shared-config
for the recommended single-package approach.
Setup
To use just this Remark config in isolation:
-
Install the .npmrc
in your project root. This is required for correct PNPM behavior:
pnpm dlx @kitschpatrol/repo-config --init
-
Add the package:
pnpm add -D @kitschpatrol/remark-config
-
Add the starter .remarkrc.js
and files to your project root, and add any customizations you'd like:
pnpm exec remark-config --init
Usage
The Remark binary should be picked up automatically by VS Code plugins.
You can call it directly, but it's recommended to use the script bundled with the shared config to invoke the remark lint rules through ESLint. The eslint-mdx
plugin is used to bridge these rules into ESLint and the VS Code ESLint plugin.
Integrate with your package.json
scripts as you see fit, for example:
"scripts": {
"lint": "pnpm remark . --quiet --frail"
}
CLI
Command: remark-config
Markdown and MDX linting for @envsa/shared-config.
Usage:
remark-config [<file|glob> ...]
Option | Argument | Description |
---|
--init
-i | | Initialize by copying starter config files to your project root. |
--print-config
-p | <path> | Print the effective configuration at a certain path. |
--help
-h | | Print this help info. |
--version
-v | | Print the package version. |
Configuration
Avoiding errors in non-git projects
The remark-validate-links looks for a git remote to validate relative link paths.
If your project is not a git repository, you will receive warning from remark via eslint:
Command failed: git remote -v
fatal: not a git repository (or any of the parent directories): .git
eslint(undefined-undefined)
To fix this, pass the repository: false
option in your .remarkrc.js
file:
import sharedConfig, { overrideRules } from '@kitschpatrol/remark-config'
const localConfig = {
...sharedConfig,
plugins: overrideRules(sharedConfig.plugins, [['remarkValidateLinks', { repository: false }]]),
}
export default localConfig
License
MIT © Liam Rella