Skip to main content

Colored terminal demos

These deterministic recordings use the plugin's actual display controller. File events arrive at fixed intervals to make behavior reproducible; the timings illustrate process-wide metrics and do not measure individual file completion. Spinner frames advance with file events, replacing the previous progress block in an interactive terminal. Redirected output uses complete lines.

Animated GIFs follow the presentation used by eslint-plugin-file-progress-2. For a still image, see the static terminal poster. The casts preserve selectable terminal text and ANSI colors.

Jump to presets, options, or recording instructions. Choose a preset or review the option defaults while comparing output.

Presetsโ€‹

Show each file using the default display options.

recommended terminal recording

Preset configuration ยท Terminal cast

Hide all plugin output when CI is exactly true.

recommended-ci terminal recording

Preset configuration ยท Terminal cast

Hide live output in CI while retaining the detailed process summary.

recommended-ci-detailed terminal recording

Preset configuration ยท Terminal cast

Announce generic activity once, without showing filenames.

recommended-compact terminal recording

Preset configuration ยท Terminal cast

Show filenames and the detailed process summary.

recommended-detailed terminal recording

Preset configuration ยท Terminal cast

Show only the final process summary.

recommended-summary-only terminal recording

Preset configuration ยท Terminal cast

Show output only when stderr is an interactive terminal.

recommended-tty terminal recording

Preset configuration ยท Terminal cast

The two CI recordings use CI=true; recommended-tty uses an interactive stderr stream.

Optionsโ€‹

Add these secondary options to the rule: rules: { "file-progress/activate": [true, options] }.

pathFormatโ€‹

Show basenames instead of relative paths.

{
"pathFormat": "basename"
}

pathFormat terminal recording

Terminal cast

hideDirectoryNamesโ€‹

The deprecated alias still selects basename paths; prefer pathFormat.

{
"hideDirectoryNames": true
}

hideDirectoryNames terminal recording

Terminal cast

fileNameOnNewLineโ€‹

Put the filename on its own indented line.

{
"fileNameOnNewLine": true
}

fileNameOnNewLine terminal recording

Terminal cast

hideFileNameโ€‹

Announce activity once without listing filenames.

{
"hideFileName": true
}

hideFileName terminal recording

Terminal cast

hidePrefixโ€‹

Remove the SFP label and prefix mark.

{
"hidePrefix": true
}

hidePrefix terminal recording

Terminal cast

prefixMarkโ€‹

Choose a custom prefix mark.

{
"prefixMark": ">>"
}

prefixMark terminal recording

Terminal cast

successMarkโ€‹

Choose the mark used with a zero process exit code.

{
"successMark": "OK"
}

successMark terminal recording

Terminal cast

successMessageโ€‹

Customize the shutdown message.

{
"successMessage": "Stylesheet pass finished."
}

successMessage terminal recording

Terminal cast

failureMarkโ€‹

A nonzero process exit code selects red failure styling, without inventing problem totals.

{
"failureMark": "FAIL",
"detailedSuccess": true
}

failureMark terminal recording

Terminal cast

detailedSuccessโ€‹

Include observed files, elapsed process time, throughput, and exit code.

{
"detailedSuccess": true
}

detailedSuccess terminal recording

Terminal cast

mode-compactโ€‹

Emit one activity notice, followed by the shutdown summary.

{
"mode": "compact"
}

mode-compact terminal recording

Terminal cast

mode-summary-onlyโ€‹

Wait until process exit before displaying the summary.

{
"mode": "summary-only"
}

mode-summary-only terminal recording

Terminal cast

hideโ€‹

Hide both progress and the shutdown summary.

{
"hide": true
}

hide terminal recording

Terminal cast

showSummaryWhenHiddenโ€‹

Keep the process summary when live progress is hidden.

{
"hide": true,
"showSummaryWhenHidden": true,
"detailedSuccess": true
}

showSummaryWhenHidden terminal recording

Terminal cast

throttleMsโ€‹

Limit live displays while still counting every observed file.

{
"throttleMs": 1000,
"detailedSuccess": true
}

throttleMs terminal recording

Terminal cast

minFilesBeforeShowโ€‹

Wait for three observed files before showing output.

{
"minFilesBeforeShow": 3,
"detailedSuccess": true
}

minFilesBeforeShow terminal recording

Terminal cast

outputStreamโ€‹

Explicitly direct progress to stdout instead of the default stderr.

{
"outputStream": "stdout"
}

outputStream terminal recording

Terminal cast

ttyOnlyโ€‹

Suppress output when the selected stream is not a terminal.

{
"ttyOnly": true
}

ttyOnly terminal recording

Terminal cast

non-ttyโ€‹

Redirected output uses plain lines without spinner frames or color.

{}

non-tty terminal recording

Terminal cast

spinnerStyle-arcโ€‹

Use arc frames, advancing when files are observed.

{
"spinnerStyle": "arc"
}

spinnerStyle-arc terminal recording

Terminal cast

spinnerStyle-bounceโ€‹

Use bounce frames, advancing when files are observed.

{
"spinnerStyle": "bounce"
}

spinnerStyle-bounce terminal recording

Terminal cast

spinnerStyle-clockโ€‹

Use clock frames, advancing when files are observed.

{
"spinnerStyle": "clock"
}

spinnerStyle-clock terminal recording

Terminal cast

spinnerStyle-dotsโ€‹

Use dots frames, advancing when files are observed.

{
"spinnerStyle": "dots"
}

spinnerStyle-dots terminal recording

Terminal cast

spinnerStyle-lineโ€‹

Use line frames, advancing when files are observed.

{
"spinnerStyle": "line"
}

spinnerStyle-line terminal recording

Terminal cast

Reproduce the recordingsโ€‹

Install agg 1.9.0, then run npm run build and npm run docs:demos:write. The renderer uses the GitHub dark palette. Glyph appearance can vary with the system's monospace and fallback fonts.

npm run docs:demos:check regenerates the expected terminal traces in memory and checks every committed cast, GIF integrity hash, gallery entry, and static poster without writing files or requiring agg. Regenerate the recordings whenever output behavior changes.