Package Exports
- mega-linter-runner/lib
- mega-linter-runner/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mega-linter-runner) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
MegaLinter Runner
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
Installation
Pre-requisites
You need to have NodeJS and Docker installed on your computer to run MegaLinter locally with MegaLinter Runner
Global installation
npm install mega-linter-runner -g
Local installation
npm install mega-linter-runner --save-dev
No installation
You 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'
Pre-commit hook
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:
- push
See .pre-commit-hooks.yaml
for more details.
Usage
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
Examples
mega-linter-runner
mega-linter-runner -p myFolder --fix
mega-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.py
Configuration
You can generate a ready-to-use .mega-linter.yml configuration file by running npx mega-linter-runner --install
at the root of your repository