Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
3a3a468
upgrade code analyzer to v5
abdeslamads Oct 19, 2025
a324d80
change reference of sfdx-scanner dependency to code-analyzer
abdeslamads Oct 20, 2025
b14795a
updated commands syntax to the new syntax of code-analyzer v5
abdeslamads Oct 20, 2025
15a3ce3
Merge branch 'main' into fix/upgrade-salesforce-code-analyzer-version
nvuillam Oct 25, 2025
736fec3
fix command argument per line issue
abdeslamads Oct 25, 2025
4f74eea
use new name of code-analyzer package name
abdeslamads Oct 25, 2025
297dd0e
Merge branch 'main' into fix/upgrade-salesforce-code-analyzer-version
nvuillam Oct 25, 2025
172670a
Update salesforce.megalinter-descriptor.yml
echoix Oct 26, 2025
f24a244
Update salesforce.megalinter-descriptor.yml
echoix Oct 26, 2025
d0525ea
Merge branch 'main' into fix/upgrade-salesforce-code-analyzer-version
echoix Oct 26, 2025
041d0d2
[build-command] Update generated files
github-actions[bot] Oct 26, 2025
7bb138e
Update salesforce.megalinter-descriptor.yml
echoix Oct 26, 2025
7bc1af5
Update salesforce.megalinter-descriptor.yml
echoix Oct 26, 2025
e15bb77
[build-command] Update generated files
github-actions[bot] Oct 26, 2025
37086de
Apply suggestion for renovate comment
echoix Oct 26, 2025
9394321
Merge branch 'main' into fix/upgrade-salesforce-code-analyzer-version
echoix Oct 26, 2025
7eefddf
[build-command] Update generated files
github-actions[bot] Oct 26, 2025
f63376a
add code-analyzer as a new linter and keep sfdx-scanner
abdeslamads Oct 27, 2025
107bb0b
revise entrypoint and pyproject
abdeslamads Oct 27, 2025
d04ae85
Delete .eslintignore
abdeslamads Oct 27, 2025
afddb25
revert changelog
abdeslamads Oct 27, 2025
6f1d5b6
move lightning flow scanner under sfdx scanner
abdeslamads Oct 27, 2025
e5cb09b
fix one line per argument
abdeslamads Oct 27, 2025
c0c6495
[build-command] Update generated files
github-actions[bot] Oct 27, 2025
a92768e
Merge branch 'main' into fix/upgrade-salesforce-code-analyzer-version
echoix Oct 29, 2025
9a955f5
generate documenation for new linter (code-analyzer)
abdeslamads Nov 1, 2025
7ea6c41
fix descriptor
abdeslamads Nov 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
857 changes: 211 additions & 646 deletions .automation/generated/linter-helps.json

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions .automation/generated/linter-links-previews.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,21 @@
"image": "https://opengraph.githubassets.com/bf0d187aea6f03a804178458080b2be18a5fd1bf8d8cc353ff3150743aae9805/greglook/cljstyle",
"title": "GitHub - greglook/cljstyle: A tool for formatting Clojure code"
},
"code-analyzer-apex": {
"description": "To get started scanning your code with Salesforce Code Analyzer, follow this developer workflow and choose resources that match your learning style.",
"image": null,
"title": "Get Started | Salesforce Code Analyzer | Salesforce Developers"
},
"code-analyzer-aura": {
"description": "To get started scanning your code with Salesforce Code Analyzer, follow this developer workflow and choose resources that match your learning style.",
"image": null,
"title": "Get Started | Salesforce Code Analyzer | Salesforce Developers"
},
"code-analyzer-lwc": {
"description": "To get started scanning your code with Salesforce Code Analyzer, follow this developer workflow and choose resources that match your learning style.",
"image": null,
"title": "Get Started | Salesforce Code Analyzer | Salesforce Developers"
},
"coffeelint": {
"description": "\n CoffeeLint is a style checker that helps keep\n CoffeeScript\n code clean and consistent. CoffeeScript does a great job at\n insulating programmers from many of\n JavaScript's bad parts, but it won't help enforce a consistent style\n across a code base. CoffeeLint can help with that.\n ",
"image": null,
Expand Down
8 changes: 4 additions & 4 deletions .automation/generated/linter-versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"ansible-lint": "25.9.2",
"arm-ttk": "0.0.0",
"bandit": "1.8.6",
"bash-exec": "5.2.37",
"bash-exec": "5.1.4",
"bicep_linter": "0.38.33",
"black": "25.9.0",
"cfn-lint": "1.40.2",
Expand Down Expand Up @@ -33,7 +33,7 @@
"eslint-plugin-jsonc": "2.15.1",
"flake8": "7.3.0",
"gherkin-lint": "0.0.0",
"git_diff": "2.49.1",
"git_diff": "2.47.0",
"gitleaks": "8.28.0",
"golangci-lint": "2.5.0",
"goodcheck": "3.1.0",
Expand Down Expand Up @@ -69,8 +69,8 @@
"phplint": "9.6.2",
"phpstan": "2.1.31",
"pmd": "7.17.0",
"powershell": "7.5.4",
"powershell_formatter": "7.5.4",
"powershell": "5.1.26100",
"powershell_formatter": "5.1.26100",
"prettier": "3.6.2",
"proselint": "0.14.0",
"protolint": "0.56.4",
Expand Down
3 changes: 3 additions & 0 deletions .automation/generated/linters_matrix.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,9 @@
"rst_rstfmt",
"ruby_rubocop",
"rust_clippy",
"salesforce_code_analyzer_apex",
"salesforce_code_analyzer_aura",
"salesforce_code_analyzer_lwc",
"salesforce_sfdx_scanner_apex",
"salesforce_sfdx_scanner_aura",
"salesforce_sfdx_scanner_lwc",
Expand Down
19 changes: 19 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -340,6 +340,8 @@ ARG GEM_RUBOCOP_RAILS_VERSION=2.33.4
ARG GEM_RUBOCOP_RAKE_VERSION=0.7.1
# renovate: datasource=rubygems depName=rubocop-rspec
ARG GEM_RUBOCOP_RSPEC_VERSION=3.7.0
# renovate: datasource=npm depName=@salesforce/plugin-code-analyzer
ARG SALESFORCE_CODE_ANALYZER_VERSION=5.5.0
# renovate: datasource=npm depName=@salesforce/sfdx-scanner
ARG SALESFORCE_SFDX_SCANNER_VERSION=4.12.0
# renovate: datasource=pypi depName=snakemake
Expand Down Expand Up @@ -1097,6 +1099,23 @@ RUN curl -sSfL https://raw.githubusercontent.com/anchore/syft/refs/tags/v${REPOS
#
# rubocop installation
#
# code-analyzer-apex installation
&& sf plugins install code-analyzer@${SALESFORCE_CODE_ANALYZER_VERSION} \
&& (npm cache clean --force || true) \
&& rm -rf /root/.npm/_cacache \
#
# code-analyzer-aura installation
# Next line commented because already managed by another linter
# RUN sf plugins install code-analyzer@${SALESFORCE_CODE_ANALYZER_VERSION} \
# && (npm cache clean --force || true) \
# && rm -rf /root/.npm/_cacache
#
# code-analyzer-lwc installation
# Next line commented because already managed by another linter
# RUN sf plugins install code-analyzer@${SALESFORCE_CODE_ANALYZER_VERSION} \
# && (npm cache clean --force || true) \
# && rm -rf /root/.npm/_cacache
#
# sfdx-scanner-apex installation
&& sf plugins install @salesforce/sfdx-scanner@${SALESFORCE_SFDX_SCANNER_VERSION} \
&& (npm cache clean --force || true) \
Expand Down
71 changes: 71 additions & 0 deletions TEMPLATES/apex.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# ======================================================================
# CODE ANALYZER CONFIGURATION
# To learn more about this configuration, visit:
# https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/guide/config-custom.html
# ======================================================================
# Level at which to log messages to log files.
# Possible values are:
# 1 or 'Error' - Includes only error messages in the log.
# 2 or 'Warn' - Includes warning and error messages in the log.
# 3 or 'Info' - Includes informative, warning, and error messages in the log.
# 4 or 'Debug' - Includes debug, informative, warning, and error messages in the log.
# 5 or 'Fine' - Includes fine detail, debug, informative, warning, and error messages in the log.
# If unspecified, or if specified as null, then the 'Debug' log level will be used.
log_level: 4

# Engine specific custom configuration settings of the format engines.{engine_name}.{property_name} = {value} where:
# {engine_name} is the name of the engine containing the setting that you want to override.
# {property_name} is the name of a property that you would like to override.
# Each engine may have its own set of properties available to help customize that particular engine's behavior.
engines:
# ======================================================================
# PMD ENGINE CONFIGURATION
# To learn more about this configuration, visit:
# https://developer.salesforce.com/docs/platform/salesforce-code-analyzer/guide/engine-pmd.html#pmd-configuration-reference
# ======================================================================
pmd:

# Whether to turn off the 'pmd' engine so that it is not included when running Code Analyzer commands.
disable_engine: false

# Specifies the list of file extensions to associate to each rule language.
# The rule(s) associated with a given language will run against all the files in your workspace containing one of
# the specified file extensions. Each file extension can only be associated to one language. If a specific language
# is not specified, then a set of default file extensions for that language will be used.
file_extensions:
apex:
- .cls
- .trigger
html:
- .html
- .htm
- .xhtml
- .xht
- .shtml
- .cmp
javascript:
- .js
- .cjs
- .mjs
typescript:
- .ts
visualforce:
- .page
- .component
xml:
- .xml

# List of xml ruleset files containing custom PMD rules to be made available for rule selection.
# Each ruleset must be an xml file that is either:
# - on disk (provided as an absolute path or a relative path to 'config_root')
# - or a relative resource found on the Java classpath.
# Not all custom rules can be fully defined within an xml ruleset file. For example, Java based rules may be defined in jar files.
# In these cases, you will need to also add your additional files to the Java classpath using the 'java_classpath_entries' field.
# See https://pmd.github.io/pmd/pmd_userdocs_making_rulesets.html to learn more about PMD rulesets.
custom_rulesets: [
./apex-pmd-ruleset.xml
]

# ======================================================================
# END OF CODE ANALYZER CONFIGURATION
# ======================================================================
Loading