Skip to content

Add supported_cli_lint_modes#7150

Draft
bdovaz wants to merge 20 commits intomainfrom
supported_cli_lint_modes
Draft

Add supported_cli_lint_modes#7150
bdovaz wants to merge 20 commits intomainfrom
supported_cli_lint_modes

Conversation

@bdovaz
Copy link
Copy Markdown
Collaborator

@bdovaz bdovaz commented Feb 14, 2026

Fixes #7120

Proposed Changes

  1. Add the supported_cli_lint_modes schema to explicitly establish which modes each linter supports.
  2. Test the success/failure tests in each of the supported modes. This is important because until now, only the mode configured in cli_lint_mode was tested.
  3. Changes in documentation generation to accommodate these changes.
  4. By going linter by linter to set the modes, the execution of several linters is being improved by switching from file to list_of_files or project in cases where it has been possible.

Readiness Checklist

Author/Contributor

  • Add entry to the CHANGELOG listing the change and linking to the corresponding issue (if appropriate)
  • If documentation is needed for this change, has that been included in this pull request

Reviewing Maintainer

  • Label as breaking if this is a large fundamental change
  • Label as either automation, bug, documentation, enhancement, infrastructure, or performance

@bdovaz bdovaz changed the title Supported cli lint modes Add supported_cli_lint_modes Feb 14, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 14, 2026

MegaLinter analysis: Error

❌ COPYPASTE / jscpd - 1 error
Clone found (python):
 - megalinter/linters/StyleLintLinter.py [9:16 - 16:2] (7 lines, 85 tokens)
   megalinter/linters/V8rLinter.py [9:10 - 16:2]

┌────────────┬────────────────┬─────────────┬──────────────┬──────────────┬──────────────────┬───────────────────┐
│ Format     │ Files analyzed │ Total lines │ Total tokens │ Clones found │ Duplicated lines │ Duplicated tokens │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ python     │ 196            │ 8682        │ 57390        │ 1            │ 7 (0.08%)        │ 85 (0.15%)        │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markdown   │ 8              │ 343         │ 2948         │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ json       │ 16             │ 618         │ 3227         │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ javascript │ 3              │ 587         │ 4470         │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ markup     │ 3              │ 209         │ 1304         │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ yaml       │ 4              │ 224         │ 672          │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ php        │ 1              │ 16          │ 88           │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ ini        │ 2              │ 18          │ 75           │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ powershell │ 1              │ 31          │ 95           │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ bash       │ 3              │ 184         │ 1222         │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ url        │ 1              │ 0           │ 4            │ 0            │ 0 (0%)           │ 0 (0%)            │
├────────────┼────────────────┼─────────────┼──────────────┼──────────────┼──────────────────┼───────────────────┤
│ Total:     │ 238            │ 10912       │ 71495        │ 1            │ 7 (0.06%)        │ 85 (0.12%)        │
└────────────┴────────────────┴─────────────┴──────────────┴──────────────┴──────────────────┴───────────────────┘
Found 1 clones.
HTML report saved to megalinter-reports/copy-paste/html/
ERROR: jscpd found too many duplicates (0.06%) over threshold (0%)
Error: ERROR: jscpd found too many duplicates (0.06%) over threshold (0%)
    at ThresholdReporter.report (/node-deps/node_modules/@jscpd/finder/dist/index.js:615:13)
    at /node-deps/node_modules/@jscpd/finder/dist/index.js:109:18
    at Array.forEach (<anonymous>)
    at /node-deps/node_modules/@jscpd/finder/dist/index.js:108:22
    at async /node-deps/node_modules/jscpd/dist/bin/jscpd.js:9:5

🤖 AI-Powered Fix Suggestions for COPYPASTE_JSCPD (by openai gpt-4.1-mini)

  1. Summary:
    The jscpd linter detected a code clone (duplicate code) in two Python files: StyleLintLinter.py and V8rLinter.py, spanning 7 lines and 85 tokens. The duplication rate (0.06%) exceeds the configured threshold (0%), causing the linter to fail.

  2. Advice to fix:

  • Refactor the duplicated code by extracting the common logic into a shared function, class, or module.
  • Replace the duplicated blocks in both files with calls to this shared component.
  • Adjust the jscpd threshold if some duplication is acceptable, but ideally keep it low to maintain code quality.
  • Regularly run jscpd to catch and reduce duplication early.

Example refactor:

# common_utils.py
def shared_function():
    # code from lines 9-16 duplicated in both files

# StyleLintLinter.py and V8rLinter.py
from common_utils import shared_function
# replace duplicated code with:
shared_function()

This reduces maintenance overhead and improves code clarity.

⚠️ PYTHON / bandit - 81 errors
r(uuid.uuid4())
205	    assert os.path.isdir(workspace), f"Test folder {workspace} is not existing"
206	    linter_name = linter.linter_name

--------------------------------------------------
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/1.9.4/plugins/b101_assert_used.html
   Location: ./megalinter/utilstest.py:304:4
303	    tmp_report_folder = tempfile.gettempdir() + os.path.sep + str(uuid.uuid4())
304	    assert os.path.isdir(workspace), f"Test folder {workspace} is not existing"
305	    if os.path.isfile(workspace + os.path.sep + "no_test_failure"):

--------------------------------------------------
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/1.9.4/plugins/b101_assert_used.html
   Location: ./megalinter/utilstest.py:553:4
552	    )
553	    assert os.path.isdir(workspace), f"Test folder {workspace} is not existing"
554	    expected_file_name = ""

--------------------------------------------------
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/1.9.4/plugins/b101_assert_used.html
   Location: ./megalinter/utilstest.py:653:4
652	        workspace += os.path.sep + "bad"
653	    assert os.path.isdir(workspace), f"Test folder {workspace} is not existing"
654	    # Call linter

--------------------------------------------------
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/1.9.4/plugins/b101_assert_used.html
   Location: ./megalinter/utilstest.py:742:4
741	        workspace = workspace + os.path.sep + "fix"
742	    assert os.path.isdir(workspace), f"Test folder {workspace} is not existing"
743	

--------------------------------------------------
>> Issue: [B101:assert_used] Use of assert detected. The enclosed code will be removed when compiling to optimised byte code.
   Severity: Low   Confidence: High
   CWE: CWE-703 (https://cwe.mitre.org/data/definitions/703.html)
   More Info: https://bandit.readthedocs.io/en/1.9.4/plugins/b101_assert_used.html
   Location: ./megalinter/utilstest.py:848:12
847	            ]
848	            assert (len(list(diffs))) > 0, f"No changes in the {file} file"
849	

--------------------------------------------------
>> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory.
   Severity: Medium   Confidence: Medium
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/1.9.4/plugins/b108_hardcoded_tmp_directory.html
   Location: ./server/server.py:81:42
80	    if item.fileUploadId:
81	        uploaded_file_path = os.path.join("/tmp/server-files", item.fileUploadId)
82	        if not os.path.isdir(uploaded_file_path):

--------------------------------------------------
>> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory.
   Severity: Medium   Confidence: Medium
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/1.9.4/plugins/b108_hardcoded_tmp_directory.html
   Location: ./server/server.py:103:38
102	    file_upload_id = "FILE_" + str(uuid1())
103	    uploaded_file_path = os.path.join("/tmp/server-files", file_upload_id)
104	    os.makedirs(uploaded_file_path)

--------------------------------------------------
>> Issue: [B108:hardcoded_tmp_directory] Probable insecure usage of temp file/directory.
   Severity: Medium   Confidence: Medium
   CWE: CWE-377 (https://cwe.mitre.org/data/definitions/377.html)
   More Info: https://bandit.readthedocs.io/en/1.9.4/plugins/b108_hardcoded_tmp_directory.html
   Location: ./server/server_worker.py:98:34
97	        temp_dir = self.create_temp_dir()
98	        upload_dir = os.path.join("/tmp/server-files", file_upload_id)
99	        if os.path.exists(upload_dir):

--------------------------------------------------

Code scanned:
	Total lines of code: 18076
	Total lines skipped (#nosec): 0
	Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0

Run metrics:
	Total issues (by severity):
		Undefined: 0
		Low: 48
		Medium: 24
		High: 9
	Total issues (by confidence):
		Undefined: 0
		Low: 16
		Medium: 18
		High: 47
Files skipped (0):

(Truncated to last 5000 characters out of 55563)
⚠️ BASH / bash-exec - 1 error
Results of bash-exec linter (version 5.3.3)
See documentation on https://megalinter.io/beta/descriptors/bash_bash_exec/
-----------------------------------------------

✅ [SUCCESS] .automation/build_schemas_doc.sh
✅ [SUCCESS] .automation/format-tables.sh
✅ [SUCCESS] .vscode/testlinter.sh
✅ [SUCCESS] build.sh
✅ [SUCCESS] entrypoint.sh
❌ [ERROR] sh/megalinter_exec
    Error: File:[sh/megalinter_exec] is not executable
⚠️ REPOSITORY / grype - 71 errors
m    < 0.1% (16th)  < 0.1  
brace-expansion                1.1.12     1.1.13    npm     GHSA-f886-m6hf-6m8v  Medium    < 0.1% (16th)  < 0.1  
brace-expansion                2.0.2      2.0.3     npm     GHSA-f886-m6hf-6m8v  Medium    < 0.1% (16th)  < 0.1  
picomatch                      2.3.0      2.3.2     npm     GHSA-c2c7-rcm5-vvqj  High      < 0.1% (12th)  < 0.1  
picomatch                      2.3.1      2.3.2     npm     GHSA-c2c7-rcm5-vvqj  High      < 0.1% (12th)  < 0.1  
tmp                            0.0.33     0.2.4     npm     GHSA-52f5-9888-hmc6  Low       < 0.1% (24th)  < 0.1  
lodash                         4.17.21    4.17.23   npm     GHSA-xxjr-mmjv-4gpg  Medium    < 0.1% (7th)   < 0.1  
lodash-es                      4.17.21    4.17.23   npm     GHSA-xxjr-mmjv-4gpg  Medium    < 0.1% (7th)   < 0.1  
minimatch                      3.0.4      3.1.3     npm     GHSA-3ppc-4f35-3m26  High      < 0.1% (4th)   < 0.1  
minimatch                      3.1.2      3.1.3     npm     GHSA-3ppc-4f35-3m26  High      < 0.1% (4th)   < 0.1  
minimatch                      5.1.6      5.1.7     npm     GHSA-3ppc-4f35-3m26  High      < 0.1% (4th)   < 0.1  
minimatch                      7.4.6      7.4.7     npm     GHSA-3ppc-4f35-3m26  High      < 0.1% (4th)   < 0.1  
minimatch                      9.0.5      9.0.6     npm     GHSA-3ppc-4f35-3m26  High      < 0.1% (4th)   < 0.1  
word-wrap                      1.2.3      1.2.4     npm     GHSA-j8xg-fqg3-53r7  Medium    < 0.1% (7th)   < 0.1  
tar                            6.0.1      7.5.7     npm     GHSA-34x7-hfp2-rc4v  High      < 0.1% (4th)   < 0.1  
tar                            6.1.11     7.5.7     npm     GHSA-34x7-hfp2-rc4v  High      < 0.1% (4th)   < 0.1  
minimatch                      3.0.4      3.1.3     npm     GHSA-7r86-cg39-jmmj  High      < 0.1% (4th)   < 0.1  
minimatch                      3.1.2      3.1.3     npm     GHSA-7r86-cg39-jmmj  High      < 0.1% (4th)   < 0.1  
minimatch                      5.1.6      5.1.8     npm     GHSA-7r86-cg39-jmmj  High      < 0.1% (4th)   < 0.1  
minimatch                      7.4.6      7.4.8     npm     GHSA-7r86-cg39-jmmj  High      < 0.1% (4th)   < 0.1  
minimatch                      9.0.5      9.0.7     npm     GHSA-7r86-cg39-jmmj  High      < 0.1% (4th)   < 0.1  
minimatch                      3.0.4      3.1.4     npm     GHSA-23c5-xmqv-rm74  High      < 0.1% (3rd)   < 0.1  
minimatch                      3.1.2      3.1.4     npm     GHSA-23c5-xmqv-rm74  High      < 0.1% (3rd)   < 0.1  
minimatch                      5.1.6      5.1.8     npm     GHSA-23c5-xmqv-rm74  High      < 0.1% (3rd)   < 0.1  
minimatch                      7.4.6      7.4.8     npm     GHSA-23c5-xmqv-rm74  High      < 0.1% (3rd)   < 0.1  
minimatch                      9.0.5      9.0.7     npm     GHSA-23c5-xmqv-rm74  High      < 0.1% (3rd)   < 0.1  
js-yaml                        3.14.0     3.14.2    npm     GHSA-mh29-5h37-fv8m  Medium    < 0.1% (5th)   < 0.1  
brace-expansion                1.1.11     1.1.12    npm     GHSA-v6h2-p8h4-qcjw  Low       < 0.1% (9th)   < 0.1  
tar                            6.0.1      7.5.4     npm     GHSA-r6q2-hw4h-h46w  High      < 0.1% (0th)   < 0.1  
tar                            6.1.11     7.5.4     npm     GHSA-r6q2-hw4h-h46w  High      < 0.1% (0th)   < 0.1  
tar                            6.0.1      7.5.3     npm     GHSA-8qq5-rm4j-mr97  High      < 0.1% (0th)   < 0.1  
tar                            6.1.11     7.5.3     npm     GHSA-8qq5-rm4j-mr97  High      < 0.1% (0th)   < 0.1  
tar                            6.0.1      7.5.11    npm     GHSA-9ppj-qmqm-q256  High      < 0.1% (0th)   < 0.1  
tar                            6.1.11     7.5.11    npm     GHSA-9ppj-qmqm-q256  High      < 0.1% (0th)   < 0.1  
diff                           5.2.0      5.2.2     npm     GHSA-73rr-hh4g-fpgx  Low       < 0.1% (4th)   < 0.1  
diff                           7.0.0      8.0.3     npm     GHSA-73rr-hh4g-fpgx  Low       < 0.1% (4th)   < 0.1  
tar                            6.0.1      7.5.10    npm     GHSA-qffp-2rhf-9h96  High      < 0.1% (0th)   < 0.1  
tar                            6.1.11     7.5.10    npm     GHSA-qffp-2rhf-9h96  High      < 0.1% (0th)   < 0.1  
pygments                       2.19.2               python  GHSA-5239-wwwm-4pmq  Low       < 0.1% (2nd)   < 0.1  
tar                            6.0.1      7.5.8     npm     GHSA-83g3-92jg-28cx  High      < 0.1% (0th)   < 0.1  
tar                            6.1.11     7.5.8     npm     GHSA-83g3-92jg-28cx  High      < 0.1% (0th)   < 0.1  
@tootallnate/once              1.1.2      3.0.1     npm     GHSA-vpq2-c234-7xj6  Low       < 0.1% (2nd)   < 0.1  
serialize-javascript           6.0.2      7.0.3     npm     GHSA-5c6j-r48x-rmvq  High      N/A            N/A    
serialize-javascript           6.0.2      7.0.5     npm     GHSA-qj8w-gfj5-8c6v  Medium    N/A            N/A
[0060] ERROR discovered vulnerabilities at or above the severity threshold

(Truncated to last 5000 characters out of 8423)
⚠️ SPELL / lychee - 1 error
[ERROR] Error while loading config: Cannot load configuration file `.github/linters/lychee.toml`: Failed to parse configuration file

Caused by:
    TOML parse error at line 59, column 1
       |
    59 | exclude_mail = true
       | ^^^^^^^^^^^^
    unknown field `exclude_mail`, expected one of `files_from`, `verbose`, `no_progress`, `host_stats`, `extensions`, `default_extension`, `cache`, `max_cache_age`, `cache_exclude_status`, `dump`, `dump_inputs`, `archive`, `suggest`, `max_redirects`, `max_retries`, `min_tls`, `max_concurrency`, `host_concurrency`, `host_request_interval`, `threads`, `user_agent`, `insecure`, `scheme`, `offline`, `include`, `exclude`, `exclude_file`, `exclude_path`, `exclude_all_private`, `exclude_private`, `exclude_link_local`, `exclude_loopback`, `include_mail`, `remap`, `fallback_extensions`, `index_files`, `header`, `accept`, `include_fragments`, `timeout`, `retry_wait_time`, `method`, `base_url`, `root_dir`, `basic_auth`, `github_token`, `skip_missing`, `no_ignore`, `hidden`, `include_verbatim`, `glob_ignore_case`, `output`, `mode`, `format`, `generate`, `require_https`, `cookie_jar`, `include_wikilinks`, `preprocess`, `hosts`
    
See: https://github.com/lycheeverse/lychee/blob/lychee-v0.23.0/lychee.example.toml
⚠️ MARKDOWN / markdownlint - 334 errors
orters/GitHubCommentReporter.md:27:196 error MD056/table-column-count Table column count [Expected: 4; Actual: 3; Too few cells, row will be missing data]
docs/reporters/GitHubCommentReporter.md:27:46 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:27:174 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:27:196 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:28:179 error MD056/table-column-count Table column count [Expected: 4; Actual: 3; Too few cells, row will be missing data]
docs/reporters/GitHubCommentReporter.md:28:46 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:28:160 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:28:179 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:29:159 error MD056/table-column-count Table column count [Expected: 4; Actual: 3; Too few cells, row will be missing data]
docs/reporters/GitHubCommentReporter.md:29:48 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:29:143 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:29:159 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:30:171 error MD056/table-column-count Table column count [Expected: 4; Actual: 3; Too few cells, row will be missing data]
docs/reporters/GitHubCommentReporter.md:30:46 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:30:152 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubCommentReporter.md:30:171 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
docs/reporters/GitHubStatusReporter.md:6 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "GitHub Status Reporter"]
docs/reporters/GitlabCommentReporter.md:6 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "Gitlab Comment Reporter"]
docs/reporters/JsonReporter.md:5 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "JSON Reporter"]
docs/reporters/MarkdownSummaryReporter.md:6 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "Markdown Summary Reporter"]
docs/reporters/SarifReporter.md:6 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "SARIF Reporter (beta)"]
docs/reporters/TapReporter.md:5 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "TAP Reporter"]
docs/reporters/TextReporter.md:5 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "Text Reporter"]
docs/reporters/UpdatedSourcesReporter.md:5 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "Updated Sources Reporter"]
docs/special-thanks.md:9 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "Special thanks"]
docs/special-thanks.md:23:3 error MD045/no-alt-text Images should have alternate text (alt text)
docs/sponsor.md:5 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "Sponsoring"]
docs/supported-linters.md:9 error MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "Supported Linters"]
mega-linter-runner/generators/mega-linter-custom-flavor/templates/README.md:63 error MD024/no-duplicate-heading Multiple headings with the same content [Context: "How to use the custom flavor"]
mega-linter-runner/README.md:27:274 error MD051/link-fragments Link fragments should be valid [Context: "[**apply formatting and auto-fixes**](#apply-fixes)"]
mega-linter-runner/README.md:27:217 error MD051/link-fragments Link fragments should be valid [Context: "[**reports in several formats**](#reports)"]
README.md:190:127 error MD051/link-fragments Link fragments should be valid [Context: "[many additional features](#mega-linter-vs-super-linter)"]
README.md:1769:3 error MD045/no-alt-text Images should have alternate text (alt text)

(Truncated to last 5000 characters out of 43819)
⚠️ YAML / prettier - 6 errors
| <%= CUSTOM_FLAVOR_LINTERS %>
[error]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[error]   7 |
mega-linter-runner/generators/mega-linter/templates/.drone.yml 2ms (unchanged)
mega-linter-runner/generators/mega-linter/templates/.gitlab-ci.yml 19ms (unchanged)
mega-linter-runner/generators/mega-linter/templates/azure-pipelines.yml 7ms (unchanged)
mega-linter-runner/generators/mega-linter/templates/bitbucket-pipelines.yml 5ms (unchanged)
mega-linter-runner/generators/mega-linter/templates/concourse-task.yml 2ms (unchanged)
mega-linter-runner/generators/mega-linter/templates/mega-linter.yml 14ms (unchanged)
megalinter/descriptors/action.megalinter-descriptor.yml 11ms (unchanged)
megalinter/descriptors/ansible.megalinter-descriptor.yml 11ms (unchanged)
megalinter/descriptors/api.megalinter-descriptor.yml 7ms (unchanged)
megalinter/descriptors/arm.megalinter-descriptor.yml 12ms (unchanged)
megalinter/descriptors/bash.megalinter-descriptor.yml 30ms (unchanged)
megalinter/descriptors/bicep.megalinter-descriptor.yml 8ms (unchanged)
megalinter/descriptors/c.megalinter-descriptor.yml 17ms (unchanged)
megalinter/descriptors/clojure.megalinter-descriptor.yml 16ms (unchanged)
megalinter/descriptors/cloudformation.megalinter-descriptor.yml 5ms (unchanged)
megalinter/descriptors/coffee.megalinter-descriptor.yml 5ms (unchanged)
megalinter/descriptors/copypaste.megalinter-descriptor.yml 7ms (unchanged)
megalinter/descriptors/cpp.megalinter-descriptor.yml 22ms (unchanged)
megalinter/descriptors/csharp.megalinter-descriptor.yml 14ms (unchanged)
megalinter/descriptors/css.megalinter-descriptor.yml 14ms (unchanged)
megalinter/descriptors/dart.megalinter-descriptor.yml 13ms (unchanged)
megalinter/descriptors/dockerfile.megalinter-descriptor.yml 8ms (unchanged)
megalinter/descriptors/editorconfig.megalinter-descriptor.yml 6ms (unchanged)
megalinter/descriptors/env.megalinter-descriptor.yml 6ms (unchanged)
megalinter/descriptors/gherkin.megalinter-descriptor.yml 8ms (unchanged)
megalinter/descriptors/go.megalinter-descriptor.yml 15ms (unchanged)
megalinter/descriptors/graphql.megalinter-descriptor.yml 4ms (unchanged)
megalinter/descriptors/groovy.megalinter-descriptor.yml 4ms (unchanged)
megalinter/descriptors/html.megalinter-descriptor.yml 10ms (unchanged)
megalinter/descriptors/java.megalinter-descriptor.yml 8ms (unchanged)
megalinter/descriptors/javascript.megalinter-descriptor.yml 30ms (unchanged)
megalinter/descriptors/json.megalinter-descriptor.yml 22ms (unchanged)
megalinter/descriptors/jsx.megalinter-descriptor.yml 6ms (unchanged)
megalinter/descriptors/kotlin.megalinter-descriptor.yml 6ms (unchanged)
megalinter/descriptors/kubernetes.megalinter-descriptor.yml 15ms (unchanged)
megalinter/descriptors/latex.megalinter-descriptor.yml 7ms (unchanged)
megalinter/descriptors/lua.megalinter-descriptor.yml 20ms (unchanged)
megalinter/descriptors/makefile.megalinter-descriptor.yml 10ms (unchanged)
megalinter/descriptors/markdown.megalinter-descriptor.yml 15ms (unchanged)
megalinter/descriptors/perl.megalinter-descriptor.yml 6ms (unchanged)
megalinter/descriptors/php.megalinter-descriptor.yml 42ms (unchanged)
megalinter/descriptors/powershell.megalinter-descriptor.yml 9ms (unchanged)
megalinter/descriptors/protobuf.megalinter-descriptor.yml 10ms (unchanged)
megalinter/descriptors/puppet.megalinter-descriptor.yml 5ms (unchanged)
megalinter/descriptors/python.megalinter-descriptor.yml 79ms (unchanged)
megalinter/descriptors/r.megalinter-descriptor.yml 5ms (unchanged)
megalinter/descriptors/raku.megalinter-descriptor.yml 3ms (unchanged)
megalinter/descriptors/repository.megalinter-descriptor.yml 76ms (unchanged)
megalinter/descriptors/robotframework.megalinter-descriptor.yml 12ms (unchanged)
megalinter/descriptors/rst.megalinter-descriptor.yml 13ms (unchanged)
megalinter/descriptors/ruby.megalinter-descriptor.yml 7ms (unchanged)
megalinter/descriptors/rust.megalinter-descriptor.yml 5ms (unchanged)
megalinter/descriptors/salesforce.megalinter-descriptor.yml 32ms (unchanged)
megalinter/descriptors/scala.megalinter-descriptor.yml 8ms (unchanged)
megalinter/descriptors/snakemake.megalinter-descriptor.yml 12ms (unchanged)
megalinter/descriptors/spell.megalinter-descriptor.yml 31ms (unchanged)
megalinter/descriptors/sql.megalinter-descriptor.yml 5ms (unchanged)
megalinter/descriptors/swift.megalinter-descriptor.yml 4ms (unchanged)
megalinter/descriptors/tekton.megalinter-descriptor.yml 4ms (unchanged)
megalinter/descriptors/terraform.megalinter-descriptor.yml 10ms (unchanged)
megalinter/descriptors/tsx.megalinter-descriptor.yml 6ms (unchanged)
megalinter/descriptors/typescript.megalinter-descriptor.yml 30ms (unchanged)
megalinter/descriptors/vbdotnet.megalinter-descriptor.yml 7ms (unchanged)
megalinter/descriptors/xml.megalinter-descriptor.yml 10ms (unchanged)
megalinter/descriptors/yaml.megalinter-descriptor.yml 27ms (unchanged)
server/docker-compose-dev.yml 3ms (unchanged)
server/docker-compose.yml 6ms (unchanged)
trivy-secret.yaml 4ms (unchanged)

(Truncated to last 5000 characters out of 11504)
⚠️ YAML / yamllint - 31 errors
mega-linter-runner/.eslintrc.yml
  11:9      warning  too few spaces inside empty braces  (braces)

mega-linter-runner/generators/mega-linter-custom-flavor/templates/megalinter-custom-flavor.yml
  7:1       error    syntax error: could not find expected ':' (syntax)

megalinter/descriptors/copypaste.megalinter-descriptor.yml
  18:301    warning  line too long (313 > 300 characters)  (line-length)

megalinter/descriptors/javascript.megalinter-descriptor.yml
  244:301   warning  line too long (307 > 300 characters)  (line-length)

megalinter/descriptors/markdown.megalinter-descriptor.yml
  74:301    warning  line too long (366 > 300 characters)  (line-length)

megalinter/descriptors/perl.megalinter-descriptor.yml
  26:301    warning  line too long (310 > 300 characters)  (line-length)

megalinter/descriptors/php.megalinter-descriptor.yml
  149:301   warning  line too long (389 > 300 characters)  (line-length)
  163:301   warning  line too long (302 > 300 characters)  (line-length)

megalinter/descriptors/repository.megalinter-descriptor.yml
  155:301   warning  line too long (408 > 300 characters)  (line-length)
  268:301   warning  line too long (306 > 300 characters)  (line-length)
  273:301   warning  line too long (321 > 300 characters)  (line-length)
  450:301   warning  line too long (338 > 300 characters)  (line-length)
  518:301   warning  line too long (306 > 300 characters)  (line-length)
  568:301   warning  line too long (316 > 300 characters)  (line-length)
  820:301   warning  line too long (1263 > 300 characters)  (line-length)
  887:301   warning  line too long (879 > 300 characters)  (line-length)
  901:301   warning  line too long (358 > 300 characters)  (line-length)
  957:301   warning  line too long (346 > 300 characters)  (line-length)
  964:301   warning  line too long (307 > 300 characters)  (line-length)

megalinter/descriptors/salesforce.megalinter-descriptor.yml
  51:301    warning  line too long (359 > 300 characters)  (line-length)
  310:301   warning  line too long (359 > 300 characters)  (line-length)

megalinter/descriptors/spell.megalinter-descriptor.yml
  151:301   warning  line too long (315 > 300 characters)  (line-length)

megalinter/descriptors/sql.megalinter-descriptor.yml
  64:301    warning  line too long (319 > 300 characters)  (line-length)

megalinter/descriptors/terraform.megalinter-descriptor.yml
  27:301    warning  line too long (330 > 300 characters)  (line-length)
  86:301    warning  line too long (391 > 300 characters)  (line-length)
  142:301   warning  line too long (346 > 300 characters)  (line-length)
  199:301   warning  line too long (328 > 300 characters)  (line-length)

megalinter/descriptors/typescript.megalinter-descriptor.yml
  225:301   warning  line too long (314 > 300 characters)  (line-length)

mkdocs.yml
  8:301     warning  line too long (552 > 300 characters)  (line-length)
  66:5      warning  wrong indentation: expected 6 but found 4  (indentation)
  78:5      warning  wrong indentation: expected 6 but found 4  (indentation)

✅ Linters with no issues

black (3 fixes), checkov, cspell, flake8, git_diff, hadolint, isort (3 fixes), jsonlint, markdown-table-formatter, mypy, npm-groovy-lint, pylint, ruff (3 fixes), secretlint, shellcheck, shfmt, spectral, syft, trufflehog, v8r, v8r, xmllint

See detailed reports in MegaLinter artifacts

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@github-actions
Copy link
Copy Markdown
Contributor

This pull request has been automatically marked as stale because it has not had recent activity.
It will be closed in 14 days if no further activity occurs.
Thank you for your contributions.

If you think this pull request should stay open, please remove the O: stale 🤖 label or comment on the pull request.

@github-actions github-actions bot added the O: stale 🤖 This issue or pull request is stale, it will be closed if there is no activity label Mar 22, 2026
@bdovaz bdovaz removed the O: stale 🤖 This issue or pull request is stale, it will be closed if there is no activity label Mar 22, 2026
@nvuillam
Copy link
Copy Markdown
Member

@bdovaz I see you added many linter classes with just the following code:

class CljStyleLinter(Linter):
    def build_lint_command(self, file=None) -> list:
        if self.cli_lint_mode == "project":
            self.cli_lint_extra_args_after.append(".")

        return super().build_lint_command(file)

In order to simplify the maintenance, maybe you can handle a descriptor parameter cli_lint_mode_project_extra_args_after , and handle it from base build_lint_command method ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve lint modes

2 participants