MegaLinter analyzes 37 languages, 15 formats, 16 tooling formats , copy-pastes and spell in your repository sources, generate reports in several formats, and can even apply formatting and auto-fixes with auto-generated commit or PR, to ensure all your projects are clean, whatever IDE/toolbox are used by their developers !
See MegaLinter Online Documentation Web Site
This package allows to run MegaLinter locally before running it in your CD/CI workflow, or simply to locally apply reformatting and fixes without having to install up to date linters for your files
You need to have NodeJS and Docker installed on your computer to run MegaLinter locally with MegaLinter Runner
npm install mega-linter-runner -gnpm install mega-linter-runner --save-devYou can run mega-linter-runner without installation by using npx
Example:
npx mega-linter-runner -r beta -e "'ENABLE=MARKDOWN,YAML'" -e 'SHOW_ELAPSED_TIME=true'You can run mega-linter-runner as a pre-commit hook
Sample .pre-commit-config.yaml:
repos:
- repo: https://github.com/oxsecurity/megalinter
rev: v6.8.0 # Git tag specifying the hook, not mega-linter-runner, version
hooks:
- id: megalinter-incremental # Faster, less thorough
stages:
- commit
- id: megalinter-full # Slower, more thorough
stages:
- pushSee .pre-commit-hooks.yaml for more details.
mega-linter-runner [OPTIONS] [FILES]The options are only related to mega-linter-runner. For MegaLinter options, please use a .mega-linter.yml configuration file
| Option | Description | Default |
|---|---|---|
-p --path |
Directory containing the files to lint | current directory |
-f --flavor |
Set this parameter to use a MegaLinter flavor | all |
-d --image |
You can override the used docker image, including if it's on another docker registry | |
-e --env |
Environment variables for MegaLinter, following format 'ENV_VAR_NAME=VALUE' for a single value or "'ENV_VAR_NAME=VALUE1,VALUE2'" for a list of values Warning: Quotes are mandatory |
|
--fix |
Automatically apply formatting and fixes in your files | |
-r --release |
Allows to override MegaLinter version used | v5 |
-h --help |
Show mega-linter-runner help | |
-v --version |
Show mega-linter-runner version | |
-i --install |
Generate MegaLinter configuration files | |
--container-name |
Specify MegaLinter container name | |
--remove-container |
Remove MegaLinter Docker container when done |
You can also use npx mega-linter-runner if you do not want to install the package
mega-linter-runnermega-linter-runner -p myFolder --fixmega-linter-runner -r beta -e "'ENABLE=MARKDOWN,YAML'" -e 'SHOW_ELAPSED_TIME=true'mega-linter-runner --flavor python --release beta --filesonly path/to/my/file1.py another/path/to/a/file.js and/another/file.pyYou can generate a ready-to-use .mega-linter.yml configuration file by running npx mega-linter-runner --install at the root of your repository

