[BUG][code-analyzer] regex:NoMixedIndentation: False positive on ApexDocs
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 55/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- typescript
- Lĩnh vực
- devtools
Hướng nghiên cứu
Bắt đầu bằng cách tìm phần triển khai và các bài kiểm thử cho quy tắc regex:NoMixedIndentation, sau đó tái hiện ví dụ Apex class và ApexDoc ở cấp method đã được báo cáo. Bản sửa được hoàn tất khi indentation của ApexDoc bị bỏ qua, trong khi các trường hợp trộn tab và space khác vẫn tạo ra violation và các bài kiểm thử liên quan đều đạt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Have you tried to resolve this issue yourself first?
- I confirm I have gone through the above steps and still have an issue to report.
Bug Description
v5.11.0 seems to have introduced a new regex:NoMixedIndentation rule, which flags apex files that use a mixture of tabs and spaces for indentation. However, this is causing false positive results on method-level ApexDoc comments, example below:
/**
* @description An example of a class-level ApexDoc
*/
public class SomeApexClass {
/**
* @description An example of a method-level ApexDoc
* @param bar Some input parameter
* @return Some output parameter
*/
public Object foo(Object bar) {
return null; // Not important...
}
}
ApexDocs are an officially supported comment format, so it doesn't make sense for these to be flagged as a violation.
Output / Logs
jsiders@jsiders-mac salesforce % sf plugins install code-analyzer@5.10.0
removed 4 packages in 6s
@salesforce/cli: Installing plugin code-analyzer@5.10.0... installed v5.10.0
jsiders@jsiders-mac salesforce % sf code-analyzer run -t force-app/main/default/classes/SomeApexClass.cls
Streaming logs in real time to:
/var/folders/8d/0t7sckgj10xcb32zycf088480000gp/T/sfca-2026_03_24_10_52_21_277.log
Selecting rules... done.
Executing rules... done. Executed rules from cpd, pmd, regex.
=== Summary
Found 0 violations.
Additional log information written to:
/var/folders/8d/0t7sckgj10xcb32zycf088480000gp/T/sfca-2026_03_24_10_52_21_277.log
jsiders@jsiders-mac salesforce % sf plugins install code-analyzer@5.11.0
Polling for new version(s) to become available on npm... done
Successfully validated digital signature for @salesforce/plugin-code-analyzer.
Finished digital signature check.
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
added 15 packages, removed 51 packages, and changed 93 packages in 8s
@salesforce/cli: Installing plugin code-analyzer@5.11.0... installed v5.11.0
jsiders@jsiders-mac salesforce % sf code-analyzer run -t force-app/main/default/classes/SomeApexClass.cls
Streaming logs in real time to:
/var/folders/8d/0t7sckgj10xcb32zycf088480000gp/T/sfca-2026_03_24_10_50_59_383.log
Selecting rules... done.
Code Analyzer [10:51:1.984]:
No violations were suppressed by inline suppression markers.
Executing rules... done. Executed rules from regex, cpd, pmd.
Violation file paths relative to '/Users/jsiders/Documents/VSCode/Nasuni/salesforce/force-app/main/default/classes'.
# Severity Rule Location Message
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 3 (Moderate) regex:NoMixedIndentation SomeApexClass.cls:6:1 Leading indentation contains mixed spaces and tabs. To fix this, use either spaces or tabs.
2 3 (Moderate) regex:NoMixedIndentation SomeApexClass.cls:7:1 Leading indentation contains mixed spaces and tabs. To fix this, use either spaces or tabs.
3 3 (Moderate) regex:NoMixedIndentation SomeApexClass.cls:8:1 Leading indentation contains mixed spaces and tabs. To fix this, use either spaces or tabs.
4 3 (Moderate) regex:NoMixedIndentation SomeApexClass.cls:9:1 Leading indentation contains mixed spaces and tabs. To fix this, use either spaces or tabs.
=== Summary
Found 4 violation(s) across 1 file(s):
4 Moderate severity violation(s) found.
Additional log information written to:
/var/folders/8d/0t7sckgj10xcb32zycf088480000gp/T/sfca-2026_03_24_10_50_59_383.log
Steps To Reproduce
- Create an Apex class which implements a method-level ApexDoc comment block (example above)
- Install
code-analyzer@5.10.0 - Run code-analyzer against the apex class
- Observe 0 violations
- Install
code-analyzer@5.11.0 - Run code-analyzer against this same class
- Observe 1
regex:NoMixedIndentationviolation (moderate) for each line of the method-level ApexDoc comment.
Expected Behavior
ApexDocs should not trigger this violation.
All other instances of mixed tabs/spaces should trigger this violation.
Operating System
macOS Tahoe 26.3
Salesforce CLI Version
@salesforce/cli/2.126.4 darwin-arm64 node-v22.20.0
Code Analyzer Plugin (code-analyzer) Version
5.11.0
Node Version
v22.20.0
Java Version
openjdk version "17.0.13" 2024-10-15
Python Version
Python 3.13.1
Additional Context (Screenshots, Files, etc)
No response
Workaround
Reduce the severity of the rule to Low or Info, though this is not ideal for users who wish to report genuine violations.
Urgency
Low
- Ngôn ngữ chính
- TypeScript
- Star
- 240
- Fork
- 52
- Merge trung bình
- 9 giờ 48 phút
- Pull request đã merge (30 ngày)
- 3
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của forcedotcom/code-analyzer
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
forcedotcom/code-analyzer#2094 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
forcedotcom/code-analyzer#2093 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
forcedotcom/code-analyzer#2091 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
forcedotcom/code-analyzer#2090 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
forcedotcom/code-analyzer#2099 ·
Tất cả issue của forcedotcom/code-analyzer
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
bug v2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
modelcontextprotocol/inspector#2458 · 1 bình luận ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 75/100
railmapgen/rmp-gallery#4068 ·
-
Mend: dependency security vulnerability status: needs triage 🕵️♀️
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
carbon-design-system/ibm-products#9907 ·