remark-preset-lint-retext-english

raw JSON →
2.0.12 verified Fri May 01 auth: no javascript

A remark-lint preset that integrates retext plugins for automated proofreading of English text in Markdown. Current version 2.0.12 (April 2025). It bundles retext-equality, retext-profanities, retext-contractions, retext-diacritics, retext-spell, retext-indefinite-article, retext-repeated-words, retext-sentence-spacing, retext-quotes, and dictionary-en. Key differentiator: opinionated all-in-one setup for catching writing issues like he-she, profanity, contractions, spelling, and repeated words, directly in Markdown processing pipelines. Requires unified and remark-retext as peer dependencies.

error Error: Cannot find module 'remark-preset-lint-retext-english'
cause Missing devDependency or improper installation.
fix
Run 'npm install --save-dev remark-preset-lint-retext-english'.
error TypeError: remark().use is not a function
cause Using old-style require() for ESM package.
fix
Use import statement instead of require.
error Cannot find module 'unified'
cause Missing peer dependency unified.
fix
Run 'npm install unified'.
breaking V2.0.0 dropped support for Node < 16.
fix Upgrade to Node 16+.
deprecated The package is deprecated; consider using remark-lint rules directly or retext plugins individually.
fix Migrate to individual retext plugins (e.g., retext-equality, retext-spell).
gotcha The preset includes dictionary-en v4, which may not exist in all environments. Ensure network access for spell checking.
fix Preinstall dictionary-en or configure offline dictionary.
npm install remark-preset-lint-retext-english
yarn add remark-preset-lint-retext-english
pnpm add remark-preset-lint-retext-english

Shows how to import and use the preset with remark, processing a Markdown file and printing lint messages.

import { remark } from 'remark';
import retextEnglish from 'retext-english';
import retextStringify from 'retext-stringify';
import preset from 'remark-preset-lint-retext-english';
import { read } from 'to-vfile';

const file = await remark()
  .use(preset)
  .process(await read('example.md'));

const result = String(file);
console.log(file.messages); // Array of lint messages