@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,44 +1,46 @@
1
- "use strict";
2
- const { supportedLanguages: { JAVA, GO, PYTHON, RUBY, JAVASCRIPT, NODE, PHP, DOTNET } } = require('../constants/constants');
3
- const { returnOra, startSpinner, succeedSpinner } = require('../utils/oraWrapper');
4
- const autoDetection = require('../scan/autoDetection');
5
- const rootFile = require('../audit/languageAnalysisEngine/getProjectRootFilenames');
6
- const path = require('path');
7
- const i18n = require('i18n');
8
- const { auditUsageGuide } = require('../commands/audit/help');
9
- const repoMode = require('./repoMode');
10
- const { dotNetAnalysis } = require('./dotnet');
11
- const { goAnalysis } = require('./go/goAnalysis');
12
- const { phpAnalysis } = require('./php');
13
- const { rubyAnalysis } = require('./ruby');
14
- const { pythonAnalysis } = require('./python');
15
- const javaAnalysis = require('./java');
16
- const jsAnalysis = require('./javascript');
17
- const auditReport = require('./common/auditReport');
18
- const processServices = require('./processServicesFlow');
19
- const chalk = require('chalk');
20
- const { convertGenericToTypedReportModelSca } = require('./common/utils/reportUtilsSca');
21
- const projectConfig = require('../commands/github/projectGroup');
22
- const { legacyFlow } = require('./legacy/legacyFlow');
23
- const processSca = async (config) => {
1
+ import { autoDetectAuditFilesAndLanguages, detectPackageManager, dealWithMultiJava } from '../common/autoDetection.js';
2
+ import { getProjectStats, getDirectoryFromPathGiven } from '../audit/languageAnalysisEngine/getProjectRootFilenames.js';
3
+ import { basename } from 'path';
4
+ import i18n from 'i18n';
5
+ import { buildRepo } from './repoMode/index.js';
6
+ import { dotNetAnalysis } from './dotnet/index.js';
7
+ import { goAnalysis } from './go/goAnalysis.js';
8
+ import { phpAnalysis } from './php/index.js';
9
+ import { rubyAnalysis } from './ruby/index.js';
10
+ import { pythonAnalysis } from './python/index.js';
11
+ import { javaAnalysis } from './java/index.js';
12
+ import { jsAnalysis } from './javascript/index.js';
13
+ import { processAuditReport } from './common/auditReport.js';
14
+ import { processUpload } from './processServicesFlow.js';
15
+ import { convertGenericToTypedReportModelSca } from './common/utils/reportUtilsSca.js';
16
+ import { dealWithNoName } from '../github/projectGroup.js';
17
+ import { legacyFlow } from './legacy/legacyFlow.js';
18
+ import { DOTNET, GO, JAVA, JAVASCRIPT, NODE, PHP, PYTHON, RUBY } from '../constants/constants.js';
19
+ import { returnOra, startSpinner, succeedSpinner } from '../utils/oraWrapper.js';
20
+ import { auditUsageGuide } from '../audit/help.js';
21
+ import chalk from 'chalk';
22
+ import { logInfo } from '../common/logging.js';
23
+ export const processSca = async (config) => {
24
24
  let filesFound;
25
25
  if (config.help) {
26
- console.log(auditUsageGuide);
26
+ logInfo(auditUsageGuide);
27
27
  process.exit(0);
28
28
  }
29
29
  config.repo = config.repositoryId !== undefined;
30
- const projectStats = await rootFile.getProjectStats(config.file);
30
+ const projectStats = await getProjectStats(config.file);
31
31
  let pathWithFile = projectStats.isFile();
32
32
  config.fileName = config.file;
33
33
  config.file = pathWithFile
34
- ? rootFile.getDirectoryFromPathGiven(config.file).concat('/')
34
+ ? getDirectoryFromPathGiven(config.file).concat('/')
35
35
  : config.file;
36
- filesFound = await autoDetection.autoDetectAuditFilesAndLanguages(config.file);
37
- filesFound = await autoDetection.detectPackageManager(filesFound);
38
- autoDetection.dealWithMultiJava(filesFound);
36
+ filesFound = await autoDetectAuditFilesAndLanguages(config.file);
37
+ filesFound = await detectPackageManager(filesFound);
38
+ dealWithMultiJava(filesFound, config, pathWithFile);
39
39
  if (filesFound.length > 1 && pathWithFile) {
40
- filesFound = filesFound.filter(i => Object.values(i)[0].includes(path.basename(config.fileName)));
40
+ filesFound = filesFound.filter(i => Object.values(i)[0].includes(basename(config.fileName)));
41
41
  }
42
+ // files found looks like [ { javascript: [ Array ] } ]
43
+ //check we have the language and call the right analyser
42
44
  let messageToSend = undefined;
43
45
  if (filesFound.length === 1) {
44
46
  config.packageManager = filesFound[0]?.packageManager;
@@ -47,18 +49,18 @@ const processSca = async (config) => {
47
49
  config.language = JAVA;
48
50
  if (config.repo && !config.legacy) {
49
51
  try {
50
- messageToSend = await repoMode.buildRepo(config, filesFound[0]);
52
+ messageToSend = await buildRepo(config, filesFound[0]);
51
53
  }
52
54
  catch (e) {
53
55
  throw new Error('Unable to build in repository mode. Check your project file');
54
56
  }
55
57
  }
56
58
  else {
57
- messageToSend = await javaAnalysis.javaAnalysis(config, filesFound[0]);
59
+ messageToSend = await javaAnalysis(config, filesFound[0]);
58
60
  }
59
61
  break;
60
62
  case JAVASCRIPT:
61
- messageToSend = await jsAnalysis.jsAnalysis(config, filesFound[0]);
63
+ messageToSend = await jsAnalysis(config, filesFound[0]);
62
64
  config.language = NODE;
63
65
  break;
64
66
  case PYTHON:
@@ -79,7 +81,7 @@ const processSca = async (config) => {
79
81
  break;
80
82
  case DOTNET:
81
83
  if (config.legacy === false) {
82
- console.log(`${chalk.bold('\n.NET project found\n')} Language type is unsupported.`);
84
+ logInfo(`${chalk.bold('\n.NET project found\n')} Language type is unsupported.`);
83
85
  return;
84
86
  }
85
87
  else {
@@ -88,44 +90,41 @@ const processSca = async (config) => {
88
90
  break;
89
91
  }
90
92
  default:
91
- console.log('No supported language detected in project path');
93
+ //something is wrong
94
+ logInfo('No supported language detected in project path');
92
95
  return;
93
96
  }
94
97
  if (config.legacy === false) {
95
98
  if (!config.name) {
96
- config = await projectConfig.dealWithNoName(config);
99
+ config = await dealWithNoName(config);
97
100
  }
98
101
  const startTime = performance.now();
99
- console.log('');
102
+ logInfo('');
100
103
  const reportSpinner = returnOra(i18n.__('auditSCAAnalysisBegins'));
101
104
  startSpinner(reportSpinner);
102
- let reportResponse = await processServices.processUpload(messageToSend, config, reportSpinner);
105
+ const reportResponse = await processUpload(messageToSend, config, reportSpinner);
103
106
  const reportModelLibraryList = convertGenericToTypedReportModelSca(reportResponse.reportArray);
104
- await auditReport.processAuditReport(config, reportModelLibraryList, reportResponse.reportId);
107
+ await processAuditReport(config, reportModelLibraryList, reportResponse.reportId);
105
108
  succeedSpinner(reportSpinner, i18n.__('auditSCAAnalysisComplete'));
106
109
  const endTime = performance.now() - startTime;
107
110
  const scanDurationMs = endTime - startTime;
108
- console.log(`----- completed in ${(scanDurationMs / 1000).toFixed(2)}s -----`);
111
+ logInfo(`----- completed in ${(scanDurationMs / 1000).toFixed(2)}s -----`);
109
112
  }
110
113
  else {
111
114
  await legacyFlow(config, messageToSend);
112
115
  }
113
116
  }
117
+ else if (filesFound.length === 0) {
118
+ logInfo(i18n.__('languageAnalysisNoLanguage'));
119
+ logInfo(i18n.__('languageAnalysisNoLanguageHelpLine'));
120
+ throw new Error();
121
+ }
114
122
  else {
115
- if (filesFound.length === 0) {
116
- console.log(i18n.__('languageAnalysisNoLanguage'));
117
- console.log(i18n.__('languageAnalysisNoLanguageHelpLine'));
118
- throw new Error();
119
- }
120
- else {
121
- console.log(chalk.bold(`\nMultiple language files detected \n`));
122
- filesFound.forEach(file => {
123
- console.log(`${Object.keys(file)[0]} : `, Object.values(file)[0]);
124
- });
125
- throw new Error(`Please use --file to audit one language only. \nExample: contrast audit --file package-lock.json`);
126
- }
123
+ logInfo(chalk.bold(`\nMultiple language files detected \n`));
124
+ filesFound.forEach(file => {
125
+ logInfo(`${Object.keys(file)[0]} : ${Object.values(file)[0]}`);
126
+ });
127
+ throw new Error(`Please use --file to audit one language only. \nExample: contrast audit --file package-lock.json`);
127
128
  }
128
129
  };
129
- module.exports = {
130
- processSca
131
- };
130
+ //# sourceMappingURL=scaAnalysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaAnalysis.js","sourceRoot":"","sources":["../../src/scaAnalysis/scaAnalysis.js"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- "use strict";
2
- const fg = require('fast-glob');
3
- const fs = require('fs');
4
- const i18n = require('i18n');
5
- const findFile = async () => {
1
+ import fg from 'fast-glob';
2
+ import { accessSync, constants, existsSync, readFileSync } from 'fs';
3
+ import i18n from 'i18n';
4
+ export const findFile = async () => {
6
5
  console.log(i18n.__('searchingScanFileDirectory', process.cwd()));
7
6
  return fg(['**/*.jar', '**/*.war', '**/*.zip', '**/*.dll', '**/*.exe'], {
8
7
  dot: false,
@@ -10,19 +9,20 @@ const findFile = async () => {
10
9
  onlyFiles: true
11
10
  });
12
11
  };
13
- const findAllFiles = async (filePath, depth = 2) => {
12
+ export const findAllFiles = async (filePath, depth = 3) => {
14
13
  const result = await fg([
15
14
  '**/pom.xml',
16
- '**/build.gradle',
17
- '**/build.gradle.kts',
15
+ // '**/build.gradle',
16
+ // '**/build.gradle.kts',
18
17
  '**/package.json',
19
18
  '**/package-lock.json',
20
- '**/yarn.lock',
21
- '**/Pipfile',
22
- '**/*.csproj',
23
- '**/Gemfile',
24
- '**/go.mod'
19
+ '**/yarn.lock'
20
+ // '**/Pipfile',
21
+ // '**/*.csproj',
22
+ // '**/Gemfile',
23
+ // '**/go.mod'
25
24
  ], {
25
+ ignore: ['**/node_modules/**', '**/target/**', '**/bin/**'],
26
26
  dot: false,
27
27
  deep: depth,
28
28
  onlyFiles: true,
@@ -34,7 +34,7 @@ const findAllFiles = async (filePath, depth = 2) => {
34
34
  }
35
35
  return [];
36
36
  };
37
- const findFilesJava = async (languagesFound, filePath, depth = 1) => {
37
+ export const findFilesJava = async (languagesFound, filePath, depth = 1) => {
38
38
  const result = await fg(['**/pom.xml', '**/build.gradle', '**/build.gradle.kts'], {
39
39
  dot: false,
40
40
  deep: depth,
@@ -51,7 +51,7 @@ const findFilesJava = async (languagesFound, filePath, depth = 1) => {
51
51
  }
52
52
  return languagesFound;
53
53
  };
54
- const findFilesJavascript = async (languagesFound, filePath, depth = 1) => {
54
+ export const findFilesJavascript = async (languagesFound, filePath, depth = 1) => {
55
55
  const result = await fg(['**/package.json', '**/yarn.lock', '**/package-lock.json'], {
56
56
  dot: false,
57
57
  deep: depth,
@@ -68,7 +68,7 @@ const findFilesJavascript = async (languagesFound, filePath, depth = 1) => {
68
68
  }
69
69
  return languagesFound;
70
70
  };
71
- const findFilesPython = async (languagesFound, filePath, depth = 1) => {
71
+ export const findFilesPython = async (languagesFound, filePath, depth = 1) => {
72
72
  const result = await fg(['**/Pipfile.lock', '**/Pipfile'], {
73
73
  dot: false,
74
74
  deep: depth,
@@ -80,7 +80,7 @@ const findFilesPython = async (languagesFound, filePath, depth = 1) => {
80
80
  }
81
81
  return languagesFound;
82
82
  };
83
- const findFilesGo = async (languagesFound, filePath, depth = 1) => {
83
+ export const findFilesGo = async (languagesFound, filePath, depth = 1) => {
84
84
  const result = await fg(['**/go.mod'], {
85
85
  dot: false,
86
86
  deep: depth,
@@ -92,7 +92,7 @@ const findFilesGo = async (languagesFound, filePath, depth = 1) => {
92
92
  }
93
93
  return languagesFound;
94
94
  };
95
- const findFilesRuby = async (languagesFound, filePath, depth = 1) => {
95
+ export const findFilesRuby = async (languagesFound, filePath, depth = 1) => {
96
96
  const result = await fg(['**/Gemfile', '**/Gemfile.lock'], {
97
97
  dot: false,
98
98
  deep: depth,
@@ -104,7 +104,7 @@ const findFilesRuby = async (languagesFound, filePath, depth = 1) => {
104
104
  }
105
105
  return languagesFound;
106
106
  };
107
- const findFilesPhp = async (languagesFound, filePath, depth = 1) => {
107
+ export const findFilesPhp = async (languagesFound, filePath, depth = 1) => {
108
108
  const result = await fg(['**/composer.json', '**/composer.lock'], {
109
109
  dot: false,
110
110
  deep: depth,
@@ -116,7 +116,7 @@ const findFilesPhp = async (languagesFound, filePath, depth = 1) => {
116
116
  }
117
117
  return languagesFound;
118
118
  };
119
- const findFilesDotNet = async (languagesFound, filePath, depth = 1) => {
119
+ export const findFilesDotNet = async (languagesFound, filePath, depth = 1) => {
120
120
  const result = await fg(['**/*.csproj', '**/packages.lock.json'], {
121
121
  dot: false,
122
122
  deep: depth,
@@ -131,24 +131,24 @@ const findFilesDotNet = async (languagesFound, filePath, depth = 1) => {
131
131
  }
132
132
  return languagesFound;
133
133
  };
134
- const checkFilePermissions = file => {
134
+ export const checkFilePermissions = file => {
135
135
  let readableFile = false;
136
136
  try {
137
- fs.accessSync(file, fs.constants.R_OK);
138
- return (readableFile = true);
137
+ accessSync(file, constants.R_OK);
138
+ return (readableFile = true); // testing purposes
139
139
  }
140
140
  catch (err) {
141
141
  console.log('Invalid permissions found on ', file);
142
142
  process.exit(0);
143
143
  }
144
144
  };
145
- const fileExists = path => {
146
- return fs.existsSync(path);
145
+ export const fileExists = path => {
146
+ return existsSync(path);
147
147
  };
148
- const fileIsEmpty = path => {
148
+ export const fileIsEmpty = path => {
149
149
  if (fileExists(path) && checkFilePermissions(path)) {
150
150
  try {
151
- return fs.readFileSync(path).length === 0;
151
+ return readFileSync(path).length === 0;
152
152
  }
153
153
  catch (e) {
154
154
  if (e.message.toString().includes('illegal operation on a directory, read')) {
@@ -162,17 +162,13 @@ const fileIsEmpty = path => {
162
162
  }
163
163
  return false;
164
164
  };
165
- module.exports = {
166
- findFile,
167
- fileExists,
168
- checkFilePermissions,
169
- findFilesJava,
170
- findFilesJavascript,
171
- findFilesPython,
172
- findFilesGo,
173
- findFilesPhp,
174
- findFilesRuby,
175
- findFilesDotNet,
176
- fileIsEmpty,
177
- findAllFiles
165
+ export const shortenFilePath = filePath => {
166
+ let splitPath = filePath.split('home/runner/work/');
167
+ if (splitPath.length > 1) {
168
+ let splitPath2 = splitPath[1].split('/');
169
+ splitPath2.shift();
170
+ return splitPath2.join('/').toString();
171
+ }
172
+ return filePath;
178
173
  };
174
+ //# sourceMappingURL=fileUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../src/scan/fileUtils.js"],"names":[],"mappings":"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"}
@@ -1,36 +1,30 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.assignBySeverity = exports.stripTags = exports.getCodeFlowInfo = exports.getSourceLineNumber = exports.getLocationsSyncInfo = exports.editVulName = exports.doAddSourceLineNumber = exports.getDefaultView = exports.formatLinks = exports.formatScanOutput = void 0;
7
- const i18n_1 = __importDefault(require("i18n"));
8
- const chalk_1 = __importDefault(require("chalk"));
9
- const groupedResultsModel_1 = require("./models/groupedResultsModel");
10
- const lodash_1 = require("lodash");
11
- const cli_table3_1 = __importDefault(require("cli-table3"));
12
- const constants_1 = require("../constants/constants");
13
- const commonReportingFunctions_1 = require("../audit/report/commonReportingFunctions");
14
- function formatScanOutput(scanResults) {
1
+ import chalk from 'chalk';
2
+ import { GroupedResultsModel } from './models/groupedResultsModel.js';
3
+ import { sortBy } from 'lodash-es';
4
+ import Table from 'cli-table3';
5
+ import { CRITICAL_COLOUR, HIGH_COLOUR, LOW_COLOUR, MEDIUM_COLOUR, NOTE_COLOUR, supportedLanguagesScan } from '../constants/constants.js';
6
+ import { getSeverityCounts, printVulnInfo } from '../audit/report/commonReportingFunctions.js';
7
+ import i18n from 'i18n';
8
+ export function formatScanOutput(scanResults) {
15
9
  const { content } = scanResults.scanResultsInstances;
16
10
  const { language } = scanResults.scanDetail;
17
- const severityCounts = (0, commonReportingFunctions_1.getSeverityCounts)(content);
11
+ const severityCounts = getSeverityCounts(content);
18
12
  if (content.length === 0) {
19
- console.log(i18n_1.default.__('scanNoVulnerabilitiesFound'));
20
- console.log(i18n_1.default.__('scanNoVulnerabilitiesFoundSecureCode'));
21
- console.log(i18n_1.default.__('scanNoVulnerabilitiesFoundGoodWork'));
13
+ console.log(i18n.__('scanNoVulnerabilitiesFound'));
14
+ console.log(i18n.__('scanNoVulnerabilitiesFoundSecureCode'));
15
+ console.log(i18n.__('scanNoVulnerabilitiesFoundGoodWork'));
22
16
  }
23
17
  else {
24
18
  const message = severityCounts.critical || severityCounts.high
25
19
  ? 'Here are your top priorities to fix'
26
20
  : "No major issues, here's what we found";
27
- console.log(chalk_1.default.bold(message));
21
+ console.log(chalk.bold(message));
28
22
  console.log();
29
23
  const defaultView = getDefaultView(content, language);
30
24
  let count = 0;
31
25
  defaultView.forEach(entry => {
32
26
  count++;
33
- const table = new cli_table3_1.default({
27
+ const table = new Table({
34
28
  chars: {
35
29
  top: '',
36
30
  'top-mid': '',
@@ -55,7 +49,7 @@ function formatScanOutput(scanResults) {
55
49
  });
56
50
  let learnRow = [];
57
51
  let adviceRow = [];
58
- const headerColour = chalk_1.default.hex(entry.colour);
52
+ const headerColour = chalk.hex(entry.colour);
59
53
  const headerRow = [
60
54
  headerColour(`CONTRAST-${count.toString().padStart(3, '0')}`),
61
55
  headerColour(`-`),
@@ -65,25 +59,25 @@ function formatScanOutput(scanResults) {
65
59
  ];
66
60
  const codePath = entry.codePath?.replace(/^@/, '');
67
61
  const codeRow = [
68
- chalk_1.default.hex('#F6F5F5').bold(`Code`),
69
- chalk_1.default.hex('#F6F5F5').bold(`:`),
70
- chalk_1.default.hex('#F6F5F5').bold(`${codePath}`)
62
+ chalk.hex('#F6F5F5').bold(`Code`),
63
+ chalk.hex('#F6F5F5').bold(`:`),
64
+ chalk.hex('#F6F5F5').bold(`${codePath}`)
71
65
  ];
72
- const issueRow = [chalk_1.default.bold(`Issue`), chalk_1.default.bold(`:`), `${entry.issue}`];
66
+ const issueRow = [chalk.bold(`Issue`), chalk.bold(`:`), `${entry.issue}`];
73
67
  table.push(headerRow, codeRow, issueRow);
74
68
  if (entry?.advice) {
75
69
  adviceRow = [
76
- chalk_1.default.bold('Advice'),
77
- chalk_1.default.bold(`:`),
70
+ chalk.bold('Advice'),
71
+ chalk.bold(`:`),
78
72
  stripTags(entry.advice)
79
73
  ];
80
74
  table.push(adviceRow);
81
75
  }
82
76
  if (entry?.learn && entry?.learn.length > 0) {
83
77
  learnRow = [
84
- chalk_1.default.bold('Learn'),
85
- chalk_1.default.bold(`:`),
86
- chalk_1.default.hex('#97f7f7').bold.underline(entry.learn[0])
78
+ chalk.bold('Learn'),
79
+ chalk.bold(`:`),
80
+ chalk.hex('#97f7f7').bold.underline(entry.learn[0])
87
81
  ];
88
82
  table.push(learnRow);
89
83
  }
@@ -91,27 +85,25 @@ function formatScanOutput(scanResults) {
91
85
  console.log();
92
86
  });
93
87
  }
94
- (0, commonReportingFunctions_1.printVulnInfo)(severityCounts);
88
+ printVulnInfo(severityCounts);
95
89
  return severityCounts;
96
90
  }
97
- exports.formatScanOutput = formatScanOutput;
98
- function formatLinks(objName, entry) {
99
- const line = chalk_1.default.bold(objName + ' : ');
91
+ export function formatLinks(objName, entry) {
92
+ const line = chalk.bold(objName + ' : ');
100
93
  if (entry.length === 1) {
101
- console.log(line + chalk_1.default.hex('#97DCF7').bold.underline(entry[0]));
94
+ console.log(line + chalk.hex('#97DCF7').bold.underline(entry[0]));
102
95
  }
103
96
  else {
104
97
  console.log(line);
105
98
  entry.forEach(link => {
106
- console.log(chalk_1.default.hex('#97DCF7').bold.underline(link));
99
+ console.log(chalk.hex('#97DCF7').bold.underline(link));
107
100
  });
108
101
  }
109
102
  }
110
- exports.formatLinks = formatLinks;
111
- function getDefaultView(content, language) {
103
+ export function getDefaultView(content, language) {
112
104
  const groupTypeResults = [];
113
105
  content.forEach(resultEntry => {
114
- const groupResultsObj = new groupedResultsModel_1.GroupedResultsModel(resultEntry.ruleId);
106
+ const groupResultsObj = new GroupedResultsModel(resultEntry.ruleId);
115
107
  groupResultsObj.severity = resultEntry.severity;
116
108
  groupResultsObj.ruleId = resultEntry.ruleId;
117
109
  groupResultsObj.issue = stripTags(resultEntry.issue);
@@ -125,20 +117,18 @@ function getDefaultView(content, language) {
125
117
  groupTypeResults.push(groupResultsObj);
126
118
  assignBySeverity(resultEntry, groupResultsObj);
127
119
  });
128
- return (0, lodash_1.sortBy)(groupTypeResults, ['priority']);
120
+ return sortBy(groupTypeResults, ['priority']);
129
121
  }
130
- exports.getDefaultView = getDefaultView;
131
- function doAddSourceLineNumber(resultEntry, language) {
132
- return language !== constants_1.supportedLanguagesScan.JAVASCRIPT
122
+ export function doAddSourceLineNumber(resultEntry, language) {
123
+ //only add source line num if not JS
124
+ return language !== supportedLanguagesScan.JAVASCRIPT
133
125
  ? ':' + getSourceLineNumber(resultEntry)
134
126
  : '';
135
127
  }
136
- exports.doAddSourceLineNumber = doAddSourceLineNumber;
137
- function editVulName(message) {
128
+ export function editVulName(message) {
138
129
  return message.substring(message.indexOf(' in '));
139
130
  }
140
- exports.editVulName = editVulName;
141
- function getLocationsSyncInfo(resultEntry) {
131
+ export function getLocationsSyncInfo(resultEntry) {
142
132
  const locationsMessage = resultEntry.locations[0]?.physicalLocation?.artifactLocation?.uri || '';
143
133
  const locationsLineNumber = resultEntry.locations[0]?.physicalLocation?.region?.startLine || '';
144
134
  if (!locationsLineNumber) {
@@ -146,50 +136,46 @@ function getLocationsSyncInfo(resultEntry) {
146
136
  }
147
137
  return '@' + locationsMessage + ':' + locationsLineNumber;
148
138
  }
149
- exports.getLocationsSyncInfo = getLocationsSyncInfo;
150
- function getSourceLineNumber(resultEntry) {
139
+ export function getSourceLineNumber(resultEntry) {
151
140
  const locationsLineNumber = resultEntry.locations[0]?.physicalLocation?.region?.startLine || '';
152
141
  const codeFlowLineNumber = getCodeFlowInfo(resultEntry);
153
142
  return codeFlowLineNumber ? codeFlowLineNumber : locationsLineNumber;
154
143
  }
155
- exports.getSourceLineNumber = getSourceLineNumber;
156
- function getCodeFlowInfo(resultEntry) {
144
+ export function getCodeFlowInfo(resultEntry) {
157
145
  let result;
158
146
  resultEntry.codeFlows[0]?.threadFlows.forEach((i) => {
159
147
  return (result = i.locations.find((locations) => locations.importance === 'essential'));
160
148
  });
161
149
  return result?.location?.physicalLocation?.region?.startLine;
162
150
  }
163
- exports.getCodeFlowInfo = getCodeFlowInfo;
164
- function stripTags(oldString) {
151
+ export function stripTags(oldString) {
165
152
  return oldString.replace(/\n/g, ' ').replace(/\s+/g, ' ').trim();
166
153
  }
167
- exports.stripTags = stripTags;
168
- function assignBySeverity(entry, assignedObj) {
154
+ export function assignBySeverity(entry, assignedObj) {
169
155
  if (entry.severity.toUpperCase() === 'CRITICAL') {
170
156
  assignedObj.priority = 1;
171
- assignedObj.colour = constants_1.CRITICAL_COLOUR;
157
+ assignedObj.colour = CRITICAL_COLOUR;
172
158
  return assignedObj;
173
159
  }
174
160
  else if (entry.severity.toUpperCase() === 'HIGH') {
175
161
  assignedObj.priority = 2;
176
- assignedObj.colour = constants_1.HIGH_COLOUR;
162
+ assignedObj.colour = HIGH_COLOUR;
177
163
  return assignedObj;
178
164
  }
179
165
  else if (entry.severity.toUpperCase() === 'MEDIUM') {
180
166
  assignedObj.priority = 3;
181
- assignedObj.colour = constants_1.MEDIUM_COLOUR;
167
+ assignedObj.colour = MEDIUM_COLOUR;
182
168
  return assignedObj;
183
169
  }
184
170
  else if (entry.severity.toUpperCase() === 'LOW') {
185
171
  assignedObj.priority = 4;
186
- assignedObj.colour = constants_1.LOW_COLOUR;
172
+ assignedObj.colour = LOW_COLOUR;
187
173
  return assignedObj;
188
174
  }
189
175
  else if (entry.severity.toUpperCase() === 'NOTE') {
190
176
  assignedObj.priority = 5;
191
- assignedObj.colour = constants_1.NOTE_COLOUR;
177
+ assignedObj.colour = NOTE_COLOUR;
192
178
  return assignedObj;
193
179
  }
194
180
  }
195
- exports.assignBySeverity = assignBySeverity;
181
+ //# sourceMappingURL=formatScanOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatScanOutput.js","sourceRoot":"","sources":["../../src/scan/formatScanOutput.ts"],"names":[],"mappings":"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"}
package/dist/scan/help.js CHANGED
@@ -1,9 +1,8 @@
1
- "use strict";
2
- const commandLineUsage = require('command-line-usage');
3
- const i18n = require('i18n');
4
- const constants = require('../cliConstants');
5
- const { commonHelpLinks } = require('../common/commonHelp');
6
- const scanUsageGuide = commandLineUsage([
1
+ import i18n from 'i18n';
2
+ import { commandLineDefinitions } from '../cliConstants.js';
3
+ import { commonHelpLinks } from '../common/commonHelp.js';
4
+ import commandLineUsage from 'command-line-usage';
5
+ export const scanUsageGuide = commandLineUsage([
7
6
  {
8
7
  header: i18n.__('constantsHeader')
9
8
  },
@@ -22,7 +21,7 @@ const scanUsageGuide = commandLineUsage([
22
21
  },
23
22
  {
24
23
  header: i18n.__('constantsScanOptions'),
25
- optionList: constants.commandLineDefinitions.scanOptionDefinitions,
24
+ optionList: commandLineDefinitions.scanOptionDefinitions,
26
25
  hide: [
27
26
  'project-id',
28
27
  'organization-id',
@@ -43,12 +42,10 @@ const scanUsageGuide = commandLineUsage([
43
42
  },
44
43
  {
45
44
  header: i18n.__('constantsAdvancedOptions'),
46
- optionList: constants.commandLineDefinitions.scanAdvancedOptionDefinitionsForHelp
45
+ optionList: commandLineDefinitions.scanAdvancedOptionDefinitionsForHelp
47
46
  },
48
47
  commonHelpLinks()[0],
49
48
  commonHelpLinks()[1],
50
49
  commonHelpLinks()[2]
51
50
  ]);
52
- module.exports = {
53
- scanUsageGuide
54
- };
51
+ //# sourceMappingURL=help.js.map