55 Commits

Author SHA1 Message Date
github-actions[bot]
164b14aedc
Create rule S107: Functions should not have too many parameters (#4699)
* Add rust to rule S107

* Update RSPEC

* Remove tag

---------

Co-authored-by: yassin-kammoun-sonarsource <yassin-kammoun-sonarsource@users.noreply.github.com>
Co-authored-by: yassin-kammoun-sonarsource <yassin.kammoun@sonarsource.com>
Co-authored-by: Yassin Kammoun <52890329+yassin-kammoun-sonarsource@users.noreply.github.com>
2025-03-19 14:54:18 +00:00
Eric Morand
7c9aad50bf
RULEAPI-836 - Add compatibleLanguages to javascript rule manifests (#4731) 2025-03-17 09:58:46 +00:00
Yassin Kammoun
5d105088f2
Revert "SONARFLEX-176 Deprecate Flex rules (#4169)" (#4527)
This reverts commit 916a63f5ac11a999454a2d2be41c3d65d22ed34b.
2024-11-22 12:50:33 +01:00
Evgeny Mandrikov
7e7ce1af88
Modify Rule S107: Add Dart language (#4143) 2024-08-23 17:09:43 +02:00
Ilia Kebets
916a63f5ac
SONARFLEX-176 Deprecate Flex rules (#4169)
* Deprecate Flex rules
* fix validation check failing
2024-08-21 12:04:12 +02:00
leonardo-pilastri-sonarsource
cc4f916e89
Update metadata using script, taking parent scope into account (#4000)
Co-authored-by: valentin.aebi <valentin.aebi@sonarsource.com>
2024-06-19 14:12:52 +02:00
kevin.hinz
e898599466
Docs review patch 3 (#3544) 2024-01-29 14:28:14 +01:00
Fred Tingaud
22b4470f2a
Modify CFamily rules: CPP-4080 Refresh and standardize CppCoreGuidelines references (#3514)
Update all links to C++ Core Guidelines to `e49158a`.

Refresh done using the following script and some manual edits:
db76e34e74/personal/fred-tingaud/rspec/refresh-cppcoreguidelines.py

When re-using this script, be mindful that:
 - it does not cover `shared_content`
 - it does not properly escape inline code in links (e.g., "[=]" or "`mutex`es")
 - it does not change `C++` to `{cpp}` in link titles.

Co-authored-by: Marco Borgeaud <marco.borgeaud@sonarsource.com>
2023-12-20 10:08:18 +01:00
Yassin Kammoun
289a124d78
Modify rule S107: Do not count TypeScript parameter properties (#2898)
## Review

A dedicated reviewer checked the rule description successfully for:

- [ ] logical errors and incorrect information
- [ ] information gaps and missing content
- [ ] text style and tone
- [ ] PR summary and labels follow [the
guidelines](https://github.com/SonarSource/rspec/#to-modify-an-existing-rule)
2023-08-18 14:01:14 +02:00
Amélie Renard
4698df5e2e
CPP-3691 Remove "MISRA C++ 2008 recommended" and "MISRA C++ 2008" quality profiles from all RSPECs 2023-08-10 17:32:11 +02:00
Amélie Renard
6a2c8bdd14
Modify rule S107: LaYC format 2023-08-10 16:54:47 +02:00
Antonio Aversa
a02bf814d4
Clean Code Taxonomy: add "code" to all non-obsolete metadata.json (#2793) 2023-08-04 17:19:38 +02:00
Fred Tingaud
51369b610e
Make sure that includes are always surrounded by empty lines (#2270)
When an include is not surrounded by empty lines, its content is inlined
on the same line as the adjacent content. That can lead to broken tags
and other display issues.
This PR fixes all such includes and introduces a validation step that
forbids introducing the same problem again.
2023-06-22 10:38:01 +02:00
Fred Tingaud
2cf7d97fd2
Remove languages that were never implemented for shared rules
Rules that were never implemented for any language are also removed.

Removing, per language:

## cobol
[S103, S1068, S1075, S1125, S1139, S1151, S126, S1301, S1488, S1607,
S1614, S1615, S1639, S1751, S1763, S1820, S1821, S1909, S1940, S1968,
S2024, S2145, S2189, S2190, S2197, S2251, S2252, S2760, S3047, S3269,
S3516, S3635, S3638, S3639, S3645, S3650, S3651, S3776, S3830, S3931,
S4109, S4143, S4158, S4165, S4632, S4663, S5871, S6194, S6273]

## csharp
[S1034, S1103, S1105, S1106, S1107, S1108, S1126, S1131, S1142, S115,
S1166, S117, S119, S1223, S124, S1247, S1312, S1314, S139, S140, S1448,
S1578, S1695, S1707, S1820, S1872, S1874, S1941, S1968, S1987, S2095,
S2107, S2108, S2139, S2145, S2147, S2149, S2159, S2177, S2189, S2205,
S2250, S2301, S2334, S2373, S2490, S2544, S2588, S2596, S2597, S2690,
S2691, S2702, S2752, S2833, S3041, S3044, S3047, S3062, S3065, S3075,
S3076, S3087, S3222, S3239, S3269, S3317, S3325, S3359, S3375, S3414,
S3473, S3516, S3518, S4030, S4165, S4470, S4632, S4977, S5359, S5871,
S6061, S6147, S6194, S864, S867, S899, S997]

## flex
[S1034, S104, S105, S1067, S1075, S109, S1103, S1104, S1105, S1106,
S1107, S1108, S1109, S1110, S1119, S1121, S1126, S113, S1131, S1141,
S1143, S1168, S1192, S1200, S121, S1226, S1247, S126, S1264, S1291,
S139, S1450, S1479, S1488, S1546, S1607, S1656, S1659, S1751, S1763,
S1764, S1782, S1845, S1854, S1858, S1862, S1872, S1905, S1940, S1941,
S1987, S1990, S1994, S2039, S2123, S2139,2145, S2149, S2156, S2159,
S2189, S2190, S2197, S2198, S2201, S2205, S2234, S2251, S2252, S2259,
S2301, S2387, S2440, S2583, S2588, S2589, S2596, S2597, S2639, S2681,
S2691, S2737, S2752, S2757, S2760, S2761, S2887, S2963, S3031, S3041,
S3047, S3065, S3075, S3076, S3222, S3239, S3241, S3242, S3269, S3358,
S3370, S3440, S3458, S3516, S3518, S3776, S3872, S3981, S4025, S4143,
S4144, S4158, S4165, S4632, S4663, S5871, S6194, S878, S881, S899]

## java
[S1034, S1131, S1247, S1453, S1707, S1772, S1782, S1888, S1968, S1990,
S2107, S2108, S2145, S2149, S2198, S2205, S2327, S2373, S2436, S2490,
S2526, S2588, S2596, S2597, S2690, S2691, S2702, S2738, S2752, S2760,
S2814, S2833, S2963, S2997, S3018, S3019, S3031, S3041, S3044, S3062,
S3075, S3076, S3087, S3222, S3239, S3241, S3249, S3263, S3269, S3317,
S3353, S3359, S3370, S3375, S3397, S3440, S3458, S3473, S3604, S3872,
S3887, S3949, S4025, S4030, S4136, S4158, S4632, S4663, S5780, S5781,
S5871, S6194, S787]

## php
[S1034, S109, S1104, S1107, S1119, S1120, S1128, S1143, S1199, S1213,
S1247, S1450, S1694, S1707, S1845, S1858, S1872, S1905, S1941, S1952,
S1968, S1987, S1994, S2095, S2108, S2114, S2139, S2145, S2149, S2156,
S2159, S2177, S2189, S2190, S2197, S2205, S2252, S2259, S2301, S2387,
S2583, S2588, S2589, S2596, S2597, S2639, S2691, S2752, S2760, S2814,
S2833, S3010, S3041, S3047, S3065, S3075, S3239, S3254, S3269, S3400,
S3440, S3458, S3466, S3516, S3518, S3872, S3931, S4030, S4165, S4188,
S4275, S4632, S4663, S5797, S5871, S6194, S864, S899]

## pli
[S104, S105, S1066, S1067, S1068, S1075, S108, S1110, S1135, S1151,
S1172, S1186, S1247, S125, S126, S1291, S1301, S138, S1451, S1479,
S1481, S1488, S1607, S1614, S1615, S1656, S1737, S1745, S1751, S1763,
S1764, S1821, S1854, S1862, S1871, S1909, S1940, S2527, S2583, S2589,
S2681, S2757, S3516, S3633, S3635, S3637, S3638, S3639, S3640, S3641,
S3643, S3644, S3645, S3647, S3650, S3651, S3652, S3776, S3890, S3923,
S3973, S4632, S4663, S5871, S6194, S864]

## abap
[S1045, S1075, S1135, S1144, S1186, S1226, S1291, S138, S1448, S1451,
S1479, S1601, S1607, S1763, S1820, S1821, S1854, S1905, S1909, S1940,
S2147, S2189, S2190, S2387, S2527, S2583, S2589, S2737, S2760, S3047,
S3269, S3358, S3516, S3635, S3637, S3638, S3639, S3640, S3641, S3644,
S3645, S3647, S3650, S3651, S3652, S4109, S4165, S4632, S4663, S5871,
S6194, S864]

## plsql
[S105, S1067, S1075, S1120, S1139, S1186, S1226, S1247, S138, S1488,
S1578, S1607, S1639, S1737, S1738, S1909, S2234, S2583, S2589, S2814,
S3269, S3270, S3358, S3516, S3518, S3635, S3637, S3638, S3639, S3640,
S3644, S3645, S3647, S3650, S3652, S3776, S3890, S3931, S3981, S4109,
S4165, S4413, S4632, S4663, S5871, S6194, S864]

## python
[S105, S1067, S1075, S109, S1125, S1126, S1128, S115, S1155, S1247,
S126, S1314, S1448, S1450, S1488, S1695, S1696, S1820, S1872, S1905,
S1941, S1952, S1987, S1996, S2095, S2114, S2139, S2145, S2149, S2166,
S2189, S2197, S2205, S2251, S2252, S2301, S2321, S2588, S2596, S2597,
S2639, S2691, S2752, S2760, S2833, S2963, S3041, S3047, S3065, S3075,
S3239, S3241, S3254, S3269, S3440, S3458, S3466, S3696, S3717, S3723,
S3872, S4030, S4158, S4165, S4632, S4663, S5871, S6194, S864, S899,
S907]

## javascript
[S1065, S1068, S1103, S1104, S1106, S1107, S1108, S1109, S1142, S1144,
S1147, S115, S1151, S116, S1199, S1200, S1247, S1291, S140, S1448,
S1450, S1578, S1607, S1659, S1707, S1820, S1845, S1872, S1905, S1941,
S1952, S1968, S1987, S1996, S2039, S2108, S2145, S2149, S2159, S2190,
S2205, S2252, S2301, S2326, S2372, S2387, S2588, S2596, S2597, S2691,
S2752, S2830, S2887, S2959, S3041, S3047, S3065, S3075, S3235, S3239,
S3325, S3440, S3458, S3518, S3872, S4025, S4487, S4632, S4663, S5603,
S5871, S6194, S864, S899]

## rpg
[S1066, S107, S1075, S1110, S1135, S1172, S1186, S124, S1247, S1291,
S1301, S131, S1448, S1479, S1481, S1578, S1607, S1614, S1615, S1735,
S1739, S1741, S1745, S1751, S1763, S1821, S1854, S1909, S1940, S1968,
S2189, S2190, S2197, S2251, S2252, S2260, S2527, S2583, S2589, S2757,
S2760, S3047, S3269, S3516, S3635, S3637, S3638, S3639, S3640, S3641,
S3643, S3644, S3645, S3647, S3650, S3651, S3652, S3776, S3890, S3923,
S4109, S4158, S4165, S4632, S4663, S5871, S6194, S864]

## rust
[S1066, S1067, S1172, S125, S1763, S2757, S2761, S3358, S3776, S3923,
S3981, S4143, S4144, S4663, S5871, S6194]

## solidity
[S1066, S1067, S125, S2757, S3776, S3923, S3981, S4143, S4144, S5871,
S6194]

## vbnet
[S1068, S1104, S1105, S1106, S1126, S1131, S1142, S1143, S1144, S116,
S119, S124, S1247, S125, S127, S140, S1448, S1488, S1578, S1607,1669,
S1694, S1695, S1696, S1698, S1707, S1763, S1820, S1845, S1854, S1858,
S1872, S1905, S1941, S1968, S1987, S2096, S2108, S2139, S2145, S2149,
S2159, S2189, S2190, S2197, S2198, S2201, S2205, S2250, S2251, S2301,
S2334, S2583, S2588, S2589, S2596, S2597, S2691, S2760, S3041, S3047,
S3236, S3239, S3242, S3269, S3376, S3440, S3458, S3516, S3518, S3626,
S3688, S3872, S3902, S3906, S3908, S3925, S3993, S3994, S3995, S3996,
S3997, S4004, S4005, S4018, S4022, S4023, S4026, S4030, S4040, S4158,
S4165, S4220, S4456, S4457, S4462, S4470, S4632, S5871, S6061, S6194,
S864, S899]

## html
[S1075, S1143, S1291, S1707, S1952, S2166, S2197, S2201, S2205, S2251,
S2588, S2596, S2597, S4632, S4663, S5871]

## tsql
[S1075, S1125, S1226, S1741, S1854, S2234, S2524, S2544, S2583, S2589,
S2757, S3270, S3618, S3651, S3776, S3830, S3981, S4158, S4165, S4632,
S4663, S5245, S5871, S6194, S864]

## vb6
[S1075, S1110, S1144, S1172, S1192, S1226, S125, S126, S127, S1291,
S134, S1448, S1451, S1481, S1578, S1607, S1656, S1707, S1751, S1763,
S1764, S1854, S1858, S1862, S1871, S1909, S1940, S1941,1987, S2145,
S2149, S2189, S2190, S2197, S2198, S2205, S2234, S2251, S2252, S2259,
S2301, S2583, S2588, S2596, S2597, S2760, S2761, S3047, S3269, S3440,
S3458, S3516, S3626, S3776, S3923, S3981, S4143, S4144, S4158, S4165,
S4632, S4663, S5871, S6145, S6146, S6194, S899]

## swift
[S109, S1103, S1119, S1121, S1185, S1226, S1247, S127, S1270, S1291,
S1448, S1450, S1537, S1545, S1578, S1607, S1707, S1874, S1968, S2039,
S2114, S2123, S2177, S2234, S2253, S2301, S2373, S2440, S2490, S2583,
S2588, S2589, S2596, S2597, S2639, S2691, S2752, S2833, S2931, S3019,
S3031, S3041, S3044, S3047, S3065, S3075, S3076, S3239, S3241, S3242,
S3244, S3254, S3269, S3317, S3353, S3366, S3370, S3397, S3398, S3440,
S3458, S3466, S3516, S3518, S3688, S3872, S3931, S3949, S4025, S4030,
S4158, S4165, S4200, S4275, S4487, S4503, S4632, S4663, S5359, S5871,
S6194, S864, S867, S925]

## cfamily
[S1104, S1105, S1106, S1107, S1108, S1109, S1124, S1125, S1126, S114,
S115, S119, S1192, S1200, S1247, S1312, S1450, S1453, S1488, S1595,
S1607, S1782, S1845, S1888, S1899, S1941, S1952, S1968, S2039, S2096,
S2108, S2139, S2149, S2159, S2164, S2166, S2177, S2198, S2205, S2252,
S2326, S2327, S2440, S2490, S2588, S2596, S2597, S2639, S2691, S2752,
S2760, S2833, S2963, S3031, S3038, S3044, S3047, S3065, S3075, S3076,
S3235, S3239, S3241, S3242, S3269, S3317, S3353, S3370, S3397, S3398,
S3440, S3466, S3872, S3878, S3981, S3984, S3985, S4025, S4158, S4165,
S4275, S4503, S4632, S4663, S4970, S5871]

## xml
[S1128, S1291, S1707, S4632, S4663]

## kotlin
[S113, S2583, S3011, S3973, S4143, S5871, S6194]

## scala
[S113, S2583, S2757, S2761, S3011, S3358, S3981, S4143, S5871, S6194]

## go
[S1155, S125, S127, S2114, S2197, S2583, S3626, S4487, S4632, S5871,
S6194, S899]

## ruby
[S125, S2583, S3973, S3981, S4143, S5871, S6194]

## apex
[S2761, S3358, S3981, S4143, S5871, S6194]

## css
[S4632, S5871]
2023-06-14 14:43:06 +02:00
Fred Tingaud
16f6c0aecf
Inline adoc when include has no additional value (#1940)
Inline adoc files when they are included exactly once.

Also fix language tags because this inlining gives us better information
on what language the code is written in.
2023-05-25 14:18:12 +02:00
Victor
fe961619f9 migrate rule descriptions to new education format 2023-05-05 16:29:04 +02:00
leonardo-pilastri-sonarsource
89c7bcc329
Modify rule S107: Add exceptions to description for Java (SONARJAVA-4072) (#1362)
* Modify rule S107: Add exceptions to description for Java (SONARJAVA-4072)

* Fixed some formatting of the rule description, and exceptions were made clearer

* Added missing `+` symbol around annotation exception description
2022-10-24 14:51:00 +02:00
Yassin Kammoun
0a0b023661
Modify rule S107: Add exception for Angular component constructors (#1292) 2022-09-29 11:12:03 +02:00
Yassin Kammoun
00abc84fc9
Modify rule S107: Add an exception for TypeScript constructors (#1260) 2022-09-15 11:46:29 +02:00
Pavel Mikula
0852b8714e
Modify rule S107: Fix C# example (#839) 2022-02-18 15:53:40 +01:00
Pavel Mikula
18c48813f6
Modify rule S107: Improve C# and VB.NET examples (#835) 2022-02-18 15:03:19 +01:00
Pavel Mikula
424c6dabdb
Modify rule S107: Synchronize exception for VB.NET with C# (#833) 2022-02-18 14:15:34 +01:00
Mary Georgiou
0f320d0d61
Modify rule S107: Update code example for csharp to include rule behavior in the case of constructors. (#792) 2022-02-09 08:36:26 +00:00
Fred Tingaud
b4161466e6
RULEAPI-661: Add syntax coloring 2022-02-04 16:28:24 +00:00
Fred Tingaud
7d868d3f35
Use a more readable form to display parameters 2022-02-01 12:25:23 +00:00
Čaba Šagi
72ab378e65
Revert All to Main scope change for all languages except javascript (#578) 2021-11-11 11:01:39 +01:00
Elena Vilchik
7a5f08bd8d
Set scope 'Main' for javascript rules (#491) 2021-10-14 12:25:50 +02:00
Arseniy Zaostrovnykh
6a0ec99e78
RULEAPI-706: Add quick fixes metadata 2021-10-07 09:23:15 +00:00
Arseniy Zaostrovnykh
2301f5808e
RULEAPI-695: remove extra/coveredLanguages field 2021-09-28 13:36:45 +02:00
Arseniy Zaostrovnykh
ec55b6ead1
RULEAPI-687: Migrate legacy keys from Jira RSPEC (#392) 2021-09-24 09:08:46 +02:00
Arseniy Zaostrovnykh
f7904cebe7
RULEAPI-666: Migrate the "List of parameters", "Highlighting" and "Message" fields from jira RSPEC (#346) 2021-09-20 13:38:42 +00:00
Elena Vilchik
4017668a76
Fixes for JavaScript: remove 'Sonar way recommended' profile and legacy keys (#148) 2021-06-25 14:41:11 +02:00
Arseniy Zaostrovnykh
b76bc57083
RULEAPI-576: add a horizontal rule between rule description and comments 2021-06-08 15:52:13 +02:00
Arseniy Zaostrovnykh
6c1ad2c13c Fix the comment display: rule-id, timestamp, GH visibility, link direction 2021-06-03 09:05:38 +02:00
Arseniy Zaostrovnykh
cdd7690a79 Export comments and rspec-to-rspec links from jira 2021-06-02 20:44:38 +02:00
Arseniy Zaostrovnykh
acadea59e9 move coveredLangauges and replacementRules into extra field 2021-02-16 17:52:17 +01:00
Arseniy Zaostrovnykh
1d713451d6 Undo the abuse of compatibleLanguages metadata field 2021-02-16 15:00:44 +01:00
Arseniy Zaostrovnykh
a09a26d560 fix hading of {{\+}} and sort the compatible languages 2021-02-08 12:42:26 +01:00
Arseniy Zaostrovnykh
b62862646c move typescript rules to javascript directory 2021-02-08 10:49:37 +01:00
sonartech
0ffbfb133d Nightly update 2021-02-06 04:10:49 +00:00
Arseniy Zaostrovnykh
af8cda992b unescape more things 2021-02-05 10:34:25 +01:00
Arseniy Zaostrovnykh
402a7d7be3 sort metadata fields 2021-02-04 12:27:03 +01:00
Arseniy Zaostrovnykh
f6093ee186 Overapproximate compatibleLanguages and tags/standards 2021-02-02 19:11:00 +01:00
Arseniy Zaostrovnykh
7ca29f686f Force linebreaks 2021-02-02 15:02:10 +01:00
Arseniy Zaostrovnykh
1a22006270 Add coveredLanguages field 2021-01-29 15:53:23 +01:00
Arseniy Zaostrovnykh
d4598ce0f9 make in-line code blocks verbatim 2021-01-27 13:42:22 +01:00
Arseniy Zaostrovnykh
0a8c5eafce add replacementRules metadata field 2021-01-26 16:58:13 +01:00
Arseniy Zaostrovnykh
7370b8b766 Replace C++ with {cpp} 2021-01-26 14:30:57 +01:00
sonartech
b795c478bf Nightly update 2021-01-19 04:07:02 +00:00
Arseniy Zaostrovnykh
fb261af631 Quality profiles for customized rules 2021-01-07 12:13:35 +01:00