eslint-plugin-sonarjs 3.0.3 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/README.md +7 -7
  2. package/cjs/S2301/rule.js +2 -3
  3. package/cjs/S6321/rule.js +0 -1
  4. package/cjs/helpers/ast.js +0 -17
  5. package/cjs/helpers/files.js +0 -32
  6. package/cjs/helpers/location.js +0 -1
  7. package/cjs/helpers/module.js +0 -2
  8. package/cjs/helpers/reaching-definitions.js +9 -9
  9. package/cjs/helpers/type.js +3 -5
  10. package/docs/anchor-precedence.md +7 -0
  11. package/docs/argument-type.md +7 -0
  12. package/docs/arguments-order.md +7 -0
  13. package/docs/arguments-usage.md +5 -0
  14. package/docs/array-callback-without-return.md +7 -0
  15. package/docs/array-constructor.md +7 -0
  16. package/docs/arrow-function-convention.md +16 -0
  17. package/docs/assertions-in-tests.md +5 -0
  18. package/docs/aws-apigateway-public-api.md +5 -0
  19. package/docs/aws-ec2-rds-dms-public.md +5 -0
  20. package/docs/aws-ec2-unencrypted-ebs-volume.md +5 -0
  21. package/docs/aws-efs-unencrypted.md +5 -0
  22. package/docs/aws-iam-all-privileges.md +5 -0
  23. package/docs/aws-iam-all-resources-accessible.md +5 -0
  24. package/docs/aws-iam-privilege-escalation.md +5 -0
  25. package/docs/aws-iam-public-access.md +5 -0
  26. package/docs/aws-opensearchservice-domain.md +5 -0
  27. package/docs/aws-rds-unencrypted-databases.md +5 -0
  28. package/docs/aws-restricted-ip-admin-access.md +5 -0
  29. package/docs/aws-s3-bucket-granted-access.md +5 -0
  30. package/docs/aws-s3-bucket-insecure-http.md +5 -0
  31. package/docs/aws-s3-bucket-public-access.md +5 -0
  32. package/docs/aws-s3-bucket-server-encryption.md +7 -0
  33. package/docs/aws-s3-bucket-versioning.md +5 -0
  34. package/docs/aws-sagemaker-unencrypted-notebook.md +5 -0
  35. package/docs/aws-sns-unencrypted-topics.md +5 -0
  36. package/docs/aws-sqs-unencrypted-queue.md +5 -0
  37. package/docs/bitwise-operators.md +5 -0
  38. package/docs/block-scoped-var.md +5 -0
  39. package/docs/bool-param-default.md +5 -0
  40. package/docs/call-argument-line.md +5 -0
  41. package/docs/certificate-transparency.md +7 -0
  42. package/docs/chai-determinate-assertion.md +5 -0
  43. package/docs/class-name.md +15 -0
  44. package/docs/class-prototype.md +7 -0
  45. package/docs/code-eval.md +5 -0
  46. package/docs/cognitive-complexity.md +11 -0
  47. package/docs/comma-or-logical-or-case.md +5 -0
  48. package/docs/comment-regex.md +17 -0
  49. package/docs/concise-regex.md +7 -0
  50. package/docs/conditional-indentation.md +7 -0
  51. package/docs/confidential-information-logging.md +5 -0
  52. package/docs/constructor-for-side-effects.md +5 -0
  53. package/docs/content-length.md +16 -0
  54. package/docs/content-security-policy.md +5 -0
  55. package/docs/cookie-no-httponly.md +5 -0
  56. package/docs/cookies.md +7 -0
  57. package/docs/cors.md +5 -0
  58. package/docs/csrf.md +5 -0
  59. package/docs/cyclomatic-complexity.md +15 -0
  60. package/docs/declarations-in-global-scope.md +5 -0
  61. package/docs/deprecation.md +7 -0
  62. package/docs/destructuring-assignment-syntax.md +5 -0
  63. package/docs/different-types-comparison.md +9 -0
  64. package/docs/disabled-auto-escaping.md +7 -0
  65. package/docs/disabled-resource-integrity.md +7 -0
  66. package/docs/disabled-timeout.md +5 -0
  67. package/docs/dns-prefetching.md +7 -0
  68. package/docs/duplicates-in-character-class.md +7 -0
  69. package/docs/elseif-without-else.md +5 -0
  70. package/docs/empty-string-repetition.md +7 -0
  71. package/docs/encryption-secure-mode.md +5 -0
  72. package/docs/encryption.md +7 -0
  73. package/docs/enforce-trailing-comma.md +23 -0
  74. package/docs/existing-groups.md +7 -0
  75. package/docs/expression-complexity.md +15 -0
  76. package/docs/file-header.md +16 -0
  77. package/docs/file-name-differ-from-class.md +5 -0
  78. package/docs/file-permissions.md +5 -0
  79. package/docs/file-uploads.md +5 -0
  80. package/docs/fixme-tag.md +5 -0
  81. package/docs/for-in.md +5 -0
  82. package/docs/for-loop-increment-sign.md +5 -0
  83. package/docs/frame-ancestors.md +5 -0
  84. package/docs/function-inside-loop.md +5 -0
  85. package/docs/function-name.md +15 -0
  86. package/docs/function-return-type.md +7 -0
  87. package/docs/future-reserved-words.md +5 -0
  88. package/docs/generator-without-yield.md +5 -0
  89. package/docs/hashing.md +5 -0
  90. package/docs/hidden-files.md +5 -0
  91. package/docs/in-operator-type-error.md +7 -0
  92. package/docs/inconsistent-function-call.md +5 -0
  93. package/docs/index-of-compare-to-positive-number.md +7 -0
  94. package/docs/insecure-cookie.md +5 -0
  95. package/docs/insecure-jwt-token.md +5 -0
  96. package/docs/inverted-assertion-arguments.md +7 -0
  97. package/docs/jsx-no-leaked-render.md +9 -0
  98. package/docs/label-position.md +5 -0
  99. package/docs/link-with-target-blank.md +5 -0
  100. package/docs/max-lines-per-function.md +15 -0
  101. package/docs/max-lines.md +15 -0
  102. package/docs/max-switch-cases.md +11 -0
  103. package/docs/max-union-size.md +15 -0
  104. package/docs/misplaced-loop-counter.md +5 -0
  105. package/docs/nested-control-flow.md +15 -0
  106. package/docs/new-operator-misuse.md +17 -0
  107. package/docs/no-all-duplicated-branches.md +5 -0
  108. package/docs/no-alphabetical-sort.md +9 -0
  109. package/docs/no-angular-bypass-sanitization.md +5 -0
  110. package/docs/no-array-delete.md +7 -0
  111. package/docs/no-associative-arrays.md +7 -0
  112. package/docs/no-async-constructor.md +5 -0
  113. package/docs/no-built-in-override.md +5 -0
  114. package/docs/no-case-label-in-switch.md +5 -0
  115. package/docs/no-clear-text-protocols.md +5 -0
  116. package/docs/no-code-after-done.md +5 -0
  117. package/docs/no-collapsible-if.md +5 -0
  118. package/docs/no-collection-size-mischeck.md +9 -0
  119. package/docs/no-commented-code.md +7 -0
  120. package/docs/no-control-regex.md +7 -0
  121. package/docs/no-dead-store.md +5 -0
  122. package/docs/no-delete-var.md +5 -0
  123. package/docs/no-duplicate-in-composite.md +7 -0
  124. package/docs/no-duplicate-string.md +16 -0
  125. package/docs/no-duplicated-branches.md +5 -0
  126. package/docs/no-element-overwrite.md +5 -0
  127. package/docs/no-empty-after-reluctant.md +7 -0
  128. package/docs/no-empty-alternatives.md +7 -0
  129. package/docs/no-empty-character-class.md +7 -0
  130. package/docs/no-empty-collection.md +5 -0
  131. package/docs/no-empty-group.md +7 -0
  132. package/docs/no-empty-test-file.md +5 -0
  133. package/docs/no-equals-in-for-termination.md +5 -0
  134. package/docs/no-exclusive-tests.md +7 -0
  135. package/docs/no-extra-arguments.md +5 -0
  136. package/docs/no-fallthrough.md +5 -0
  137. package/docs/no-for-in-iterable.md +7 -0
  138. package/docs/no-function-declaration-in-block.md +5 -0
  139. package/docs/no-global-this.md +7 -0
  140. package/docs/no-globals-shadowing.md +5 -0
  141. package/docs/no-gratuitous-expressions.md +5 -0
  142. package/docs/no-hardcoded-ip.md +5 -0
  143. package/docs/no-hardcoded-passwords.md +15 -0
  144. package/docs/no-hardcoded-secrets.md +16 -0
  145. package/docs/no-hook-setter-in-body.md +5 -0
  146. package/docs/no-identical-conditions.md +5 -0
  147. package/docs/no-identical-expressions.md +5 -0
  148. package/docs/no-identical-functions.md +11 -0
  149. package/docs/no-ignored-exceptions.md +5 -0
  150. package/docs/no-ignored-return.md +7 -0
  151. package/docs/no-implicit-dependencies.md +15 -0
  152. package/docs/no-implicit-global.md +5 -0
  153. package/docs/no-in-misuse.md +9 -0
  154. package/docs/no-incomplete-assertions.md +5 -0
  155. package/docs/no-inconsistent-returns.md +5 -0
  156. package/docs/no-incorrect-string-concat.md +7 -0
  157. package/docs/no-internal-api-use.md +5 -0
  158. package/docs/no-intrusive-permissions.md +15 -0
  159. package/docs/no-invalid-regexp.md +7 -0
  160. package/docs/no-invariant-returns.md +5 -0
  161. package/docs/no-inverted-boolean-check.md +7 -0
  162. package/docs/no-ip-forward.md +5 -0
  163. package/docs/no-labels.md +5 -0
  164. package/docs/no-literal-call.md +5 -0
  165. package/docs/no-mime-sniff.md +5 -0
  166. package/docs/no-misleading-array-reverse.md +9 -0
  167. package/docs/no-misleading-character-class.md +9 -0
  168. package/docs/no-mixed-content.md +5 -0
  169. package/docs/no-nested-assignment.md +5 -0
  170. package/docs/no-nested-conditional.md +5 -0
  171. package/docs/no-nested-functions.md +15 -0
  172. package/docs/no-nested-incdec.md +5 -0
  173. package/docs/no-nested-switch.md +5 -0
  174. package/docs/no-nested-template-literals.md +5 -0
  175. package/docs/no-one-iteration-loop.md +5 -0
  176. package/docs/no-os-command-from-path.md +5 -0
  177. package/docs/no-parameter-reassignment.md +5 -0
  178. package/docs/no-primitive-wrappers.md +7 -0
  179. package/docs/no-redundant-assignments.md +5 -0
  180. package/docs/no-redundant-boolean.md +5 -0
  181. package/docs/no-redundant-jump.md +7 -0
  182. package/docs/no-redundant-optional.md +9 -0
  183. package/docs/no-redundant-parentheses.md +9 -0
  184. package/docs/no-reference-error.md +5 -0
  185. package/docs/no-referrer-policy.md +5 -0
  186. package/docs/no-regex-spaces.md +9 -0
  187. package/docs/no-require-or-define.md +7 -0
  188. package/docs/no-return-type-any.md +7 -0
  189. package/docs/no-same-argument-assert.md +5 -0
  190. package/docs/no-same-line-conditional.md +7 -0
  191. package/docs/no-selector-parameter.md +7 -0
  192. package/docs/no-skipped-tests.md +5 -0
  193. package/docs/no-small-switch.md +5 -0
  194. package/docs/no-sonar-comments.md +5 -0
  195. package/docs/no-tab.md +7 -0
  196. package/docs/no-table-as-layout.md +5 -0
  197. package/docs/no-try-promise.md +7 -0
  198. package/docs/no-undefined-argument.md +9 -0
  199. package/docs/no-undefined-assignment.md +5 -0
  200. package/docs/no-unenclosed-multiline-block.md +5 -0
  201. package/docs/no-uniq-key.md +5 -0
  202. package/docs/no-unsafe-unzip.md +5 -0
  203. package/docs/no-unthrown-error.md +7 -0
  204. package/docs/no-unused-collection.md +5 -0
  205. package/docs/no-unused-function-argument.md +7 -0
  206. package/docs/no-unused-vars.md +5 -0
  207. package/docs/no-use-of-empty-return-value.md +5 -0
  208. package/docs/no-useless-catch.md +5 -0
  209. package/docs/no-useless-increment.md +5 -0
  210. package/docs/no-useless-intersection.md +7 -0
  211. package/docs/no-useless-react-setstate.md +5 -0
  212. package/docs/no-variable-usage-before-declaration.md +5 -0
  213. package/docs/no-vue-bypass-sanitization.md +7 -0
  214. package/docs/no-weak-cipher.md +5 -0
  215. package/docs/no-weak-keys.md +5 -0
  216. package/docs/no-wildcard-import.md +5 -0
  217. package/docs/non-existent-operator.md +7 -0
  218. package/docs/non-number-in-arithmetic-expression.md +7 -0
  219. package/docs/null-dereference.md +7 -0
  220. package/docs/object-alt-content.md +5 -0
  221. package/docs/operation-returning-nan.md +7 -0
  222. package/docs/os-command.md +5 -0
  223. package/docs/post-message.md +7 -0
  224. package/docs/prefer-default-last.md +5 -0
  225. package/docs/prefer-immediate-return.md +7 -0
  226. package/docs/prefer-object-literal.md +5 -0
  227. package/docs/prefer-promise-shorthand.md +7 -0
  228. package/docs/prefer-read-only-props.md +9 -0
  229. package/docs/prefer-regexp-exec.md +9 -0
  230. package/docs/prefer-single-boolean-return.md +7 -0
  231. package/docs/prefer-type-guard.md +7 -0
  232. package/docs/prefer-while.md +7 -0
  233. package/docs/process-argv.md +7 -0
  234. package/docs/production-debug.md +5 -0
  235. package/docs/pseudo-random.md +5 -0
  236. package/docs/public-static-readonly.md +7 -0
  237. package/docs/publicly-writable-directories.md +5 -0
  238. package/docs/reduce-initial-value.md +7 -0
  239. package/docs/redundant-type-aliases.md +5 -0
  240. package/docs/regex-complexity.md +17 -0
  241. package/docs/regular-expr.md +7 -0
  242. package/docs/session-regeneration.md +5 -0
  243. package/docs/shorthand-property-grouping.md +5 -0
  244. package/docs/single-char-in-character-classes.md +7 -0
  245. package/docs/single-character-alternation.md +7 -0
  246. package/docs/slow-regex.md +7 -0
  247. package/docs/sockets.md +7 -0
  248. package/docs/sql-queries.md +5 -0
  249. package/docs/stable-tests.md +5 -0
  250. package/docs/standard-input.md +7 -0
  251. package/docs/stateful-regex.md +5 -0
  252. package/docs/strict-transport-security.md +5 -0
  253. package/docs/strings-comparison.md +7 -0
  254. package/docs/super-invocation.md +5 -0
  255. package/docs/table-header-reference.md +5 -0
  256. package/docs/table-header.md +5 -0
  257. package/docs/test-check-exception.md +5 -0
  258. package/docs/todo-tag.md +5 -0
  259. package/docs/too-many-break-or-continue-in-loop.md +5 -0
  260. package/docs/unicode-aware-regex.md +7 -0
  261. package/docs/unused-import.md +9 -0
  262. package/docs/unused-named-groups.md +7 -0
  263. package/docs/unverified-certificate.md +5 -0
  264. package/docs/unverified-hostname.md +5 -0
  265. package/docs/updated-const-var.md +5 -0
  266. package/docs/updated-loop-counter.md +7 -0
  267. package/docs/use-type-alias.md +5 -0
  268. package/docs/useless-string-operation.md +9 -0
  269. package/docs/values-not-convertible-to-numbers.md +7 -0
  270. package/docs/variable-name.md +15 -0
  271. package/docs/void-use.md +7 -0
  272. package/docs/weak-ssl.md +5 -0
  273. package/docs/web-sql-database.md +9 -0
  274. package/docs/x-powered-by.md +5 -0
  275. package/docs/xml-parser-xxe.md +5 -0
  276. package/docs/xpath.md +7 -0
  277. package/package.json +2 -1
  278. package/types/S2301/rule.d.ts +0 -1
  279. package/types/S6321/rule.d.ts +0 -2
  280. package/types/helpers/ast.d.ts +0 -5
  281. package/types/helpers/aws/cdk.d.ts +2 -2
  282. package/types/helpers/configs.d.ts +1 -1
  283. package/types/helpers/decorators/interceptor.d.ts +3 -2
  284. package/types/helpers/files.d.ts +0 -16
  285. package/types/helpers/find-up.d.ts +2 -2
  286. package/types/helpers/location.d.ts +0 -17
  287. package/types/helpers/module.d.ts +0 -15
  288. package/types/helpers/reaching-definitions.d.ts +0 -1
  289. package/types/helpers/type.d.ts +0 -15
  290. package/types/plugin.d.ts +2 -2
package/README.md CHANGED
@@ -145,7 +145,7 @@ If you have any questions, encounter any bugs, or have feature requests, please
145
145
  | [block-scoped-var](https://sonarsource.github.io/rspec/#/rspec/S2392/javascript) | Variables should be used in the blocks where they are declared | ✅ | | | | |
146
146
  | [bool-param-default](https://sonarsource.github.io/rspec/#/rspec/S4798/javascript) | Optional boolean parameters should have default value | | | | | |
147
147
  | [call-argument-line](https://sonarsource.github.io/rspec/#/rspec/S1472/javascript) | Function call arguments should not start on new lines | ✅ | | | | |
148
- | [certificate-transparency](https://sonarsource.github.io/rspec/#/rspec/S5742/javascript) | Disabling Certificate Transparency monitoring is security-sensitive | ✅ | | | | |
148
+ | [certificate-transparency](https://sonarsource.github.io/rspec/#/rspec/S5742/javascript) | Disabling Certificate Transparency monitoring is security-sensitive | | | | | ❌ |
149
149
  | [chai-determinate-assertion](https://sonarsource.github.io/rspec/#/rspec/S6092/javascript) | Chai assertions should have only one reason to succeed | ✅ | | | | |
150
150
  | [class-name](https://sonarsource.github.io/rspec/#/rspec/S101/javascript) | Class names should comply with a naming convention | ✅ | | | | |
151
151
  | [class-prototype](https://sonarsource.github.io/rspec/#/rspec/S3525/javascript) | Class methods should be used instead of "prototype" assignments | | | | 💭 | |
@@ -263,7 +263,6 @@ If you have any questions, encounter any bugs, or have feature requests, please
263
263
  | [no-incorrect-string-concat](https://sonarsource.github.io/rspec/#/rspec/S3402/javascript) | Strings and non-strings should not be added | | | | 💭 | |
264
264
  | [no-internal-api-use](https://sonarsource.github.io/rspec/#/rspec/S6627/javascript) | Users should not use internal APIs | ✅ | | | | |
265
265
  | [no-intrusive-permissions](https://sonarsource.github.io/rspec/#/rspec/S5604/javascript) | Using intrusive permissions is security-sensitive | ✅ | | | | |
266
- | [no-invalid-await](https://sonarsource.github.io/rspec/#/rspec/S4123/javascript) | "await" should only be used with promises | ✅ | | | 💭 | |
267
266
  | [no-invalid-regexp](https://sonarsource.github.io/rspec/#/rspec/S5856/javascript) | Regular expressions should be syntactically valid | ✅ | | | 💭 | |
268
267
  | [no-invariant-returns](https://sonarsource.github.io/rspec/#/rspec/S3516/javascript) | Function returns should not be invariant | ✅ | | | | |
269
268
  | [no-inverted-boolean-check](https://sonarsource.github.io/rspec/#/rspec/S1940/javascript) | Boolean checks should not be inverted | ✅ | 🔧 | 💡 | | |
@@ -318,7 +317,7 @@ If you have any questions, encounter any bugs, or have feature requests, please
318
317
  | [no-useless-intersection](https://sonarsource.github.io/rspec/#/rspec/S4335/javascript) | Type intersections should use meaningful types | ✅ | | | 💭 | |
319
318
  | [no-useless-react-setstate](https://sonarsource.github.io/rspec/#/rspec/S6443/javascript) | React state setter function should not be called with its matching state variable | ✅ | | | | |
320
319
  | [no-variable-usage-before-declaration](https://sonarsource.github.io/rspec/#/rspec/S1526/javascript) | Variables declared with "var" should be declared before they are used | | | | | |
321
- | [no-vue-bypass-sanitization](https://sonarsource.github.io/rspec/#/rspec/S6299/javascript) | Disabling Vue.js built-in escaping is security-sensitive | ✅ | | | | |
320
+ | [no-vue-bypass-sanitization](https://sonarsource.github.io/rspec/#/rspec/S6299/javascript) | Disabling Vue.js built-in escaping is security-sensitive | | | | | ❌ |
322
321
  | [no-weak-cipher](https://sonarsource.github.io/rspec/#/rspec/S5547/javascript) | Cipher algorithms should be robust | ✅ | | | | |
323
322
  | [no-weak-keys](https://sonarsource.github.io/rspec/#/rspec/S4426/javascript) | Cryptographic keys should be robust | ✅ | | | | |
324
323
  | [no-wildcard-import](https://sonarsource.github.io/rspec/#/rspec/S2208/javascript) | Wildcard imports should not be used | | | | | |
@@ -371,7 +370,7 @@ If you have any questions, encounter any bugs, or have feature requests, please
371
370
  | [unverified-certificate](https://sonarsource.github.io/rspec/#/rspec/S4830/javascript) | Server certificates should be verified during SSL/TLS connections | ✅ | | | | |
372
371
  | [unverified-hostname](https://sonarsource.github.io/rspec/#/rspec/S5527/javascript) | Server hostnames should be verified during SSL/TLS connections | ✅ | | | | |
373
372
  | [updated-const-var](https://sonarsource.github.io/rspec/#/rspec/S3500/javascript) | "const" variables should not be reassigned | ✅ | | | | |
374
- | [updated-loop-counter](https://sonarsource.github.io/rspec/#/rspec/S2310/javascript) | Loop counters should not be assigned within the loop body | ✅ | | | | |
373
+ | [updated-loop-counter](https://sonarsource.github.io/rspec/#/rspec/S2310/javascript) | Loop counters should not be assigned within the loop body | ✅ | | | ||
375
374
  | [use-type-alias](https://sonarsource.github.io/rspec/#/rspec/S4323/javascript) | Type aliases should be used | ✅ | | | | |
376
375
  | [useless-string-operation](https://sonarsource.github.io/rspec/#/rspec/S1154/javascript) | Results of operations on strings should not be ignored | | | | 💭 | ❌ |
377
376
  | [values-not-convertible-to-numbers](https://sonarsource.github.io/rspec/#/rspec/S3758/javascript) | Values not convertible to numbers should not be used in numeric comparisons | | | | 💭 | |
@@ -415,7 +414,7 @@ SonarJS uses some rules are not shipped in this ESLint plugin to avoid duplicati
415
414
  | [S1516](https://sonarsource.github.io/rspec/#/rspec/S1516/javascript) | [eslint/no-multi-str](https://eslint.org/docs/latest/rules/no-multi-str) |
416
415
  | [S1525](https://sonarsource.github.io/rspec/#/rspec/S1525/javascript) | [eslint/no-debugger](https://eslint.org/docs/latest/rules/no-debugger) |
417
416
  | [S1536](https://sonarsource.github.io/rspec/#/rspec/S1536/javascript) | [eslint/no-dupe-args](https://eslint.org/docs/latest/rules/no-dupe-args) |
418
- | [S1537](https://sonarsource.github.io/rspec/#/rspec/S1537/javascript) | [typescript-eslint/comma-dangle](https://github.com/typescript-eslint/typescript-eslint/blob/v7.18.0/packages/eslint-plugin/docs/rules/comma-dangle.mdx) |
417
+ | [S1537](https://sonarsource.github.io/rspec/#/rspec/S1537/javascript) | [@stylistic/eslint-plugin-ts/comma-dangle](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/packages/eslint-plugin/rules/comma-dangle/README.md) |
419
418
  | [S1539](https://sonarsource.github.io/rspec/#/rspec/S1539/javascript) | [eslint/strict](https://eslint.org/docs/latest/rules/strict) |
420
419
  | [S1656](https://sonarsource.github.io/rspec/#/rspec/S1656/javascript) | [eslint/no-self-assign](https://eslint.org/docs/latest/rules/no-self-assign) |
421
420
  | [S1774](https://sonarsource.github.io/rspec/#/rspec/S1774/javascript) | [eslint/no-ternary](https://eslint.org/docs/latest/rules/no-ternary) |
@@ -433,6 +432,7 @@ SonarJS uses some rules are not shipped in this ESLint plugin to avoid duplicati
433
432
  | [S3812](https://sonarsource.github.io/rspec/#/rspec/S3812/javascript) | [eslint/no-unsafe-negation](https://eslint.org/docs/latest/rules/no-unsafe-negation) |
434
433
  | [S3834](https://sonarsource.github.io/rspec/#/rspec/S3834/javascript) | [eslint/no-new-native-nonconstructor](https://eslint.org/docs/latest/rules/no-new-native-nonconstructor) |
435
434
  | [S3863](https://sonarsource.github.io/rspec/#/rspec/S3863/javascript) | [import/no-duplicates](https://github.com/import-js/eslint-plugin-import/blob/HEAD/docs/rules/no-duplicates.md) |
435
+ | [S4123](https://sonarsource.github.io/rspec/#/rspec/S4123/javascript) | [typescript-eslint/await-thenable](https://github.com/typescript-eslint/typescript-eslint/blob/v7.18.0/packages/eslint-plugin/docs/rules/await-thenable.mdx) |
436
436
  | [S4124](https://sonarsource.github.io/rspec/#/rspec/S4124/javascript) | [typescript-eslint/no-misused-new](https://github.com/typescript-eslint/typescript-eslint/blob/v7.18.0/packages/eslint-plugin/docs/rules/no-misused-new.mdx) |
437
437
  | [S4125](https://sonarsource.github.io/rspec/#/rspec/S4125/javascript) | [eslint/valid-typeof](https://eslint.org/docs/latest/rules/valid-typeof) |
438
438
  | [S4136](https://sonarsource.github.io/rspec/#/rspec/S4136/javascript) | [typescript-eslint/adjacent-overload-signatures](https://github.com/typescript-eslint/typescript-eslint/blob/v7.18.0/packages/eslint-plugin/docs/rules/adjacent-overload-signatures.mdx) |
@@ -524,9 +524,9 @@ The following rules are used in SonarJS but not available in this ESLint plugin.
524
524
  | [S1077](https://sonarsource.github.io/rspec/#/rspec/S1077/javascript) | [jsx-a11y/alt-text](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/HEAD/docs/rules/alt-text.md) |
525
525
  | [S1082](https://sonarsource.github.io/rspec/#/rspec/S1082/javascript) | [jsx-a11y/mouse-events-have-key-events](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/HEAD/docs/rules/mouse-events-have-key-events.md)<br>[jsx-a11y/click-events-have-key-events](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/HEAD/docs/rules/click-events-have-key-events.md) |
526
526
  | [S1105](https://sonarsource.github.io/rspec/#/rspec/S1105/javascript) | [eslint/brace-style](https://eslint.org/docs/latest/rules/brace-style) |
527
- | [S1116](https://sonarsource.github.io/rspec/#/rspec/S1116/javascript) | [typescript-eslint/no-extra-semi](https://github.com/typescript-eslint/typescript-eslint/blob/v7.18.0/packages/eslint-plugin/docs/rules/no-extra-semi.mdx) |
527
+ | [S1116](https://sonarsource.github.io/rspec/#/rspec/S1116/javascript) | [@stylistic/eslint-plugin-ts/no-extra-semi](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/packages/eslint-plugin/rules/no-extra-semi/README.md) |
528
528
  | [S1186](https://sonarsource.github.io/rspec/#/rspec/S1186/javascript) | [typescript-eslint/no-empty-function](https://github.com/typescript-eslint/typescript-eslint/blob/v7.18.0/packages/eslint-plugin/docs/rules/no-empty-function.mdx) |
529
- | [S1438](https://sonarsource.github.io/rspec/#/rspec/S1438/javascript) | [typescript-eslint/semi](https://github.com/typescript-eslint/typescript-eslint/blob/v7.18.0/packages/eslint-plugin/docs/rules/semi.mdx) |
529
+ | [S1438](https://sonarsource.github.io/rspec/#/rspec/S1438/javascript) | [@stylistic/eslint-plugin-ts/semi](https://github.com/eslint-stylistic/eslint-stylistic/blob/main/packages/eslint-plugin/rules/semi/README.md) |
530
530
  | [S1534](https://sonarsource.github.io/rspec/#/rspec/S1534/javascript) | [eslint/no-dupe-keys](https://eslint.org/docs/latest/rules/no-dupe-keys)<br>[typescript-eslint/no-dupe-class-members](https://github.com/typescript-eslint/typescript-eslint/blob/v7.18.0/packages/eslint-plugin/docs/rules/no-dupe-class-members.mdx)<br>[react/jsx-no-duplicate-props](https://github.com/jsx-eslint/eslint-plugin-react/blob/HEAD/docs/rules/jsx-no-duplicate-props.md) |
531
531
  | [S1763](https://sonarsource.github.io/rspec/#/rspec/S1763/javascript) | [eslint/no-unreachable](https://eslint.org/docs/latest/rules/no-unreachable) |
532
532
  | [S1788](https://sonarsource.github.io/rspec/#/rspec/S1788/javascript) | [typescript-eslint/default-param-last](https://github.com/typescript-eslint/typescript-eslint/blob/v7.18.0/packages/eslint-plugin/docs/rules/default-param-last.mdx) |
package/cjs/S2301/rule.js CHANGED
@@ -50,14 +50,14 @@ var __importStar = (this && this.__importStar) || (function () {
50
50
  };
51
51
  })();
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.rule = exports.S2301 = void 0;
53
+ exports.rule = void 0;
54
54
  const index_js_1 = require("../helpers/index.js");
55
55
  const meta = __importStar(require("./generated-meta.js"));
56
56
  const message = 'Provide multiple methods instead of using "{{parameterName}}" to determine which action to take.';
57
57
  /**
58
58
  * A suspect test node is a test node that is the only child of a function body
59
59
  */
60
- exports.S2301 = {
60
+ exports.rule = {
61
61
  meta: (0, index_js_1.generateMeta)(meta, {
62
62
  messages: {
63
63
  message,
@@ -157,4 +157,3 @@ exports.S2301 = {
157
157
  };
158
158
  },
159
159
  };
160
- exports.rule = exports.S2301;
package/cjs/S6321/rule.js CHANGED
@@ -51,7 +51,6 @@ var __importStar = (this && this.__importStar) || (function () {
51
51
  })();
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  exports.rule = void 0;
54
- exports.getPropertyValue = getPropertyValue;
55
54
  const cdk_js_1 = require("../helpers/aws/cdk.js");
56
55
  const index_js_1 = require("../helpers/index.js");
57
56
  const meta = __importStar(require("./generated-meta.js"));
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.functionLike = exports.FUNCTION_NODES = void 0;
4
- exports.isModuleDeclaration = isModuleDeclaration;
5
4
  exports.isFunctionExpression = isFunctionExpression;
6
5
  exports.isFunctionDeclaration = isFunctionDeclaration;
7
6
  exports.isArrowFunctionExpression = isArrowFunctionExpression;
@@ -13,17 +12,13 @@ exports.isThrowStatement = isThrowStatement;
13
12
  exports.isMemberExpression = isMemberExpression;
14
13
  exports.isLogicalExpression = isLogicalExpression;
15
14
  exports.isBinaryPlus = isBinaryPlus;
16
- exports.isUnaryExpression = isUnaryExpression;
17
15
  exports.isArrayExpression = isArrayExpression;
18
16
  exports.isRequireModule = isRequireModule;
19
17
  exports.isMethodInvocation = isMethodInvocation;
20
18
  exports.isFunctionInvocation = isFunctionInvocation;
21
19
  exports.isFunctionCall = isFunctionCall;
22
20
  exports.isMethodCall = isMethodCall;
23
- exports.isVariableDeclaration = isVariableDeclaration;
24
21
  exports.isCallingMethod = isCallingMethod;
25
- exports.isNamespaceSpecifier = isNamespaceSpecifier;
26
- exports.isDefaultSpecifier = isDefaultSpecifier;
27
22
  exports.isModuleExports = isModuleExports;
28
23
  exports.isFunctionNode = isFunctionNode;
29
24
  exports.isLiteral = isLiteral;
@@ -120,9 +115,6 @@ function isLogicalExpression(node) {
120
115
  function isBinaryPlus(node) {
121
116
  return node.type === 'BinaryExpression' && node.operator === '+';
122
117
  }
123
- function isUnaryExpression(node) {
124
- return node !== undefined && node.type === 'UnaryExpression';
125
- }
126
118
  function isArrayExpression(node) {
127
119
  return node !== undefined && node.type === 'ArrayExpression';
128
120
  }
@@ -155,20 +147,11 @@ function isMethodCall(callExpr) {
155
147
  !callExpr.callee.computed &&
156
148
  callExpr.callee.property.type === 'Identifier');
157
149
  }
158
- function isVariableDeclaration(node) {
159
- return node !== undefined && node.type === 'VariableDeclaration';
160
- }
161
150
  function isCallingMethod(callExpr, arity, ...methodNames) {
162
151
  return (isMethodCall(callExpr) &&
163
152
  callExpr.arguments.length === arity &&
164
153
  methodNames.includes(callExpr.callee.property.name));
165
154
  }
166
- function isNamespaceSpecifier(importDeclaration, name) {
167
- return importDeclaration.specifiers.some(({ type, local }) => type === 'ImportNamespaceSpecifier' && local.name === name);
168
- }
169
- function isDefaultSpecifier(importDeclaration, name) {
170
- return importDeclaration.specifiers.some(({ type, local }) => type === 'ImportDefaultSpecifier' && local.name === name);
171
- }
172
155
  function isModuleExports(node) {
173
156
  return (node.type === 'MemberExpression' &&
174
157
  node.object.type === 'Identifier' &&
@@ -3,10 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readFileSync = readFileSync;
7
6
  exports.stripBOM = stripBOM;
8
7
  exports.toUnixPath = toUnixPath;
9
- exports.findParent = findParent;
10
8
  exports.isRoot = isRoot;
11
9
  /*
12
10
  * SonarQube JavaScript Plugin
@@ -24,25 +22,11 @@ exports.isRoot = isRoot;
24
22
  * You should have received a copy of the Sonar Source-Available License
25
23
  * along with this program; if not, see https://sonarsource.com/license/ssal/
26
24
  */
27
- const fs_1 = __importDefault(require("fs"));
28
25
  const path_1 = __importDefault(require("path"));
29
26
  /**
30
27
  * Byte Order Marker
31
28
  */
32
29
  const BOM_BYTE = 0xfeff;
33
- /**
34
- * Synchronous read of file contents from a file path
35
- *
36
- * The function gets rid of any Byte Order Marker (BOM)
37
- * present in the file's header.
38
- *
39
- * @param filePath the path of a file
40
- * @returns Promise which resolves with the content of the file
41
- */
42
- function readFileSync(filePath) {
43
- const fileContent = fs_1.default.readFileSync(filePath, { encoding: 'utf8' });
44
- return stripBOM(fileContent);
45
- }
46
30
  /**
47
31
  * Removes any Byte Order Marker (BOM) from a string's head
48
32
  *
@@ -65,22 +49,6 @@ function stripBOM(str) {
65
49
  function toUnixPath(path) {
66
50
  return path.replace(/[\\/]+/g, '/');
67
51
  }
68
- /**
69
- * Find nearest file with a given name in current or parent dirs
70
- * @param dir
71
- * @param name filename to search for
72
- */
73
- function findParent(dir, name) {
74
- const filename = path_1.default.join(dir, name);
75
- if (fs_1.default.existsSync(filename)) {
76
- return filename;
77
- }
78
- const parentDir = path_1.default.resolve(dir, '..');
79
- if (dir === parentDir) {
80
- return null;
81
- }
82
- return findParent(parentDir, name);
83
- }
84
52
  function isRoot(file) {
85
53
  const result = path_1.default.parse(file);
86
54
  return toUnixPath(file) === toUnixPath(result.root);
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.encodeContents = encodeContents;
4
- exports.toEncodedMessage = toEncodedMessage;
5
4
  exports.toSecondaryLocation = toSecondaryLocation;
6
5
  exports.report = report;
7
6
  exports.expandMessage = expandMessage;
@@ -4,10 +4,8 @@ exports.getImportDeclarations = getImportDeclarations;
4
4
  exports.getRequireCalls = getRequireCalls;
5
5
  exports.isRequire = isRequire;
6
6
  exports.getFullyQualifiedName = getFullyQualifiedName;
7
- exports.getFullyQualifiedNameRaw = getFullyQualifiedNameRaw;
8
7
  exports.removeNodePrefixIfExists = removeNodePrefixIfExists;
9
8
  exports.reduceToIdentifier = reduceToIdentifier;
10
- exports.reduceTo = reduceTo;
11
9
  const ast_js_1 = require("./ast.js");
12
10
  function getImportDeclarations(context) {
13
11
  const program = context.sourceCode.ast;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReachingDefinitions = exports.unknownValue = void 0;
3
+ exports.ReachingDefinitions = void 0;
4
4
  exports.reachingDefinitions = reachingDefinitions;
5
5
  exports.resolveAssignedValues = resolveAssignedValues;
6
6
  exports.getVariableFromIdentifier = getVariableFromIdentifier;
@@ -11,7 +11,7 @@ class AssignedValues extends Set {
11
11
  }
12
12
  }
13
13
  const assignedValues = (val) => new AssignedValues([val]);
14
- exports.unknownValue = {
14
+ const unknownValue = {
15
15
  type: 'UnknownValue',
16
16
  };
17
17
  function reachingDefinitions(reachingDefinitionsMap) {
@@ -62,7 +62,7 @@ class ReachingDefinitions {
62
62
  return;
63
63
  }
64
64
  if (!ref.writeExpr) {
65
- programState.set(variable, exports.unknownValue);
65
+ programState.set(variable, unknownValue);
66
66
  return;
67
67
  }
68
68
  const rhsValues = resolveAssignedValues(variable, ref.writeExpr, programState, ref.from);
@@ -76,7 +76,7 @@ class ReachingDefinitions {
76
76
  this.in.set(key, inValues);
77
77
  }
78
78
  else {
79
- this.in.set(key, exports.unknownValue);
79
+ this.in.set(key, unknownValue);
80
80
  }
81
81
  }
82
82
  }
@@ -84,21 +84,21 @@ class ReachingDefinitions {
84
84
  exports.ReachingDefinitions = ReachingDefinitions;
85
85
  function resolveAssignedValues(lhsVariable, writeExpr, assignedValuesMap, scope) {
86
86
  if (!writeExpr) {
87
- return exports.unknownValue;
87
+ return unknownValue;
88
88
  }
89
89
  switch (writeExpr.type) {
90
90
  case 'Literal':
91
- return writeExpr.raw ? assignedValues(writeExpr.raw) : exports.unknownValue;
91
+ return writeExpr.raw ? assignedValues(writeExpr.raw) : unknownValue;
92
92
  case 'Identifier': {
93
93
  const resolvedVar = getVariableFromIdentifier(writeExpr, scope);
94
94
  if (resolvedVar && resolvedVar !== lhsVariable) {
95
95
  const resolvedAssignedValues = assignedValuesMap.get(resolvedVar);
96
- return resolvedAssignedValues ?? exports.unknownValue;
96
+ return resolvedAssignedValues ?? unknownValue;
97
97
  }
98
- return exports.unknownValue;
98
+ return unknownValue;
99
99
  }
100
100
  default:
101
- return exports.unknownValue;
101
+ return unknownValue;
102
102
  }
103
103
  }
104
104
  function equals(ps1, ps2) {
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TYPED_ARRAY_TYPES = exports.UTILITY_TYPES = void 0;
6
+ exports.UTILITY_TYPES = void 0;
7
7
  exports.isArray = isArray;
8
8
  exports.isTypedArray = isTypedArray;
9
9
  exports.isString = isString;
@@ -13,7 +13,6 @@ exports.isNumberType = isNumberType;
13
13
  exports.isStringType = isStringType;
14
14
  exports.isFunction = isFunction;
15
15
  exports.isUnion = isUnion;
16
- exports.getUnionTypes = getUnionTypes;
17
16
  exports.isUndefinedOrNull = isUndefinedOrNull;
18
17
  exports.isThenable = isThenable;
19
18
  exports.isAny = isAny;
@@ -27,7 +26,6 @@ exports.isStringArray = isStringArray;
27
26
  exports.isNumberArray = isNumberArray;
28
27
  exports.isBigIntArray = isBigIntArray;
29
28
  exports.isTypeAlias = isTypeAlias;
30
- exports.isBooleanLiteralType = isBooleanLiteralType;
31
29
  exports.isBooleanTrueType = isBooleanTrueType;
32
30
  exports.isBooleanType = isBooleanType;
33
31
  exports.isNullOrUndefinedType = isNullOrUndefinedType;
@@ -69,7 +67,7 @@ exports.UTILITY_TYPES = new Set([
69
67
  * JavaScript typed arrays
70
68
  * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Typed_arrays
71
69
  */
72
- exports.TYPED_ARRAY_TYPES = [
70
+ const TYPED_ARRAY_TYPES = [
73
71
  'Int8Array',
74
72
  'Uint8Array',
75
73
  'Uint8ClampedArray',
@@ -91,7 +89,7 @@ exports.TYPED_ARRAY_TYPES = [
91
89
  */
92
90
  function isTypedArray(node, services) {
93
91
  const type = getTypeFromTreeNode(node, services);
94
- return exports.TYPED_ARRAY_TYPES.includes(type.symbol?.name);
92
+ return TYPED_ARRAY_TYPES.includes(type.symbol?.name);
95
93
  }
96
94
  function isString(node, services) {
97
95
  const checker = services.program.getTypeChecker();
@@ -0,0 +1,7 @@
1
+ # Alternatives in regular expressions should be grouped when used with anchors (`sonarjs/anchor-precedence`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ 💭 This rule requires [type information](https://typescript-eslint.io/linting/typed-linting).
6
+
7
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,7 @@
1
+ # Arguments to built-in functions should match documented types (`sonarjs/argument-type`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ 💭 This rule requires [type information](https://typescript-eslint.io/linting/typed-linting).
6
+
7
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,7 @@
1
+ # Parameters should be passed in the correct order (`sonarjs/arguments-order`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ 💭 This rule requires [type information](https://typescript-eslint.io/linting/typed-linting).
6
+
7
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # "arguments" should not be accessed directly (`sonarjs/arguments-usage`)
2
+
3
+ 🚫 This rule is _disabled_ in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,7 @@
1
+ # Callbacks of array methods should have return statements (`sonarjs/array-callback-without-return`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ 💭 This rule requires [type information](https://typescript-eslint.io/linting/typed-linting).
6
+
7
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,7 @@
1
+ # Array constructors should not be used (`sonarjs/array-constructor`)
2
+
3
+ 🚫 This rule is _disabled_ in the ✅ `recommended` config.
4
+
5
+ 💡 This rule is manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions).
6
+
7
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,16 @@
1
+ # Braces and parentheses should be used consistently with arrow functions (`sonarjs/arrow-function-convention`)
2
+
3
+ 🚫 This rule is _disabled_ in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
6
+
7
+ ## Options
8
+
9
+ <!-- begin auto-generated rule options list -->
10
+
11
+ | Name | Type |
12
+ | :---------------------------- | :------ |
13
+ | `requireBodyBraces` | Boolean |
14
+ | `requireParameterParentheses` | Boolean |
15
+
16
+ <!-- end auto-generated rule options list -->
@@ -0,0 +1,5 @@
1
+ # Tests should include assertions (`sonarjs/assertions-in-tests`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Creating public APIs is security-sensitive (`sonarjs/aws-apigateway-public-api`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Allowing public network access to cloud resources is security-sensitive (`sonarjs/aws-ec2-rds-dms-public`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Using unencrypted EBS volumes is security-sensitive (`sonarjs/aws-ec2-unencrypted-ebs-volume`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Using unencrypted EFS file systems is security-sensitive (`sonarjs/aws-efs-unencrypted`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Policies granting all privileges are security-sensitive (`sonarjs/aws-iam-all-privileges`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Policies granting access to all resources of an account are security-sensitive (`sonarjs/aws-iam-all-resources-accessible`)
2
+
3
+ 🚫 This rule is _disabled_ in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # AWS IAM policies should limit the scope of permissions given (`sonarjs/aws-iam-privilege-escalation`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Policies authorizing public access to resources are security-sensitive (`sonarjs/aws-iam-public-access`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Using unencrypted Elasticsearch domains is security-sensitive (`sonarjs/aws-opensearchservice-domain`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Using unencrypted RDS DB resources is security-sensitive (`sonarjs/aws-rds-unencrypted-databases`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Administration services access should be restricted to specific IP addresses (`sonarjs/aws-restricted-ip-admin-access`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Granting access to S3 buckets to all or authenticated users is security-sensitive (`sonarjs/aws-s3-bucket-granted-access`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Authorizing HTTP communications with S3 buckets is security-sensitive (`sonarjs/aws-s3-bucket-insecure-http`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Allowing public ACLs or policies on a S3 bucket is security-sensitive (`sonarjs/aws-s3-bucket-public-access`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,7 @@
1
+ # Disabling server-side encryption of S3 buckets is security-sensitive (`sonarjs/aws-s3-bucket-server-encryption`)
2
+
3
+ ❌ This rule is deprecated.
4
+
5
+ 🚫 This rule is _disabled_ in the ✅ `recommended` config.
6
+
7
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Disabling versioning of S3 buckets is security-sensitive (`sonarjs/aws-s3-bucket-versioning`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Using unencrypted SageMaker notebook instances is security-sensitive (`sonarjs/aws-sagemaker-unencrypted-notebook`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Using unencrypted SNS topics is security-sensitive (`sonarjs/aws-sns-unencrypted-topics`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Using unencrypted SQS queues is security-sensitive (`sonarjs/aws-sqs-unencrypted-queue`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Bitwise operators should not be used in boolean contexts (`sonarjs/bitwise-operators`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Variables should be used in the blocks where they are declared (`sonarjs/block-scoped-var`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Optional boolean parameters should have default value (`sonarjs/bool-param-default`)
2
+
3
+ 🚫 This rule is _disabled_ in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Function call arguments should not start on new lines (`sonarjs/call-argument-line`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,7 @@
1
+ # Disabling Certificate Transparency monitoring is security-sensitive (`sonarjs/certificate-transparency`)
2
+
3
+ ❌ This rule is deprecated.
4
+
5
+ 🚫 This rule is _disabled_ in the ✅ `recommended` config.
6
+
7
+ <!-- end auto-generated rule header -->
@@ -0,0 +1,5 @@
1
+ # Chai assertions should have only one reason to succeed (`sonarjs/chai-determinate-assertion`)
2
+
3
+ 💼 This rule is enabled in the ✅ `recommended` config.
4
+
5
+ <!-- end auto-generated rule header -->