Skip to content

About

Native per-file progress and process summaries for remark

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

21 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

remark-lint-file-progress

Remark File Progress terminal logo

See the Markdown file behind the wait.
Live filenames and configurable process summaries for remark.

Latest npm version. Native unified plugin. Supported Node.js versions. Bundled TypeScript declarations. Latest GitHub release. Codecov coverage. GitHub Actions checks on main. GitHub stars. MIT license.

Documentation · Getting started · Presets · Terminal demos · Plugin & options

A little clarity for every lint run

  • Native Remark integration. One synchronous transformer that leaves Markdown, trees, messages, and exit status intact.
  • Output that fits your workflow. File, compact, and summary modes, with presets for CI and interactive terminals.
  • Useful process summaries. Observed file counts, elapsed time, throughput, and exit-code appearance.
  • Your terminal, your preferences. Progress updates in place, with colored paths, spinner frames, marks, messages, streams, and display thresholds.
  • Typed and portable. ESM and CommonJS exports, TypeScript declarations, and seven configuration subpaths.

Colored per-file progress

Watch the detailed process summary

Detailed process summary

Explore every preset and option demo. These reproducible recordings use the actual display controller; their timings illustrate process metrics.

Installation

Install the plugin and remark CLI in your project:

npm install --save-dev remark-cli remark-lint-file-progress

To test a local checkout before a release, build a tarball:

git clone https://github.com/Nick2bad4u/remark-lint-file-progress.git
cd remark-lint-file-progress
npm ci
npm pack

In your consumer project, install remark-cli and the generated tarball using its actual path:

npm install --save-dev remark-cli /path/to/remark-lint-file-progress-1.0.1.tgz

Configuration

Use a native preset in your remark configuration:

import recommended from "remark-lint-file-progress/configs/recommended";

export default recommended;

Or customize progress alongside your existing shared config (version 2.0.0 already includes it; unified merges the repeated registration):

import shared from "remark-config-nick2bad4u";
import progress from "remark-lint-file-progress";

export default {
 plugins: [shared, [progress, { detailedSuccess: true }]],
};
npx remark README.md --frail --no-stdout

The callable plugin also works with remark().use(progress, options). Pass false to disable it; omitted options, true, and null use the defaults.

Options and presets

All display options preserve the Stylelint/ESLint progress names and defaults.

Preset Best for Behavior
🟢 recommended Follow each Markdown file Show each file using the default display options.
🔵 recommended-ci Keep CI logs quiet Hide all plugin output when CI is exactly true.
🟣 recommended-ci-detailed Keep a summary in CI Hide live output in CI while retaining the detailed process summary.
🟡 recommended-compact Show activity without paths Show generic activity without filenames; redirected output announces it once.
🟠 recommended-detailed See process-wide metrics Show filenames and the detailed process summary.
🩷 recommended-summary-only Read the final summary Show only the final process summary.
🟦 recommended-tty Respect redirected output Show output only when stderr is an interactive terminal.

Compatibility

Node.js 22+, unified 11, VFile 6, remark 15, remark-cli 12, and remark-lint 10. The plugin exports ESM and CommonJS with declarations; CommonJS consumers dynamically import the ESM-only remark host.

Each transformer execution records one event, including repeat processing of one VFile. Progress goes to stderr by default, preserving Markdown and JSON tree output on stdout. Reporters normally share stderr with progress; hide progress when consuming that stream as machine-readable output.

Summaries measure observed events over the process lifetime, without inferred problem counts or per-file completion times. Windows terminal output preserves Unicode and colors through Node's console-aware streams.

Interactive terminals reuse the previous progress block when stream activity and terminal geometry allow it. Redirected output uses complete lines. Embedders using raw descriptor writes should use summary-only mode or disable progress. Read compatibility and troubleshooting for the precise output boundaries.

Explore the project

Contributing and attribution

See contributing for development and verification, and NOTICE for attribution.

About

Native per-file progress and process summaries for remark

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages