Skip to content

sibiraj-s/eslint-plugin-file-progress

Repository files navigation

eslint-plugin-file-progress

Version Version Tests

Eslint plugin to print file progress

Getting Started

Installation

npm i -D eslint-plugin-file-progress
# or
yarn add --dev eslint-plugin-file-progress

Usage

// eslint.config.js

{
  name: 'progress',
  plugins: {
    progress
  },
  rules: {
    "progress/activate": 1
  },
  settings: {
    progress: {
      hide: false, // use this to hide the progress message, can be useful in CI
      hideFileName: false, // use this to hide the file name, would simply show "Linting..."
      successMessage: "Lint done..."
    }
  }
}

Or use the recommended config

// eslint.config.js
import progress from 'eslint-plugin-file-progress'

export default [
  progress.configs.recommended
]

or if you want to hide the progress message in CI

// eslint.config.js
import progress from 'eslint-plugin-file-progress'

export default [
  progress.configs['recommended-ci']
]

This configuration is similar to the recommended one, but it automatically detects CI environments by checking if the CI environment variable is set to true, and hides the progress message accordingly.

For CI's where CI is not set to true, you can use the settings.progress.hide option to hide the progress message.

Demo

Who likes a silent console ¯\_(ツ)_/¯

Progress

Only on CLI

Some eslint plugins for code editors may conflict with this plugin rule (or, in that context, a file progress is not relevant)

npx eslint . --plugin file-progress --rule 'file-progress/activate: 1'

Or, in your package.json's command:

{
  "scripts: [
-    "lint": "eslint ."
+    "lint": "eslint . --plugin file-progress --rule \"file-progress/activate: 1\""
  ]
}

Use file-progress/activate: 0 to disable the plugin. See https://eslint.org/docs/latest/user-guide/command-line-interface#specifying-rules-and-plugins for more details on how to use CLI