@contrast/contrast 2.0.2-beta.1 → 2.0.2-beta.11

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 (397) hide show
  1. package/README.md +2 -1
  2. package/dist/assess/assessConfig.js +9 -0
  3. package/dist/assess/assessConfig.js.map +1 -0
  4. package/dist/assess/help.js +36 -0
  5. package/dist/assess/help.js.map +1 -0
  6. package/dist/assess/http/index.js +39 -0
  7. package/dist/assess/http/index.js.map +1 -0
  8. package/dist/assess/index.js +69 -0
  9. package/dist/assess/index.js.map +1 -0
  10. package/dist/assess/metadata/findYamlFile.js +59 -0
  11. package/dist/assess/metadata/findYamlFile.js.map +1 -0
  12. package/dist/assess/metadata/index.js +37 -0
  13. package/dist/assess/metadata/index.js.map +1 -0
  14. package/dist/assess/metadata/utils.js +159 -0
  15. package/dist/assess/metadata/utils.js.map +1 -0
  16. package/dist/assess/printing/index.js +11 -0
  17. package/dist/assess/printing/index.js.map +1 -0
  18. package/dist/assess/printing/utils.js +119 -0
  19. package/dist/assess/printing/utils.js.map +1 -0
  20. package/dist/audit/auditConfig.js +9 -0
  21. package/dist/audit/auditConfig.js.map +1 -0
  22. package/dist/{commands/audit → audit}/auditController.js +12 -15
  23. package/dist/audit/auditController.js.map +1 -0
  24. package/dist/audit/auditRequests.js +178 -0
  25. package/dist/audit/auditRequests.js.map +1 -0
  26. package/dist/audit/auditRequestsLegacy.js +63 -0
  27. package/dist/audit/auditRequestsLegacy.js.map +1 -0
  28. package/dist/audit/catalogueApplication/catalogueApplication.js +16 -29
  29. package/dist/audit/catalogueApplication/catalogueApplication.js.map +1 -0
  30. package/dist/audit/help.js +67 -0
  31. package/dist/audit/help.js.map +1 -0
  32. package/dist/audit/languageAnalysisEngine/commonApi.js +12 -14
  33. package/dist/audit/languageAnalysisEngine/commonApi.js.map +1 -0
  34. package/dist/audit/languageAnalysisEngine/filterProjectPath.js +2 -1
  35. package/dist/audit/languageAnalysisEngine/filterProjectPath.js.map +1 -0
  36. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js +9 -12
  37. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js.map +1 -0
  38. package/dist/audit/languageAnalysisEngine/sendSnapshot.js +21 -32
  39. package/dist/audit/languageAnalysisEngine/sendSnapshot.js.map +1 -0
  40. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +9 -9
  41. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js.map +1 -0
  42. package/dist/audit/processAudit.js +22 -0
  43. package/dist/audit/processAudit.js.map +1 -0
  44. package/dist/audit/report/commonReportingFunctions.js +51 -77
  45. package/dist/audit/report/commonReportingFunctions.js.map +1 -0
  46. package/dist/audit/report/models/reportGuidanceModel.js +2 -5
  47. package/dist/audit/report/models/reportGuidanceModel.js.map +1 -0
  48. package/dist/audit/report/models/reportLibraryModel.js +3 -7
  49. package/dist/audit/report/models/reportLibraryModel.js.map +1 -0
  50. package/dist/audit/report/models/reportListModel.js +4 -9
  51. package/dist/audit/report/models/reportListModel.js.map +1 -0
  52. package/dist/audit/report/models/reportOutputModel.js +4 -9
  53. package/dist/audit/report/models/reportOutputModel.js.map +1 -0
  54. package/dist/audit/report/models/reportSeverityModel.js +2 -5
  55. package/dist/audit/report/models/reportSeverityModel.js.map +1 -0
  56. package/dist/audit/report/models/severityCountModel.js +3 -5
  57. package/dist/audit/report/models/severityCountModel.js.map +1 -0
  58. package/dist/audit/report/reportingFeature.js +30 -57
  59. package/dist/audit/report/reportingFeature.js.map +1 -0
  60. package/dist/audit/report/utils/reportUtils.js +28 -59
  61. package/dist/audit/report/utils/reportUtils.js.map +1 -0
  62. package/dist/audit/save.js +18 -19
  63. package/dist/audit/save.js.map +1 -0
  64. package/dist/{commands/audit → audit}/saveFile.js +3 -6
  65. package/dist/audit/saveFile.js.map +1 -0
  66. package/dist/auth/auth.js +103 -0
  67. package/dist/auth/auth.js.map +1 -0
  68. package/dist/auth/authRequests.js +18 -0
  69. package/dist/auth/authRequests.js.map +1 -0
  70. package/dist/cliConstants.js +57 -37
  71. package/dist/cliConstants.js.map +1 -0
  72. package/dist/commands/config/config.js +12 -13
  73. package/dist/commands/config/config.js.map +1 -0
  74. package/dist/commands/learn/learn.js +3 -6
  75. package/dist/commands/learn/learn.js.map +1 -0
  76. package/dist/commands/learn/processLearn.js +3 -6
  77. package/dist/commands/learn/processLearn.js.map +1 -0
  78. package/dist/common/HTTPClient.js +200 -101
  79. package/dist/common/HTTPClient.js.map +1 -0
  80. package/dist/{scan → common}/autoDetection.js +53 -36
  81. package/dist/common/autoDetection.js.map +1 -0
  82. package/dist/common/baseRequest.js +59 -23
  83. package/dist/common/baseRequest.js.map +1 -0
  84. package/dist/common/commonHelp.js +13 -13
  85. package/dist/common/commonHelp.js.map +1 -0
  86. package/dist/common/errorHandling.js +49 -63
  87. package/dist/common/errorHandling.js.map +1 -0
  88. package/dist/common/fail.js +6 -12
  89. package/dist/common/fail.js.map +1 -0
  90. package/dist/common/logging.js +26 -0
  91. package/dist/common/logging.js.map +1 -0
  92. package/dist/common/stringManipulations.js +8 -0
  93. package/dist/common/stringManipulations.js.map +1 -0
  94. package/dist/common/versionChecker.js +16 -19
  95. package/dist/common/versionChecker.js.map +1 -0
  96. package/dist/constants/constants.js +46 -65
  97. package/dist/constants/constants.js.map +1 -0
  98. package/dist/constants/lambda.js +8 -5
  99. package/dist/constants/lambda.js.map +1 -0
  100. package/dist/constants/locales.js +15 -10
  101. package/dist/constants/locales.js.map +1 -0
  102. package/dist/github/fingerprintConfig.js +10 -0
  103. package/dist/github/fingerprintConfig.js.map +1 -0
  104. package/dist/github/processFingerprint.js +26 -0
  105. package/dist/github/processFingerprint.js.map +1 -0
  106. package/dist/github/projectGroup.js +202 -0
  107. package/dist/github/projectGroup.js.map +1 -0
  108. package/dist/github/repoServices.js +73 -0
  109. package/dist/github/repoServices.js.map +1 -0
  110. package/dist/index.js +42 -39
  111. package/dist/index.js.map +1 -0
  112. package/dist/lambda/analytics.js +6 -9
  113. package/dist/lambda/analytics.js.map +1 -0
  114. package/dist/lambda/arn.js +6 -9
  115. package/dist/lambda/arn.js.map +1 -0
  116. package/dist/lambda/aws.js +29 -34
  117. package/dist/lambda/aws.js.map +1 -0
  118. package/dist/lambda/cliError.js +13 -41
  119. package/dist/lambda/cliError.js.map +1 -0
  120. package/dist/lambda/constants.js +3 -4
  121. package/dist/lambda/constants.js.map +1 -0
  122. package/dist/lambda/help.js +39 -44
  123. package/dist/lambda/help.js.map +1 -0
  124. package/dist/lambda/lambda.js +61 -65
  125. package/dist/lambda/lambda.js.map +1 -0
  126. package/dist/lambda/lambdaUtils.js +38 -32
  127. package/dist/lambda/lambdaUtils.js.map +1 -0
  128. package/dist/lambda/logUtils.js +21 -17
  129. package/dist/lambda/logUtils.js.map +1 -0
  130. package/dist/lambda/scanDetailCompletion.js +19 -25
  131. package/dist/lambda/scanDetailCompletion.js.map +1 -0
  132. package/dist/lambda/scanRequest.js +34 -41
  133. package/dist/lambda/scanRequest.js.map +1 -0
  134. package/dist/lambda/scanResults.js +8 -10
  135. package/dist/lambda/scanResults.js.map +1 -0
  136. package/dist/lambda/types.js +5 -7
  137. package/dist/lambda/types.js.map +1 -0
  138. package/dist/lambda/utils.js +33 -35
  139. package/dist/lambda/utils.js.map +1 -0
  140. package/dist/sbom/generateSbom.js +6 -10
  141. package/dist/sbom/generateSbom.js.map +1 -0
  142. package/dist/scaAnalysis/common/auditReport.js +10 -13
  143. package/dist/scaAnalysis/common/auditReport.js.map +1 -0
  144. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +35 -40
  145. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js.map +1 -0
  146. package/dist/scaAnalysis/common/formatMessage.js +8 -17
  147. package/dist/scaAnalysis/common/formatMessage.js.map +1 -0
  148. package/dist/scaAnalysis/common/models/ScaReportModel.js +4 -9
  149. package/dist/scaAnalysis/common/models/ScaReportModel.js.map +1 -0
  150. package/dist/scaAnalysis/common/scaParserForGoAndJava.js +10 -9
  151. package/dist/scaAnalysis/common/scaParserForGoAndJava.js.map +1 -0
  152. package/dist/scaAnalysis/common/scaServicesUpload.js +53 -96
  153. package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
  154. package/dist/scaAnalysis/common/treeUpload.js +15 -25
  155. package/dist/scaAnalysis/common/treeUpload.js.map +1 -0
  156. package/dist/scaAnalysis/common/utils/reportUtilsSca.js +21 -29
  157. package/dist/scaAnalysis/common/utils/reportUtilsSca.js.map +1 -0
  158. package/dist/scaAnalysis/dotnet/analysis.js +15 -20
  159. package/dist/scaAnalysis/dotnet/analysis.js.map +1 -0
  160. package/dist/scaAnalysis/dotnet/index.js +4 -7
  161. package/dist/scaAnalysis/dotnet/index.js.map +1 -0
  162. package/dist/scaAnalysis/go/goAnalysis.js +10 -12
  163. package/dist/scaAnalysis/go/goAnalysis.js.map +1 -0
  164. package/dist/scaAnalysis/go/goParseDeps.js +9 -7
  165. package/dist/scaAnalysis/go/goParseDeps.js.map +1 -0
  166. package/dist/scaAnalysis/go/goReadDepFile.js +12 -9
  167. package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
  168. package/dist/scaAnalysis/java/analysis.js +26 -22
  169. package/dist/scaAnalysis/java/analysis.js.map +1 -0
  170. package/dist/scaAnalysis/java/index.js +7 -10
  171. package/dist/scaAnalysis/java/index.js.map +1 -0
  172. package/dist/scaAnalysis/java/javaBuildDepsParser.js +41 -43
  173. package/dist/scaAnalysis/java/javaBuildDepsParser.js.map +1 -0
  174. package/dist/scaAnalysis/javascript/analysis.js +16 -20
  175. package/dist/scaAnalysis/javascript/analysis.js.map +1 -0
  176. package/dist/scaAnalysis/javascript/index.js +17 -19
  177. package/dist/scaAnalysis/javascript/index.js.map +1 -0
  178. package/dist/scaAnalysis/javascript/scaServiceParser.js +8 -15
  179. package/dist/scaAnalysis/javascript/scaServiceParser.js.map +1 -0
  180. package/dist/scaAnalysis/legacy/legacyFlow.js +15 -16
  181. package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
  182. package/dist/scaAnalysis/php/analysis.js +18 -18
  183. package/dist/scaAnalysis/php/analysis.js.map +1 -0
  184. package/dist/scaAnalysis/php/index.js +5 -8
  185. package/dist/scaAnalysis/php/index.js.map +1 -0
  186. package/dist/scaAnalysis/php/phpNewServicesMapper.js +9 -12
  187. package/dist/scaAnalysis/php/phpNewServicesMapper.js.map +1 -0
  188. package/dist/scaAnalysis/processServicesFlow.js +92 -37
  189. package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
  190. package/dist/scaAnalysis/python/analysis.js +18 -24
  191. package/dist/scaAnalysis/python/analysis.js.map +1 -0
  192. package/dist/scaAnalysis/python/index.js +4 -7
  193. package/dist/scaAnalysis/python/index.js.map +1 -0
  194. package/dist/scaAnalysis/repoMode/gradleParser.js +9 -14
  195. package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
  196. package/dist/scaAnalysis/repoMode/index.js +11 -13
  197. package/dist/scaAnalysis/repoMode/index.js.map +1 -0
  198. package/dist/scaAnalysis/repoMode/mavenParser.js +26 -14
  199. package/dist/scaAnalysis/repoMode/mavenParser.js.map +1 -0
  200. package/dist/scaAnalysis/ruby/analysis.js +32 -46
  201. package/dist/scaAnalysis/ruby/analysis.js.map +1 -0
  202. package/dist/scaAnalysis/ruby/index.js +5 -8
  203. package/dist/scaAnalysis/ruby/index.js.map +1 -0
  204. package/dist/scaAnalysis/scaAnalysis.js +54 -55
  205. package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
  206. package/dist/scan/fileUtils.js +36 -40
  207. package/dist/scan/fileUtils.js.map +1 -0
  208. package/dist/scan/formatScanOutput.js +47 -61
  209. package/dist/scan/formatScanOutput.js.map +1 -0
  210. package/dist/scan/help.js +8 -11
  211. package/dist/scan/help.js.map +1 -0
  212. package/dist/scan/models/groupedResultsModel.js +2 -5
  213. package/dist/scan/models/groupedResultsModel.js.map +1 -0
  214. package/dist/scan/models/resultContentModel.js +2 -2
  215. package/dist/scan/models/resultContentModel.js.map +1 -0
  216. package/dist/scan/models/scanResultsModel.js +2 -5
  217. package/dist/scan/models/scanResultsModel.js.map +1 -0
  218. package/dist/scan/populateProjectIdAndProjectName.js +24 -62
  219. package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
  220. package/dist/scan/processScan.js +28 -0
  221. package/dist/scan/processScan.js.map +1 -0
  222. package/dist/scan/saveResults.js +3 -6
  223. package/dist/scan/saveResults.js.map +1 -0
  224. package/dist/scan/scan.js +33 -53
  225. package/dist/scan/scan.js.map +1 -0
  226. package/dist/scan/scanConfig.js +14 -12
  227. package/dist/scan/scanConfig.js.map +1 -0
  228. package/dist/scan/scanController.js +20 -22
  229. package/dist/scan/scanController.js.map +1 -0
  230. package/dist/scan/scanRequests.js +86 -0
  231. package/dist/scan/scanRequests.js.map +1 -0
  232. package/dist/scan/scanResults.js +26 -72
  233. package/dist/scan/scanResults.js.map +1 -0
  234. package/dist/telemetry/telemetry.js +29 -59
  235. package/dist/telemetry/telemetry.js.map +1 -0
  236. package/dist/utils/capabilities.js +2 -1
  237. package/dist/utils/capabilities.js.map +1 -0
  238. package/dist/utils/commonApi.js +61 -52
  239. package/dist/utils/commonApi.js.map +1 -0
  240. package/dist/utils/filterProjectPath.js +2 -1
  241. package/dist/utils/filterProjectPath.js.map +1 -0
  242. package/dist/utils/generalAPI.js +11 -33
  243. package/dist/utils/generalAPI.js.map +1 -0
  244. package/dist/utils/getConfig.js +8 -13
  245. package/dist/utils/getConfig.js.map +1 -0
  246. package/dist/utils/oraWrapper.js +7 -14
  247. package/dist/utils/oraWrapper.js.map +1 -0
  248. package/dist/utils/paramsUtil/commandlineParams.js +2 -5
  249. package/dist/utils/paramsUtil/commandlineParams.js.map +1 -0
  250. package/dist/utils/paramsUtil/configStoreParams.js +9 -10
  251. package/dist/utils/paramsUtil/configStoreParams.js.map +1 -0
  252. package/dist/utils/paramsUtil/envVariableParams.js +2 -3
  253. package/dist/utils/paramsUtil/envVariableParams.js.map +1 -0
  254. package/dist/utils/paramsUtil/paramHandler.js +12 -13
  255. package/dist/utils/paramsUtil/paramHandler.js.map +1 -0
  256. package/dist/utils/parsedCLIOptions.js +4 -7
  257. package/dist/utils/parsedCLIOptions.js.map +1 -0
  258. package/dist/utils/requestUtils.js +7 -13
  259. package/dist/utils/requestUtils.js.map +1 -0
  260. package/dist/utils/saveFile.js +8 -11
  261. package/dist/utils/saveFile.js.map +1 -0
  262. package/dist/utils/validationCheck.js +5 -11
  263. package/dist/utils/validationCheck.js.map +1 -0
  264. package/package.json +39 -48
  265. package/.prettierignore +0 -1
  266. package/bin/contrast.js +0 -2
  267. package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
  268. package/dist/commands/audit/auditConfig.js +0 -12
  269. package/dist/commands/audit/help.js +0 -70
  270. package/dist/commands/audit/processAudit.js +0 -24
  271. package/dist/commands/auth/auth.js +0 -120
  272. package/dist/commands/github/fingerprintConfig.js +0 -13
  273. package/dist/commands/github/processFingerprint.js +0 -28
  274. package/dist/commands/github/projectGroup.js +0 -254
  275. package/dist/commands/github/repoServices.js +0 -108
  276. package/dist/commands/scan/processScan.js +0 -31
  277. package/dist/lambda/__mocks__/aws.js +0 -21
  278. package/dist/lambda/__mocks__/lambdaConfig.json +0 -42
  279. package/src/audit/catalogueApplication/catalogueApplication.js +0 -51
  280. package/src/audit/languageAnalysisEngine/commonApi.js +0 -20
  281. package/src/audit/languageAnalysisEngine/filterProjectPath.js +0 -21
  282. package/src/audit/languageAnalysisEngine/getProjectRootFilenames.js +0 -36
  283. package/src/audit/languageAnalysisEngine/sendSnapshot.js +0 -57
  284. package/src/audit/languageAnalysisEngine/util/requestUtils.js +0 -17
  285. package/src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +0 -63
  286. package/src/audit/report/commonReportingFunctions.js +0 -412
  287. package/src/audit/report/models/reportGuidanceModel.ts +0 -5
  288. package/src/audit/report/models/reportLibraryModel.ts +0 -30
  289. package/src/audit/report/models/reportListModel.ts +0 -49
  290. package/src/audit/report/models/reportOutputModel.ts +0 -29
  291. package/src/audit/report/models/reportSeverityModel.ts +0 -18
  292. package/src/audit/report/models/severityCountModel.ts +0 -22
  293. package/src/audit/report/reportingFeature.ts +0 -110
  294. package/src/audit/report/utils/reportUtils.ts +0 -165
  295. package/src/audit/save.js +0 -67
  296. package/src/cliConstants.js +0 -522
  297. package/src/commands/audit/auditConfig.js +0 -18
  298. package/src/commands/audit/auditController.js +0 -50
  299. package/src/commands/audit/help.js +0 -72
  300. package/src/commands/audit/processAudit.js +0 -34
  301. package/src/commands/audit/saveFile.js +0 -15
  302. package/src/commands/auth/auth.js +0 -146
  303. package/src/commands/config/config.js +0 -41
  304. package/src/commands/github/fingerprintConfig.js +0 -19
  305. package/src/commands/github/processFingerprint.js +0 -37
  306. package/src/commands/github/projectGroup.js +0 -294
  307. package/src/commands/github/repoServices.js +0 -122
  308. package/src/commands/learn/learn.js +0 -10
  309. package/src/commands/learn/processLearn.js +0 -13
  310. package/src/commands/scan/processScan.js +0 -42
  311. package/src/common/HTTPClient.js +0 -775
  312. package/src/common/baseRequest.ts +0 -83
  313. package/src/common/commonHelp.js +0 -53
  314. package/src/common/errorHandling.js +0 -157
  315. package/src/common/fail.js +0 -79
  316. package/src/common/versionChecker.js +0 -75
  317. package/src/constants/constants.js +0 -71
  318. package/src/constants/lambda.js +0 -85
  319. package/src/constants/locales.js +0 -365
  320. package/src/index.ts +0 -142
  321. package/src/lambda/__mocks__/aws.ts +0 -32
  322. package/src/lambda/__mocks__/lambdaConfig.json +0 -42
  323. package/src/lambda/analytics.ts +0 -9
  324. package/src/lambda/arn.ts +0 -33
  325. package/src/lambda/aws.ts +0 -248
  326. package/src/lambda/cliError.ts +0 -72
  327. package/src/lambda/constants.ts +0 -11
  328. package/src/lambda/help.ts +0 -92
  329. package/src/lambda/lambda.ts +0 -230
  330. package/src/lambda/lambdaUtils.ts +0 -111
  331. package/src/lambda/logUtils.ts +0 -64
  332. package/src/lambda/scanDetailCompletion.ts +0 -78
  333. package/src/lambda/scanRequest.ts +0 -169
  334. package/src/lambda/scanResults.ts +0 -29
  335. package/src/lambda/types.ts +0 -36
  336. package/src/lambda/utils.ts +0 -188
  337. package/src/sbom/generateSbom.ts +0 -45
  338. package/src/scaAnalysis/common/auditReport.js +0 -59
  339. package/src/scaAnalysis/common/commonReportingFunctionsSca.js +0 -276
  340. package/src/scaAnalysis/common/formatMessage.js +0 -67
  341. package/src/scaAnalysis/common/models/ScaReportModel.ts +0 -81
  342. package/src/scaAnalysis/common/scaParserForGoAndJava.js +0 -41
  343. package/src/scaAnalysis/common/scaServicesUpload.js +0 -155
  344. package/src/scaAnalysis/common/treeUpload.js +0 -51
  345. package/src/scaAnalysis/common/utils/reportUtilsSca.ts +0 -123
  346. package/src/scaAnalysis/dotnet/analysis.js +0 -72
  347. package/src/scaAnalysis/dotnet/index.js +0 -11
  348. package/src/scaAnalysis/go/goAnalysis.js +0 -26
  349. package/src/scaAnalysis/go/goParseDeps.js +0 -203
  350. package/src/scaAnalysis/go/goReadDepFile.js +0 -34
  351. package/src/scaAnalysis/java/analysis.js +0 -148
  352. package/src/scaAnalysis/java/index.js +0 -29
  353. package/src/scaAnalysis/java/javaBuildDepsParser.js +0 -439
  354. package/src/scaAnalysis/javascript/analysis.js +0 -111
  355. package/src/scaAnalysis/javascript/index.js +0 -104
  356. package/src/scaAnalysis/javascript/scaServiceParser.js +0 -151
  357. package/src/scaAnalysis/legacy/legacyFlow.js +0 -43
  358. package/src/scaAnalysis/php/analysis.js +0 -78
  359. package/src/scaAnalysis/php/index.js +0 -28
  360. package/src/scaAnalysis/php/phpNewServicesMapper.js +0 -77
  361. package/src/scaAnalysis/processServicesFlow.js +0 -119
  362. package/src/scaAnalysis/python/analysis.js +0 -93
  363. package/src/scaAnalysis/python/index.js +0 -16
  364. package/src/scaAnalysis/repoMode/gradleParser.js +0 -88
  365. package/src/scaAnalysis/repoMode/index.js +0 -21
  366. package/src/scaAnalysis/repoMode/mavenParser.js +0 -139
  367. package/src/scaAnalysis/ruby/analysis.js +0 -413
  368. package/src/scaAnalysis/ruby/index.js +0 -16
  369. package/src/scaAnalysis/scaAnalysis.js +0 -171
  370. package/src/scan/autoDetection.js +0 -175
  371. package/src/scan/fileUtils.js +0 -206
  372. package/src/scan/formatScanOutput.ts +0 -225
  373. package/src/scan/help.js +0 -56
  374. package/src/scan/models/groupedResultsModel.ts +0 -20
  375. package/src/scan/models/resultContentModel.ts +0 -86
  376. package/src/scan/models/scanResultsModel.ts +0 -55
  377. package/src/scan/populateProjectIdAndProjectName.js +0 -73
  378. package/src/scan/saveResults.js +0 -14
  379. package/src/scan/scan.ts +0 -68
  380. package/src/scan/scanConfig.js +0 -58
  381. package/src/scan/scanController.js +0 -98
  382. package/src/scan/scanResults.js +0 -171
  383. package/src/telemetry/telemetry.ts +0 -154
  384. package/src/utils/capabilities.js +0 -12
  385. package/src/utils/commonApi.js +0 -103
  386. package/src/utils/filterProjectPath.js +0 -25
  387. package/src/utils/generalAPI.js +0 -52
  388. package/src/utils/getConfig.ts +0 -34
  389. package/src/utils/oraWrapper.js +0 -29
  390. package/src/utils/paramsUtil/commandlineParams.js +0 -12
  391. package/src/utils/paramsUtil/configStoreParams.js +0 -19
  392. package/src/utils/paramsUtil/envVariableParams.js +0 -10
  393. package/src/utils/paramsUtil/paramHandler.js +0 -38
  394. package/src/utils/parsedCLIOptions.js +0 -32
  395. package/src/utils/requestUtils.js +0 -29
  396. package/src/utils/saveFile.js +0 -20
  397. package/src/utils/validationCheck.js +0 -39
@@ -1,175 +0,0 @@
1
- const i18n = require('i18n')
2
- const fileFinder = require('./fileUtils')
3
- const {
4
- supportedLanguages: { JAVA, GO, PYTHON, RUBY, JAVASCRIPT, NODE, PHP, DOTNET }
5
- } = require('../constants/constants')
6
- const autoDetectFingerprintInfo = async (filePath, depth, config) => {
7
- let complexObj = await fileFinder.findAllFiles(filePath, depth)
8
- let result = []
9
- let count = 0
10
- complexObj.forEach(i => {
11
- count++
12
- if (!i.includes('package.json')) {
13
- result.push({
14
- filePath: i,
15
- id: count.toString(),
16
- repositoryId: config.repositoryId,
17
- projectGroupId: config.projectGroupId
18
- })
19
- }
20
- })
21
-
22
- return result
23
- }
24
-
25
- const detectPackageManager = async array => {
26
- array.forEach(i => {
27
- if (i.filePath.includes('pom.xml')) {
28
- i['language'] = JAVA
29
- i['packageManager'] = 'MAVEN'
30
- }
31
- if (i.filePath.includes('build.gradle.kts')) {
32
- i['language'] = JAVA
33
- i['packageManager'] = 'GRADLE'
34
- }
35
- if (i.filePath.includes('build.gradle')) {
36
- i['language'] = JAVA
37
- i['packageManager'] = 'GRADLE'
38
- }
39
- if (i.filePath.includes('package-lock.json')) {
40
- i['language'] = JAVASCRIPT
41
- i['packageManager'] = 'NPM'
42
- }
43
- if (i.filePath.includes('yarn.lock')) {
44
- i['language'] = JAVASCRIPT
45
- i['packageManager'] = 'YARN'
46
- }
47
- if (i.filePath.includes('Pipfile')) {
48
- i['language'] = PYTHON
49
- i['packageManager'] = 'PYPI'
50
- }
51
- if (i.filePath.includes('csproj')) {
52
- i['language'] = DOTNET
53
- i['packageManager'] = 'NUGET'
54
- }
55
- if (i.filePath.includes('Gemfile')) {
56
- i['language'] = RUBY
57
- i['packageManager'] = 'RUBYGEMS'
58
- }
59
- if (i.filePath.includes('go.mod')) {
60
- i['language'] = GO
61
- i['packageManager'] = 'PKG'
62
- }
63
- })
64
- return array
65
- }
66
-
67
- const autoDetectFileAndLanguage = async configToUse => {
68
- const entries = await fileFinder.findFile()
69
-
70
- if (entries.length === 1) {
71
- console.log(i18n.__('foundScanFile', entries[0]))
72
-
73
- if (hasWhiteSpace(entries[0])) {
74
- console.log(i18n.__('fileHasWhiteSpacesError'))
75
- process.exit(1)
76
- }
77
-
78
- if (fileFinder.fileIsEmpty(entries[0])) {
79
- console.log(i18n.__('scanFileIsEmpty'))
80
- process.exit(1)
81
- }
82
-
83
- configToUse.file = entries[0]
84
- if (configToUse.name === undefined) {
85
- configToUse.name = entries[0]
86
- }
87
- } else {
88
- errorOnFileDetection(entries)
89
- }
90
- }
91
-
92
- const autoDetectAuditFilesAndLanguages = async filePath => {
93
- let languagesFound = []
94
-
95
- console.log(i18n.__('searchingAuditFileDirectory', filePath))
96
-
97
- await fileFinder.findFilesJava(languagesFound, filePath)
98
- await fileFinder.findFilesJavascript(languagesFound, filePath)
99
- await fileFinder.findFilesPython(languagesFound, filePath)
100
- await fileFinder.findFilesGo(languagesFound, filePath)
101
- await fileFinder.findFilesPhp(languagesFound, filePath)
102
- await fileFinder.findFilesRuby(languagesFound, filePath)
103
- await fileFinder.findFilesDotNet(languagesFound, filePath)
104
-
105
- if (languagesFound) {
106
- return languagesFound
107
- }
108
-
109
- return []
110
- }
111
-
112
- const hasWhiteSpace = s => {
113
- const filename = s.split('/').pop()
114
- return filename.indexOf(' ') >= 0
115
- }
116
-
117
- const dealWithMultiJava = filesFound => {
118
- let hasMultiJava =
119
- filesFound.filter(data => {
120
- return (
121
- Object.keys(data)[0] === JAVA &&
122
- Object.values(data)[0].includes('build.gradle') &&
123
- Object.values(data)[0].includes('pom.xml')
124
- )
125
- }).length > 0
126
- if (hasMultiJava) {
127
- console.log('Multiple Java language dependency files detected')
128
- console.log(
129
- 'Please use --file to audit one only. \nExample: contrast audit --file pom.xml'
130
- )
131
- process.exit(1)
132
- }
133
- return false
134
- }
135
-
136
- const errorOnFileDetection = entries => {
137
- if (entries.length > 1) {
138
- console.log(i18n.__('searchingDirectoryScan'))
139
- for (let file in entries) {
140
- console.log('-', entries[file])
141
- }
142
- console.log('')
143
- console.log(i18n.__('specifyFileScanError'))
144
- } else {
145
- console.log(i18n.__('noFileFoundScan'))
146
- console.log('')
147
- console.log(i18n.__('specifyFileScanError'))
148
- }
149
- process.exit(1)
150
- }
151
-
152
- const errorOnAuditFileDetection = entries => {
153
- if (entries.length > 1) {
154
- console.log(i18n.__('searchingDirectoryScan'))
155
- for (let file in entries) {
156
- console.log('-', entries[file])
157
- }
158
- console.log('')
159
- console.log(i18n.__('specifyFileAuditNotFound'))
160
- } else {
161
- console.log(i18n.__('noFileFoundScan'))
162
- console.log('')
163
- console.log(i18n.__('specifyFileAuditNotFound'))
164
- }
165
- }
166
-
167
- module.exports = {
168
- autoDetectFileAndLanguage,
169
- errorOnFileDetection,
170
- autoDetectAuditFilesAndLanguages,
171
- errorOnAuditFileDetection,
172
- autoDetectFingerprintInfo,
173
- dealWithMultiJava,
174
- detectPackageManager
175
- }
@@ -1,206 +0,0 @@
1
- const fg = require('fast-glob')
2
- const fs = require('fs')
3
- const i18n = require('i18n')
4
-
5
- const findFile = async () => {
6
- console.log(i18n.__('searchingScanFileDirectory', process.cwd()))
7
- return fg(['**/*.jar', '**/*.war', '**/*.zip', '**/*.dll', '**/*.exe'], {
8
- dot: false,
9
- deep: 3,
10
- onlyFiles: true
11
- })
12
- }
13
-
14
- const findAllFiles = async (filePath, depth = 2) => {
15
- const result = await fg(
16
- [
17
- '**/pom.xml',
18
- '**/build.gradle',
19
- '**/build.gradle.kts',
20
- '**/package.json',
21
- '**/package-lock.json',
22
- '**/yarn.lock',
23
- '**/Pipfile',
24
- '**/*.csproj',
25
- '**/Gemfile',
26
- '**/go.mod'
27
- ],
28
- {
29
- dot: false,
30
- deep: depth,
31
- onlyFiles: true,
32
- absolute: true,
33
- cwd: filePath ? filePath : process.cwd()
34
- }
35
- )
36
-
37
- if (result.length > 0) {
38
- return result
39
- }
40
- return []
41
- }
42
-
43
- const findFilesJava = async (languagesFound, filePath, depth = 1) => {
44
- const result = await fg(
45
- ['**/pom.xml', '**/build.gradle', '**/build.gradle.kts'],
46
- {
47
- dot: false,
48
- deep: depth,
49
- onlyFiles: true,
50
- cwd: filePath ? filePath : process.cwd()
51
- }
52
- )
53
-
54
- if (result.length > 0) {
55
- let lockFile = result.find(i => i.includes('pom') || i.includes('gradle'))
56
- return languagesFound.push({
57
- JAVA: result,
58
- language: 'JAVA',
59
- filePath: lockFile
60
- })
61
- }
62
- return languagesFound
63
- }
64
-
65
- const findFilesJavascript = async (languagesFound, filePath, depth = 1) => {
66
- const result = await fg(
67
- ['**/package.json', '**/yarn.lock', '**/package-lock.json'],
68
- {
69
- dot: false,
70
- deep: depth,
71
- onlyFiles: true,
72
- cwd: filePath ? filePath : process.cwd()
73
- }
74
- )
75
-
76
- if (result.length > 0) {
77
- let lockFile = result.find(i => i.includes('lock'))
78
- return languagesFound.push({
79
- JAVASCRIPT: result,
80
- language: 'JAVASCRIPT',
81
- filePath: lockFile
82
- })
83
- }
84
- return languagesFound
85
- }
86
-
87
- const findFilesPython = async (languagesFound, filePath, depth = 1) => {
88
- const result = await fg(['**/Pipfile.lock', '**/Pipfile'], {
89
- dot: false,
90
- deep: depth,
91
- onlyFiles: true,
92
- cwd: filePath ? filePath : process.cwd()
93
- })
94
-
95
- if (result.length > 0) {
96
- return languagesFound.push({ PYTHON: result, filePath: 'Pipfile' })
97
- }
98
- return languagesFound
99
- }
100
-
101
- const findFilesGo = async (languagesFound, filePath, depth = 1) => {
102
- const result = await fg(['**/go.mod'], {
103
- dot: false,
104
- deep: depth,
105
- onlyFiles: true,
106
- cwd: filePath ? filePath : process.cwd()
107
- })
108
-
109
- if (result.length > 0) {
110
- return languagesFound.push({ GO: result, filePath: 'go.mod' })
111
- }
112
- return languagesFound
113
- }
114
-
115
- const findFilesRuby = async (languagesFound, filePath, depth = 1) => {
116
- const result = await fg(['**/Gemfile', '**/Gemfile.lock'], {
117
- dot: false,
118
- deep: depth,
119
- onlyFiles: true,
120
- cwd: filePath ? filePath : process.cwd()
121
- })
122
-
123
- if (result.length > 0) {
124
- return languagesFound.push({ RUBY: result, filePath: 'Gemfile' })
125
- }
126
- return languagesFound
127
- }
128
-
129
- const findFilesPhp = async (languagesFound, filePath, depth = 1) => {
130
- const result = await fg(['**/composer.json', '**/composer.lock'], {
131
- dot: false,
132
- deep: depth,
133
- onlyFiles: true,
134
- cwd: filePath ? filePath : process.cwd()
135
- })
136
-
137
- if (result.length > 0) {
138
- return languagesFound.push({ PHP: result, filePath: 'composer.lock' })
139
- }
140
- return languagesFound
141
- }
142
-
143
- const findFilesDotNet = async (languagesFound, filePath, depth = 1) => {
144
- const result = await fg(['**/*.csproj', '**/packages.lock.json'], {
145
- dot: false,
146
- deep: depth,
147
- onlyFiles: true,
148
- cwd: filePath ? filePath : process.cwd()
149
- })
150
-
151
- if (result.length > 0) {
152
- return languagesFound.push({
153
- DOTNET: result,
154
- filePath: 'packages.lock.json'
155
- })
156
- }
157
- return languagesFound
158
- }
159
-
160
- const checkFilePermissions = file => {
161
- let readableFile = false
162
- try {
163
- fs.accessSync(file, fs.constants.R_OK)
164
- return (readableFile = true) // testing purposes
165
- } catch (err) {
166
- console.log('Invalid permissions found on ', file)
167
- process.exit(0)
168
- }
169
- }
170
-
171
- const fileExists = path => {
172
- return fs.existsSync(path)
173
- }
174
-
175
- const fileIsEmpty = path => {
176
- if (fileExists(path) && checkFilePermissions(path)) {
177
- try {
178
- return fs.readFileSync(path).length === 0
179
- } catch (e) {
180
- if (
181
- e.message.toString().includes('illegal operation on a directory, read')
182
- ) {
183
- console.log('file provided cannot be a directory')
184
- } else {
185
- console.log(e.message.toString())
186
- }
187
- process.exit(0)
188
- }
189
- }
190
- return false
191
- }
192
-
193
- module.exports = {
194
- findFile,
195
- fileExists,
196
- checkFilePermissions,
197
- findFilesJava,
198
- findFilesJavascript,
199
- findFilesPython,
200
- findFilesGo,
201
- findFilesPhp,
202
- findFilesRuby,
203
- findFilesDotNet,
204
- fileIsEmpty,
205
- findAllFiles
206
- }
@@ -1,225 +0,0 @@
1
- import { ScanResultsModel } from './models/scanResultsModel'
2
- import i18n from 'i18n'
3
- import chalk from 'chalk'
4
- import { ResultContent } from './models/resultContentModel'
5
- import { GroupedResultsModel } from './models/groupedResultsModel'
6
- import { sortBy } from 'lodash'
7
- import Table from 'cli-table3'
8
- import {
9
- CRITICAL_COLOUR,
10
- HIGH_COLOUR,
11
- LOW_COLOUR,
12
- MEDIUM_COLOUR,
13
- NOTE_COLOUR,
14
- supportedLanguagesScan
15
- } from '../constants/constants'
16
- import {
17
- getSeverityCounts,
18
- printVulnInfo
19
- } from '../audit/report/commonReportingFunctions'
20
-
21
- export function formatScanOutput(scanResults: ScanResultsModel) {
22
- const { content } = scanResults.scanResultsInstances
23
- const { language } = scanResults.scanDetail
24
-
25
- const severityCounts = getSeverityCounts(content)
26
- if (content.length === 0) {
27
- console.log(i18n.__('scanNoVulnerabilitiesFound'))
28
- console.log(i18n.__('scanNoVulnerabilitiesFoundSecureCode'))
29
- console.log(i18n.__('scanNoVulnerabilitiesFoundGoodWork'))
30
- } else {
31
- const message =
32
- severityCounts.critical || severityCounts.high
33
- ? 'Here are your top priorities to fix'
34
- : "No major issues, here's what we found"
35
- console.log(chalk.bold(message))
36
- console.log()
37
-
38
- const defaultView = getDefaultView(content, language)
39
-
40
- let count = 0
41
- defaultView.forEach(entry => {
42
- count++
43
- const table = new Table({
44
- chars: {
45
- top: '',
46
- 'top-mid': '',
47
- 'top-left': '',
48
- 'top-right': '',
49
- bottom: '',
50
- 'bottom-mid': '',
51
- 'bottom-left': '',
52
- 'bottom-right': '',
53
- left: '',
54
- 'left-mid': '',
55
- mid: '',
56
- 'mid-mid': '',
57
- right: '',
58
- 'right-mid': '',
59
- middle: ' '
60
- },
61
- style: { 'padding-left': 0, 'padding-right': 0 },
62
- colAligns: ['right'],
63
- wordWrap: true,
64
- colWidths: [12, 1, 100]
65
- })
66
-
67
- let learnRow: string[] = []
68
- let adviceRow = []
69
- const headerColour = chalk.hex(entry.colour)
70
- const headerRow = [
71
- headerColour(`CONTRAST-${count.toString().padStart(3, '0')}`),
72
- headerColour(`-`),
73
- headerColour(`[${entry.severity}] `) +
74
- headerColour.bold(`${entry.ruleId}`) +
75
- entry.message
76
- ]
77
-
78
- const codePath = entry.codePath?.replace(/^@/, '')
79
-
80
- const codeRow = [
81
- chalk.hex('#F6F5F5').bold(`Code`),
82
- chalk.hex('#F6F5F5').bold(`:`),
83
- chalk.hex('#F6F5F5').bold(`${codePath}`)
84
- ]
85
- const issueRow = [chalk.bold(`Issue`), chalk.bold(`:`), `${entry.issue}`]
86
-
87
- table.push(headerRow, codeRow, issueRow)
88
-
89
- if (entry?.advice) {
90
- adviceRow = [
91
- chalk.bold('Advice'),
92
- chalk.bold(`:`),
93
- stripTags(entry.advice)
94
- ]
95
- table.push(adviceRow)
96
- }
97
-
98
- if (entry?.learn && entry?.learn.length > 0) {
99
- learnRow = [
100
- chalk.bold('Learn'),
101
- chalk.bold(`:`),
102
- chalk.hex('#97f7f7').bold.underline(entry.learn[0])
103
- ]
104
- table.push(learnRow)
105
- }
106
- console.log(table.toString())
107
- console.log()
108
- })
109
- }
110
- printVulnInfo(severityCounts)
111
-
112
- return severityCounts
113
- }
114
-
115
- export function formatLinks(objName: string, entry: any[]) {
116
- const line = chalk.bold(objName + ' : ')
117
- if (entry.length === 1) {
118
- console.log(line + chalk.hex('#97DCF7').bold.underline(entry[0]))
119
- } else {
120
- console.log(line)
121
- entry.forEach(link => {
122
- console.log(chalk.hex('#97DCF7').bold.underline(link))
123
- })
124
- }
125
- }
126
-
127
- export function getDefaultView(content: ResultContent[], language: string) {
128
- const groupTypeResults = [] as GroupedResultsModel[]
129
-
130
- content.forEach(resultEntry => {
131
- const groupResultsObj = new GroupedResultsModel(resultEntry.ruleId)
132
- groupResultsObj.severity = resultEntry.severity
133
- groupResultsObj.ruleId = resultEntry.ruleId
134
- groupResultsObj.issue = stripTags(resultEntry.issue)
135
- groupResultsObj.advice = resultEntry.advice
136
- groupResultsObj.learn = resultEntry.learn
137
- groupResultsObj.message = resultEntry.message?.text
138
- ? editVulName(resultEntry.message.text) +
139
- doAddSourceLineNumber(resultEntry, language)
140
- : ''
141
- groupResultsObj.codePath = getLocationsSyncInfo(resultEntry)
142
- groupTypeResults.push(groupResultsObj)
143
- assignBySeverity(resultEntry, groupResultsObj)
144
- })
145
-
146
- return sortBy(groupTypeResults, ['priority'])
147
- }
148
-
149
- export function doAddSourceLineNumber(
150
- resultEntry: ResultContent,
151
- language: string
152
- ) {
153
- //only add source line num if not JS
154
- return language !== supportedLanguagesScan.JAVASCRIPT
155
- ? ':' + getSourceLineNumber(resultEntry)
156
- : ''
157
- }
158
-
159
- export function editVulName(message: string) {
160
- return message.substring(message.indexOf(' in '))
161
- }
162
-
163
- export function getLocationsSyncInfo(resultEntry: ResultContent) {
164
- const locationsMessage =
165
- resultEntry.locations[0]?.physicalLocation?.artifactLocation?.uri || ''
166
- const locationsLineNumber =
167
- resultEntry.locations[0]?.physicalLocation?.region?.startLine || ''
168
-
169
- if (!locationsLineNumber) {
170
- return '@' + locationsMessage
171
- }
172
-
173
- return '@' + locationsMessage + ':' + locationsLineNumber
174
- }
175
-
176
- export function getSourceLineNumber(resultEntry: ResultContent) {
177
- const locationsLineNumber =
178
- resultEntry.locations[0]?.physicalLocation?.region?.startLine || ''
179
- const codeFlowLineNumber = getCodeFlowInfo(resultEntry)
180
-
181
- return codeFlowLineNumber ? codeFlowLineNumber : locationsLineNumber
182
- }
183
-
184
- export function getCodeFlowInfo(resultEntry: ResultContent) {
185
- let result: any
186
- resultEntry.codeFlows[0]?.threadFlows.forEach((i: { locations: any[] }) => {
187
- return (result = i.locations.find(
188
- (locations: { importance: string }) =>
189
- locations.importance === 'essential'
190
- ))
191
- })
192
-
193
- return result?.location?.physicalLocation?.region?.startLine
194
- }
195
-
196
- export function stripTags(oldString: string) {
197
- return oldString.replace(/\n/g, ' ').replace(/\s+/g, ' ').trim()
198
- }
199
-
200
- export function assignBySeverity(
201
- entry: ResultContent,
202
- assignedObj: GroupedResultsModel
203
- ) {
204
- if (entry.severity.toUpperCase() === 'CRITICAL') {
205
- assignedObj.priority = 1
206
- assignedObj.colour = CRITICAL_COLOUR
207
- return assignedObj
208
- } else if (entry.severity.toUpperCase() === 'HIGH') {
209
- assignedObj.priority = 2
210
- assignedObj.colour = HIGH_COLOUR
211
- return assignedObj
212
- } else if (entry.severity.toUpperCase() === 'MEDIUM') {
213
- assignedObj.priority = 3
214
- assignedObj.colour = MEDIUM_COLOUR
215
- return assignedObj
216
- } else if (entry.severity.toUpperCase() === 'LOW') {
217
- assignedObj.priority = 4
218
- assignedObj.colour = LOW_COLOUR
219
- return assignedObj
220
- } else if (entry.severity.toUpperCase() === 'NOTE') {
221
- assignedObj.priority = 5
222
- assignedObj.colour = NOTE_COLOUR
223
- return assignedObj
224
- }
225
- }
package/src/scan/help.js DELETED
@@ -1,56 +0,0 @@
1
- const commandLineUsage = require('command-line-usage')
2
- const i18n = require('i18n')
3
- const constants = require('../cliConstants')
4
- const { commonHelpLinks } = require('../common/commonHelp')
5
-
6
- const scanUsageGuide = commandLineUsage([
7
- {
8
- header: i18n.__('constantsHeader')
9
- },
10
- {
11
- header: i18n.__('scanHeader')
12
- },
13
- {
14
- header: i18n.__('constantsPrerequisitesHeader'),
15
- content: [
16
- '{bold ' + i18n.__('constantsPrerequisitesContentScanLanguages') + '}',
17
- i18n.__('constantsPrerequisitesContent'),
18
- '',
19
- i18n.__('constantsUsageCommandInfo'),
20
- i18n.__('constantsUsageCommandInfo24Hours')
21
- ]
22
- },
23
- {
24
- header: i18n.__('constantsScanOptions'),
25
- optionList: constants.commandLineDefinitions.scanOptionDefinitions,
26
- hide: [
27
- 'project-id',
28
- 'organization-id',
29
- 'api-key',
30
- 'authorization',
31
- 'host',
32
- 'proxy',
33
- 'help',
34
- 'ff',
35
- 'cert-self-signed',
36
- 'key',
37
- 'cacert',
38
- 'cert',
39
- 'verbose',
40
- 'debug',
41
- 'experimental'
42
- ]
43
- },
44
- {
45
- header: i18n.__('constantsAdvancedOptions'),
46
- optionList:
47
- constants.commandLineDefinitions.scanAdvancedOptionDefinitionsForHelp
48
- },
49
- commonHelpLinks()[0],
50
- commonHelpLinks()[1],
51
- commonHelpLinks()[2]
52
- ])
53
-
54
- module.exports = {
55
- scanUsageGuide
56
- }
@@ -1,20 +0,0 @@
1
- export class GroupedResultsModel {
2
- ruleId: string
3
- codePathSet: Set<string>
4
- cwe?: string[]
5
- reference?: string[]
6
- severity?: string
7
- advice?: string
8
- learn?: string[]
9
- issue?: string
10
- priority?: number
11
- message?: string | undefined
12
- colour: string
13
- codePath?: string
14
-
15
- constructor(ruleId: string) {
16
- this.ruleId = ruleId
17
- this.colour = '#999999'
18
- this.codePathSet = new Set<string>()
19
- }
20
- }