JSPM

mega-linter-runner

6.8.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 24965
  • Score
    100M100P100Q142438F
  • License MIT

Local runner for MegaLinter

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

Version Downloads/week Downloads/total GitHub stars

Docker Pulls MegaLinter codecov Secured with Trivy GitHub Sponsors PRs Welcome Tweet

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

Screenshot

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
--flavor Set this parameter to use a MegaLinter flavor all
-d
--image
You can override the used docker image, including if it is on another docker registry
-e
--env
Environment variables for MegaLinter, following format 'ENV_VAR_NAME=VALUE'
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
--containername 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

Runner Install

Linters

Languages

Language Linter Configuration key Additional
BASH bash-exec BASH_EXEC
shellcheck BASH_SHELLCHECK GitHub stars
shfmt BASH_SHFMT GitHub stars formatter
C cpplint C_CPPLINT
CLOJURE clj-kondo CLOJURE_CLJ_KONDO GitHub stars
COFFEE coffeelint COFFEE_COFFEELINT GitHub stars
C++ (CPP) cpplint CPP_CPPLINT GitHub stars
C# (CSHARP) dotnet-format CSHARP_DOTNET_FORMAT GitHub stars formatter
DART dartanalyzer DART_DARTANALYZER GitHub stars
GO golangci-lint GO_GOLANGCI_LINT GitHub stars
revive GO_REVIVE GitHub stars sarif
GROOVY npm-groovy-lint GROOVY_NPM_GROOVY_LINT GitHub stars autofix sarif
JAVA checkstyle JAVA_CHECKSTYLE GitHub stars sarif
pmd JAVA_PMD GitHub stars sarif
JAVASCRIPT eslint JAVASCRIPT_ES GitHub stars autofix sarif
standard JAVASCRIPT_STANDARD GitHub stars autofix
prettier JAVASCRIPT_PRETTIER GitHub stars formatter
JSX eslint JSX_ESLINT autofix sarif
KOTLIN ktlint KOTLIN_KTLINT GitHub stars autofix sarif
LUA luacheck LUA_LUACHECK GitHub stars
MAKEFILE checkmake MAKEFILE_CHECKMAKE GitHub stars
PERL perlcritic PERL_PERLCRITIC GitHub stars
PHP phpcs PHP_PHPCS GitHub stars
phpstan PHP_PHPSTAN GitHub stars
psalm PHP_PSALM GitHub stars sarif
phplint PHP_PHPLINT
POWERSHELL powershell POWERSHELL_POWERSHELL GitHub stars
PYTHON pylint PYTHON_PYLINT GitHub stars
black PYTHON_BLACK GitHub stars formatter
flake8 PYTHON_FLAKE8 GitHub stars
isort PYTHON_ISORT GitHub stars formatter
bandit PYTHON_BANDIT GitHub stars sarif
mypy PYTHON_MYPY GitHub stars
R lintr R_LINTR GitHub stars
RAKU raku RAKU_RAKU GitHub stars
RUBY rubocop RUBY_RUBOCOP GitHub stars autofix
RUST clippy RUST_CLIPPY GitHub stars
SALESFORCE sfdx-scanner-apex SALESFORCE_SFDX_SCANNER_APEX GitHub stars
sfdx-scanner-aura SALESFORCE_SFDX_SCANNER_AURA GitHub stars
sfdx-scanner-lwc SALESFORCE_SFDX_SCANNER_LWC GitHub stars
SCALA scalafix SCALA_SCALAFIX GitHub stars
SQL sql-lint SQL_SQL_LINT GitHub stars
sqlfluff SQL_SQLFLUFF GitHub stars
tsqllint SQL_TSQLLINT GitHub stars
SWIFT swiftlint SWIFT_SWIFTLINT GitHub stars autofix
TSX eslint TSX_ESLINT autofix sarif
TYPESCRIPT eslint TYPESCRIPT_ES GitHub stars autofix sarif
standard TYPESCRIPT_STANDARD GitHub stars autofix
prettier TYPESCRIPT_PRETTIER GitHub stars formatter
Visual Basic .NET (VBDOTNET) dotnet-format VBDOTNET_DOTNET_FORMAT formatter

Formats

Format Linter Configuration key Additional
CSS stylelint CSS_STYLELINT GitHub stars autofix
scss-lint CSS_SCSS_LINT GitHub stars
ENV dotenv-linter ENV_DOTENV_LINTER GitHub stars autofix
GRAPHQL graphql-schema-linter GRAPHQL_GRAPHQL_SCHEMA_LINTER GitHub stars
HTML djlint HTML_DJLINT GitHub stars
htmlhint HTML_HTMLHINT GitHub stars
JSON jsonlint JSON_JSONLINT GitHub stars
eslint-plugin-jsonc JSON_ESLINT_PLUGIN_JSONC GitHub stars autofix sarif
v8r JSON_V8R GitHub stars
prettier JSON_PRETTIER GitHub stars formatter
LATEX chktex LATEX_CHKTEX
MARKDOWN markdownlint MARKDOWN_MARKDOWNLINT GitHub stars formatter
remark-lint MARKDOWN_REMARK_LINT GitHub stars formatter
markdown-link-check MARKDOWN_MARKDOWN_LINK_CHECK GitHub stars
markdown-table-formatter MARKDOWN_MARKDOWN_TABLE_FORMATTER GitHub stars formatter
PROTOBUF protolint PROTOBUF_PROTOLINT GitHub stars autofix
RST rst-lint RST_RST_LINT GitHub stars
rstcheck RST_RSTCHECK GitHub stars
XML xmllint XML_XMLLINT
YAML prettier YAML_PRETTIER GitHub stars formatter
yamllint YAML_YAMLLINT GitHub stars
v8r YAML_V8R GitHub stars

Tooling formats

Tooling format Linter Configuration key Additional
ACTION actionlint ACTION_ACTIONLINT GitHub stars
ANSIBLE ansible-lint ANSIBLE_ANSIBLE_LINT GitHub stars
ARM arm-ttk ARM_ARM_TTK
CLOUDFORMATION cfn-lint CLOUDFORMATION_CFN_LINT GitHub stars sarif
DOCKERFILE hadolint DOCKERFILE_HADOLINT GitHub stars sarif
EDITORCONFIG editorconfig-checker EDITORCONFIG_EDITORCONFIG_CHECKER GitHub stars
GHERKIN gherkin-lint GHERKIN_GHERKIN_LINT GitHub stars
KUBERNETES kubeval KUBERNETES_KUBEVAL GitHub stars
kubeconform KUBERNETES_KUBECONFORM GitHub stars
OPENAPI spectral OPENAPI_SPECTRAL GitHub stars
PUPPET puppet-lint PUPPET_PUPPET_LINT GitHub stars autofix
SNAKEMAKE snakemake SNAKEMAKE_LINT GitHub stars
snakefmt SNAKEMAKE_SNAKEFMT GitHub stars formatter
TEKTON tekton-lint TEKTON_TEKTON_LINT GitHub stars
TERRAFORM tflint TERRAFORM_TFLINT GitHub stars sarif
terrascan TERRAFORM_TERRASCAN GitHub stars sarif
terragrunt TERRAFORM_TERRAGRUNT GitHub stars autofix
terraform-fmt TERRAFORM_TERRAFORM_FMT GitHub stars formatter
checkov TERRAFORM_CHECKOV GitHub stars sarif
kics TERRAFORM_KICS GitHub stars

Other

Code quality checker Linter Configuration key Additional
COPYPASTE jscpd COPYPASTE_JSCPD GitHub stars
REPOSITORY checkov REPOSITORY_CHECKOV GitHub stars sarif
devskim REPOSITORY_DEVSKIM GitHub stars sarif
dustilock REPOSITORY_DUSTILOCK GitHub stars sarif
git_diff REPOSITORY_GIT_DIFF GitHub stars
gitleaks REPOSITORY_GITLEAKS GitHub stars sarif
goodcheck REPOSITORY_GOODCHECK GitHub stars
secretlint REPOSITORY_SECRETLINT GitHub stars sarif
semgrep REPOSITORY_SEMGREP GitHub stars sarif
syft REPOSITORY_SYFT GitHub stars sarif
trivy REPOSITORY_TRIVY GitHub stars sarif
SPELL misspell SPELL_MISSPELL GitHub stars autofix
cspell SPELL_CSPELL GitHub stars
proselint SPELL_PROSELINT GitHub stars