@contrast/contrast 2.0.2-beta.3 → 2.0.2-beta.5

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 (358) hide show
  1. package/README.md +51 -1
  2. package/dist/audit/catalogueApplication/catalogueApplication.js +6 -10
  3. package/dist/audit/catalogueApplication/catalogueApplication.js.map +1 -0
  4. package/dist/audit/languageAnalysisEngine/commonApi.js +3 -6
  5. package/dist/audit/languageAnalysisEngine/commonApi.js.map +1 -0
  6. package/dist/audit/languageAnalysisEngine/filterProjectPath.js +2 -1
  7. package/dist/audit/languageAnalysisEngine/filterProjectPath.js.map +1 -0
  8. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js +9 -12
  9. package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js.map +1 -0
  10. package/dist/audit/languageAnalysisEngine/sendSnapshot.js +15 -19
  11. package/dist/audit/languageAnalysisEngine/sendSnapshot.js.map +1 -0
  12. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +9 -9
  13. package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js.map +1 -0
  14. package/dist/audit/report/commonReportingFunctions.js +33 -48
  15. package/dist/audit/report/commonReportingFunctions.js.map +1 -0
  16. package/dist/audit/report/models/reportGuidanceModel.js +2 -5
  17. package/dist/audit/report/models/reportGuidanceModel.js.map +1 -0
  18. package/dist/audit/report/models/reportLibraryModel.js +3 -7
  19. package/dist/audit/report/models/reportLibraryModel.js.map +1 -0
  20. package/dist/audit/report/models/reportListModel.js +4 -9
  21. package/dist/audit/report/models/reportListModel.js.map +1 -0
  22. package/dist/audit/report/models/reportOutputModel.js +4 -9
  23. package/dist/audit/report/models/reportOutputModel.js.map +1 -0
  24. package/dist/audit/report/models/reportSeverityModel.js +2 -5
  25. package/dist/audit/report/models/reportSeverityModel.js.map +1 -0
  26. package/dist/audit/report/models/severityCountModel.js +3 -5
  27. package/dist/audit/report/models/severityCountModel.js.map +1 -0
  28. package/dist/audit/report/reportingFeature.js +27 -55
  29. package/dist/audit/report/reportingFeature.js.map +1 -0
  30. package/dist/audit/report/utils/reportUtils.js +28 -59
  31. package/dist/audit/report/utils/reportUtils.js.map +1 -0
  32. package/dist/audit/save.js +14 -16
  33. package/dist/audit/save.js.map +1 -0
  34. package/dist/cliConstants.js +17 -18
  35. package/dist/cliConstants.js.map +1 -0
  36. package/dist/commands/audit/auditConfig.js +7 -10
  37. package/dist/commands/audit/auditConfig.js.map +1 -0
  38. package/dist/commands/audit/auditController.js +9 -13
  39. package/dist/commands/audit/auditController.js.map +1 -0
  40. package/dist/commands/audit/help.js +23 -25
  41. package/dist/commands/audit/help.js.map +1 -0
  42. package/dist/commands/audit/processAudit.js +9 -12
  43. package/dist/commands/audit/processAudit.js.map +1 -0
  44. package/dist/commands/audit/saveFile.js +3 -6
  45. package/dist/commands/audit/saveFile.js.map +1 -0
  46. package/dist/commands/auth/auth.js +25 -24
  47. package/dist/commands/auth/auth.js.map +1 -0
  48. package/dist/commands/config/config.js +12 -13
  49. package/dist/commands/config/config.js.map +1 -0
  50. package/dist/commands/github/fingerprintConfig.js +8 -11
  51. package/dist/commands/github/fingerprintConfig.js.map +1 -0
  52. package/dist/commands/github/processFingerprint.js +12 -15
  53. package/dist/commands/github/processFingerprint.js.map +1 -0
  54. package/dist/commands/github/projectGroup.js +25 -32
  55. package/dist/commands/github/projectGroup.js.map +1 -0
  56. package/dist/commands/github/repoServices.js +11 -21
  57. package/dist/commands/github/repoServices.js.map +1 -0
  58. package/dist/commands/learn/learn.js +3 -6
  59. package/dist/commands/learn/learn.js.map +1 -0
  60. package/dist/commands/learn/processLearn.js +3 -6
  61. package/dist/commands/learn/processLearn.js.map +1 -0
  62. package/dist/commands/scan/processScan.js +11 -14
  63. package/dist/commands/scan/processScan.js.map +1 -0
  64. package/dist/common/HTTPClient.js +123 -94
  65. package/dist/common/HTTPClient.js.map +1 -0
  66. package/dist/common/autoDetection.js +26 -33
  67. package/dist/common/autoDetection.js.map +1 -0
  68. package/dist/common/baseRequest.js +17 -18
  69. package/dist/common/baseRequest.js.map +1 -0
  70. package/dist/common/commonHelp.js +13 -13
  71. package/dist/common/commonHelp.js.map +1 -0
  72. package/dist/common/errorHandling.js +30 -39
  73. package/dist/common/errorHandling.js.map +1 -0
  74. package/dist/common/fail.js +6 -12
  75. package/dist/common/fail.js.map +1 -0
  76. package/dist/common/versionChecker.js +16 -19
  77. package/dist/common/versionChecker.js.map +1 -0
  78. package/dist/constants/constants.js +44 -65
  79. package/dist/constants/constants.js.map +1 -0
  80. package/dist/constants/lambda.js +8 -5
  81. package/dist/constants/lambda.js.map +1 -0
  82. package/dist/constants/locales.js +6 -9
  83. package/dist/constants/locales.js.map +1 -0
  84. package/dist/index.js +36 -39
  85. package/dist/index.js.map +1 -0
  86. package/dist/lambda/analytics.js +6 -9
  87. package/dist/lambda/analytics.js.map +1 -0
  88. package/dist/lambda/arn.js +6 -9
  89. package/dist/lambda/arn.js.map +1 -0
  90. package/dist/lambda/aws.js +29 -34
  91. package/dist/lambda/aws.js.map +1 -0
  92. package/dist/lambda/cliError.js +13 -41
  93. package/dist/lambda/cliError.js.map +1 -0
  94. package/dist/lambda/constants.js +3 -4
  95. package/dist/lambda/constants.js.map +1 -0
  96. package/dist/lambda/help.js +39 -44
  97. package/dist/lambda/help.js.map +1 -0
  98. package/dist/lambda/lambda.js +61 -65
  99. package/dist/lambda/lambda.js.map +1 -0
  100. package/dist/lambda/lambdaUtils.js +38 -32
  101. package/dist/lambda/lambdaUtils.js.map +1 -0
  102. package/dist/lambda/logUtils.js +21 -17
  103. package/dist/lambda/logUtils.js.map +1 -0
  104. package/dist/lambda/scanDetailCompletion.js +19 -25
  105. package/dist/lambda/scanDetailCompletion.js.map +1 -0
  106. package/dist/lambda/scanRequest.js +34 -41
  107. package/dist/lambda/scanRequest.js.map +1 -0
  108. package/dist/lambda/scanResults.js +8 -10
  109. package/dist/lambda/scanResults.js.map +1 -0
  110. package/dist/lambda/types.js +5 -7
  111. package/dist/lambda/types.js.map +1 -0
  112. package/dist/lambda/utils.js +33 -35
  113. package/dist/lambda/utils.js.map +1 -0
  114. package/dist/sbom/generateSbom.js +6 -10
  115. package/dist/sbom/generateSbom.js.map +1 -0
  116. package/dist/scaAnalysis/common/auditReport.js +8 -12
  117. package/dist/scaAnalysis/common/auditReport.js.map +1 -0
  118. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +26 -32
  119. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js.map +1 -0
  120. package/dist/scaAnalysis/common/formatMessage.js +8 -17
  121. package/dist/scaAnalysis/common/formatMessage.js.map +1 -0
  122. package/dist/scaAnalysis/common/models/ScaReportModel.js +4 -9
  123. package/dist/scaAnalysis/common/models/ScaReportModel.js.map +1 -0
  124. package/dist/scaAnalysis/common/scaParserForGoAndJava.js +10 -9
  125. package/dist/scaAnalysis/common/scaParserForGoAndJava.js.map +1 -0
  126. package/dist/scaAnalysis/common/scaServicesUpload.js +21 -22
  127. package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
  128. package/dist/scaAnalysis/common/treeUpload.js +7 -10
  129. package/dist/scaAnalysis/common/treeUpload.js.map +1 -0
  130. package/dist/scaAnalysis/common/utils/reportUtilsSca.js +21 -29
  131. package/dist/scaAnalysis/common/utils/reportUtilsSca.js.map +1 -0
  132. package/dist/scaAnalysis/dotnet/analysis.js +12 -18
  133. package/dist/scaAnalysis/dotnet/analysis.js.map +1 -0
  134. package/dist/scaAnalysis/dotnet/index.js +4 -7
  135. package/dist/scaAnalysis/dotnet/index.js.map +1 -0
  136. package/dist/scaAnalysis/go/goAnalysis.js +8 -11
  137. package/dist/scaAnalysis/go/goAnalysis.js.map +1 -0
  138. package/dist/scaAnalysis/go/goParseDeps.js +9 -7
  139. package/dist/scaAnalysis/go/goParseDeps.js.map +1 -0
  140. package/dist/scaAnalysis/go/goReadDepFile.js +10 -8
  141. package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
  142. package/dist/scaAnalysis/java/analysis.js +23 -20
  143. package/dist/scaAnalysis/java/analysis.js.map +1 -0
  144. package/dist/scaAnalysis/java/index.js +7 -10
  145. package/dist/scaAnalysis/java/index.js.map +1 -0
  146. package/dist/scaAnalysis/java/javaBuildDepsParser.js +43 -43
  147. package/dist/scaAnalysis/java/javaBuildDepsParser.js.map +1 -0
  148. package/dist/scaAnalysis/javascript/analysis.js +16 -20
  149. package/dist/scaAnalysis/javascript/analysis.js.map +1 -0
  150. package/dist/scaAnalysis/javascript/index.js +17 -19
  151. package/dist/scaAnalysis/javascript/index.js.map +1 -0
  152. package/dist/scaAnalysis/javascript/scaServiceParser.js +8 -15
  153. package/dist/scaAnalysis/javascript/scaServiceParser.js.map +1 -0
  154. package/dist/scaAnalysis/legacy/legacyFlow.js +13 -15
  155. package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
  156. package/dist/scaAnalysis/php/analysis.js +15 -16
  157. package/dist/scaAnalysis/php/analysis.js.map +1 -0
  158. package/dist/scaAnalysis/php/index.js +5 -8
  159. package/dist/scaAnalysis/php/index.js.map +1 -0
  160. package/dist/scaAnalysis/php/phpNewServicesMapper.js +9 -12
  161. package/dist/scaAnalysis/php/phpNewServicesMapper.js.map +1 -0
  162. package/dist/scaAnalysis/processServicesFlow.js +50 -25
  163. package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
  164. package/dist/scaAnalysis/python/analysis.js +16 -23
  165. package/dist/scaAnalysis/python/analysis.js.map +1 -0
  166. package/dist/scaAnalysis/python/index.js +4 -7
  167. package/dist/scaAnalysis/python/index.js.map +1 -0
  168. package/dist/scaAnalysis/repoMode/gradleParser.js +7 -13
  169. package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
  170. package/dist/scaAnalysis/repoMode/index.js +9 -12
  171. package/dist/scaAnalysis/repoMode/index.js.map +1 -0
  172. package/dist/scaAnalysis/repoMode/mavenParser.js +12 -12
  173. package/dist/scaAnalysis/repoMode/mavenParser.js.map +1 -0
  174. package/dist/scaAnalysis/ruby/analysis.js +32 -46
  175. package/dist/scaAnalysis/ruby/analysis.js.map +1 -0
  176. package/dist/scaAnalysis/ruby/index.js +5 -8
  177. package/dist/scaAnalysis/ruby/index.js.map +1 -0
  178. package/dist/scaAnalysis/scaAnalysis.js +49 -51
  179. package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
  180. package/dist/scan/fileUtils.js +27 -36
  181. package/dist/scan/fileUtils.js.map +1 -0
  182. package/dist/scan/formatScanOutput.js +47 -61
  183. package/dist/scan/formatScanOutput.js.map +1 -0
  184. package/dist/scan/help.js +8 -11
  185. package/dist/scan/help.js.map +1 -0
  186. package/dist/scan/models/groupedResultsModel.js +2 -5
  187. package/dist/scan/models/groupedResultsModel.js.map +1 -0
  188. package/dist/scan/models/resultContentModel.js +2 -2
  189. package/dist/scan/models/resultContentModel.js.map +1 -0
  190. package/dist/scan/models/scanResultsModel.js +2 -5
  191. package/dist/scan/models/scanResultsModel.js.map +1 -0
  192. package/dist/scan/populateProjectIdAndProjectName.js +9 -12
  193. package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
  194. package/dist/scan/saveResults.js +3 -6
  195. package/dist/scan/saveResults.js.map +1 -0
  196. package/dist/scan/scan.js +24 -31
  197. package/dist/scan/scan.js.map +1 -0
  198. package/dist/scan/scanConfig.js +14 -12
  199. package/dist/scan/scanConfig.js.map +1 -0
  200. package/dist/scan/scanController.js +17 -20
  201. package/dist/scan/scanController.js.map +1 -0
  202. package/dist/scan/scanResults.js +27 -34
  203. package/dist/scan/scanResults.js.map +1 -0
  204. package/dist/telemetry/telemetry.js +29 -59
  205. package/dist/telemetry/telemetry.js.map +1 -0
  206. package/dist/utils/capabilities.js +2 -1
  207. package/dist/utils/capabilities.js.map +1 -0
  208. package/dist/utils/commonApi.js +15 -24
  209. package/dist/utils/commonApi.js.map +1 -0
  210. package/dist/utils/filterProjectPath.js +2 -1
  211. package/dist/utils/filterProjectPath.js.map +1 -0
  212. package/dist/utils/generalAPI.js +11 -17
  213. package/dist/utils/generalAPI.js.map +1 -0
  214. package/dist/utils/getConfig.js +8 -13
  215. package/dist/utils/getConfig.js.map +1 -0
  216. package/dist/utils/oraWrapper.js +7 -14
  217. package/dist/utils/oraWrapper.js.map +1 -0
  218. package/dist/utils/paramsUtil/commandlineParams.js +2 -5
  219. package/dist/utils/paramsUtil/commandlineParams.js.map +1 -0
  220. package/dist/utils/paramsUtil/configStoreParams.js +9 -10
  221. package/dist/utils/paramsUtil/configStoreParams.js.map +1 -0
  222. package/dist/utils/paramsUtil/envVariableParams.js +2 -3
  223. package/dist/utils/paramsUtil/envVariableParams.js.map +1 -0
  224. package/dist/utils/paramsUtil/paramHandler.js +12 -13
  225. package/dist/utils/paramsUtil/paramHandler.js.map +1 -0
  226. package/dist/utils/parsedCLIOptions.js +4 -7
  227. package/dist/utils/parsedCLIOptions.js.map +1 -0
  228. package/dist/utils/requestUtils.js +7 -13
  229. package/dist/utils/requestUtils.js.map +1 -0
  230. package/dist/utils/saveFile.js +8 -11
  231. package/dist/utils/saveFile.js.map +1 -0
  232. package/dist/utils/validationCheck.js +5 -11
  233. package/dist/utils/validationCheck.js.map +1 -0
  234. package/package.json +33 -42
  235. package/.prettierignore +0 -1
  236. package/bin/contrast.js +0 -2
  237. package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
  238. package/dist/lambda/__mocks__/aws.js +0 -21
  239. package/dist/lambda/__mocks__/lambdaConfig.json +0 -42
  240. package/src/audit/catalogueApplication/catalogueApplication.js +0 -51
  241. package/src/audit/languageAnalysisEngine/commonApi.js +0 -20
  242. package/src/audit/languageAnalysisEngine/filterProjectPath.js +0 -21
  243. package/src/audit/languageAnalysisEngine/getProjectRootFilenames.js +0 -36
  244. package/src/audit/languageAnalysisEngine/sendSnapshot.js +0 -57
  245. package/src/audit/languageAnalysisEngine/util/requestUtils.js +0 -17
  246. package/src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +0 -63
  247. package/src/audit/report/commonReportingFunctions.js +0 -412
  248. package/src/audit/report/models/reportGuidanceModel.ts +0 -5
  249. package/src/audit/report/models/reportLibraryModel.ts +0 -30
  250. package/src/audit/report/models/reportListModel.ts +0 -49
  251. package/src/audit/report/models/reportOutputModel.ts +0 -29
  252. package/src/audit/report/models/reportSeverityModel.ts +0 -18
  253. package/src/audit/report/models/severityCountModel.ts +0 -22
  254. package/src/audit/report/reportingFeature.ts +0 -110
  255. package/src/audit/report/utils/reportUtils.ts +0 -165
  256. package/src/audit/save.js +0 -67
  257. package/src/cliConstants.js +0 -523
  258. package/src/commands/audit/auditConfig.js +0 -18
  259. package/src/commands/audit/auditController.js +0 -50
  260. package/src/commands/audit/help.js +0 -72
  261. package/src/commands/audit/processAudit.js +0 -34
  262. package/src/commands/audit/saveFile.js +0 -15
  263. package/src/commands/auth/auth.js +0 -146
  264. package/src/commands/config/config.js +0 -41
  265. package/src/commands/github/fingerprintConfig.js +0 -19
  266. package/src/commands/github/processFingerprint.js +0 -37
  267. package/src/commands/github/projectGroup.js +0 -298
  268. package/src/commands/github/repoServices.js +0 -122
  269. package/src/commands/learn/learn.js +0 -10
  270. package/src/commands/learn/processLearn.js +0 -13
  271. package/src/commands/scan/processScan.js +0 -42
  272. package/src/common/HTTPClient.js +0 -775
  273. package/src/common/autoDetection.js +0 -209
  274. package/src/common/baseRequest.ts +0 -83
  275. package/src/common/commonHelp.js +0 -53
  276. package/src/common/errorHandling.js +0 -157
  277. package/src/common/fail.js +0 -79
  278. package/src/common/versionChecker.js +0 -75
  279. package/src/constants/constants.js +0 -71
  280. package/src/constants/lambda.js +0 -85
  281. package/src/constants/locales.js +0 -365
  282. package/src/index.ts +0 -142
  283. package/src/lambda/__mocks__/aws.ts +0 -32
  284. package/src/lambda/__mocks__/lambdaConfig.json +0 -42
  285. package/src/lambda/analytics.ts +0 -9
  286. package/src/lambda/arn.ts +0 -33
  287. package/src/lambda/aws.ts +0 -248
  288. package/src/lambda/cliError.ts +0 -72
  289. package/src/lambda/constants.ts +0 -11
  290. package/src/lambda/help.ts +0 -92
  291. package/src/lambda/lambda.ts +0 -230
  292. package/src/lambda/lambdaUtils.ts +0 -111
  293. package/src/lambda/logUtils.ts +0 -64
  294. package/src/lambda/scanDetailCompletion.ts +0 -78
  295. package/src/lambda/scanRequest.ts +0 -169
  296. package/src/lambda/scanResults.ts +0 -29
  297. package/src/lambda/types.ts +0 -36
  298. package/src/lambda/utils.ts +0 -188
  299. package/src/sbom/generateSbom.ts +0 -45
  300. package/src/scaAnalysis/common/auditReport.js +0 -59
  301. package/src/scaAnalysis/common/commonReportingFunctionsSca.js +0 -276
  302. package/src/scaAnalysis/common/formatMessage.js +0 -67
  303. package/src/scaAnalysis/common/models/ScaReportModel.ts +0 -81
  304. package/src/scaAnalysis/common/scaParserForGoAndJava.js +0 -41
  305. package/src/scaAnalysis/common/scaServicesUpload.js +0 -159
  306. package/src/scaAnalysis/common/treeUpload.js +0 -51
  307. package/src/scaAnalysis/common/utils/reportUtilsSca.ts +0 -123
  308. package/src/scaAnalysis/dotnet/analysis.js +0 -72
  309. package/src/scaAnalysis/dotnet/index.js +0 -11
  310. package/src/scaAnalysis/go/goAnalysis.js +0 -26
  311. package/src/scaAnalysis/go/goParseDeps.js +0 -203
  312. package/src/scaAnalysis/go/goReadDepFile.js +0 -34
  313. package/src/scaAnalysis/java/analysis.js +0 -148
  314. package/src/scaAnalysis/java/index.js +0 -29
  315. package/src/scaAnalysis/java/javaBuildDepsParser.js +0 -439
  316. package/src/scaAnalysis/javascript/analysis.js +0 -111
  317. package/src/scaAnalysis/javascript/index.js +0 -104
  318. package/src/scaAnalysis/javascript/scaServiceParser.js +0 -151
  319. package/src/scaAnalysis/legacy/legacyFlow.js +0 -43
  320. package/src/scaAnalysis/php/analysis.js +0 -78
  321. package/src/scaAnalysis/php/index.js +0 -28
  322. package/src/scaAnalysis/php/phpNewServicesMapper.js +0 -77
  323. package/src/scaAnalysis/processServicesFlow.js +0 -126
  324. package/src/scaAnalysis/python/analysis.js +0 -93
  325. package/src/scaAnalysis/python/index.js +0 -16
  326. package/src/scaAnalysis/repoMode/gradleParser.js +0 -88
  327. package/src/scaAnalysis/repoMode/index.js +0 -21
  328. package/src/scaAnalysis/repoMode/mavenParser.js +0 -138
  329. package/src/scaAnalysis/ruby/analysis.js +0 -413
  330. package/src/scaAnalysis/ruby/index.js +0 -16
  331. package/src/scaAnalysis/scaAnalysis.js +0 -172
  332. package/src/scan/fileUtils.js +0 -218
  333. package/src/scan/formatScanOutput.ts +0 -225
  334. package/src/scan/help.js +0 -56
  335. package/src/scan/models/groupedResultsModel.ts +0 -20
  336. package/src/scan/models/resultContentModel.ts +0 -86
  337. package/src/scan/models/scanResultsModel.ts +0 -55
  338. package/src/scan/populateProjectIdAndProjectName.js +0 -73
  339. package/src/scan/saveResults.js +0 -14
  340. package/src/scan/scan.ts +0 -68
  341. package/src/scan/scanConfig.js +0 -58
  342. package/src/scan/scanController.js +0 -98
  343. package/src/scan/scanResults.js +0 -171
  344. package/src/telemetry/telemetry.ts +0 -154
  345. package/src/utils/capabilities.js +0 -12
  346. package/src/utils/commonApi.js +0 -103
  347. package/src/utils/filterProjectPath.js +0 -25
  348. package/src/utils/generalAPI.js +0 -52
  349. package/src/utils/getConfig.ts +0 -34
  350. package/src/utils/oraWrapper.js +0 -29
  351. package/src/utils/paramsUtil/commandlineParams.js +0 -12
  352. package/src/utils/paramsUtil/configStoreParams.js +0 -19
  353. package/src/utils/paramsUtil/envVariableParams.js +0 -10
  354. package/src/utils/paramsUtil/paramHandler.js +0 -38
  355. package/src/utils/parsedCLIOptions.js +0 -32
  356. package/src/utils/requestUtils.js +0 -29
  357. package/src/utils/saveFile.js +0 -20
  358. package/src/utils/validationCheck.js +0 -39
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Contrast CLI
2
2
 
3
- Use the ‘contrast’ command for fast and accurate security analysis of your applications, APIs, serverless functions, and libraries.
3
+ Use the ‘contrast’ command for fast and accurate security analysis of your applications, APIs,
4
+ serverless functions, and libraries.
4
5
 
5
6
  ## Supported
6
7
 
@@ -33,3 +34,52 @@ npm install --location=global @contrast/contrast@2
33
34
  ```
34
35
 
35
36
  Read more: https://docs.contrastsecurity.com/en/install-contrast-cli.html
37
+
38
+ ## Building the project
39
+
40
+ ```shell
41
+ yarn build
42
+ ```
43
+
44
+ This will run tsc and generate the ESM version of the project in the dist folder.
45
+ These are the files the integration tests under `test-integration` will run against locally
46
+
47
+ ```shell
48
+ yarn build-binary
49
+ ```
50
+
51
+ This will run esbuild to make the project into a bundled file for building into an executable
52
+
53
+ ```shell
54
+ yarn package-binary
55
+ ```
56
+
57
+ This will run pkg to build the bundle generated using `yarn build-binary` into an executable file
58
+ for Windows, Mac and Linux
59
+
60
+ ## Running the project
61
+
62
+ If you want to run the project (either via source or the dist files) you can run
63
+
64
+ `node --loader ts-node/esm <file> <command> <params>`
65
+
66
+ e.g `node --loader ts-node/esm src/index.js` or `node --loader ts-node/esm dist/index.js`
67
+
68
+ If you want to run the binary executable after creation the below can be used
69
+
70
+ Mac: `./binaries/contrast-macos <command> <params>`
71
+
72
+ ## Running the tests
73
+
74
+ Unit tests command `yarn test`
75
+
76
+ Integration tests Audit command `yarn test-int-audit`
77
+
78
+ Integration tests Scan command `yarn test-int-scan`
79
+
80
+ More commands can be found in the package.json
81
+
82
+ NOTE:
83
+
84
+ - Vitest by default runs via workers and these do not natively support changing directories in multiple threads
85
+ - The unit tests are fine to run with multiple threads but not the integration tests
@@ -1,12 +1,12 @@
1
- "use strict";
2
- const { getHttpClient, handleResponseErrors } = require('../../utils/commonApi');
3
- const catalogueApplication = async (config) => {
1
+ import { getHttpClient, handleResponseErrors } from '../../utils/commonApi.js';
2
+ export const catalogueApplication = async (config) => {
4
3
  const client = getHttpClient(config);
5
4
  let appId;
6
5
  await client
7
6
  .catalogueCommand(config)
8
7
  .then(res => {
9
8
  if (res.statusCode === 201) {
9
+ //displaySuccessMessage(config, res.body.application.app_id)
10
10
  appId = res.body.application.app_id;
11
11
  }
12
12
  else if (doesMessagesContainAppId(res)) {
@@ -21,7 +21,7 @@ const catalogueApplication = async (config) => {
21
21
  });
22
22
  return appId;
23
23
  };
24
- const doesMessagesContainAppId = res => {
24
+ export const doesMessagesContainAppId = res => {
25
25
  const regex = /(Application ID =)/;
26
26
  if (res.statusCode === 400 &&
27
27
  res.body.messages.filter(message => regex.exec(message))[0]) {
@@ -29,7 +29,7 @@ const doesMessagesContainAppId = res => {
29
29
  }
30
30
  return false;
31
31
  };
32
- const tryRetrieveAppIdFromMessages = messages => {
32
+ export const tryRetrieveAppIdFromMessages = messages => {
33
33
  let appId;
34
34
  messages.forEach(message => {
35
35
  if (message.includes('Application ID')) {
@@ -38,8 +38,4 @@ const tryRetrieveAppIdFromMessages = messages => {
38
38
  });
39
39
  return appId;
40
40
  };
41
- module.exports = {
42
- catalogueApplication,
43
- doesMessagesContainAppId,
44
- tryRetrieveAppIdFromMessages
45
- };
41
+ //# sourceMappingURL=catalogueApplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogueApplication.js","sourceRoot":"","sources":["../../../src/audit/catalogueApplication/catalogueApplication.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAC,MAAM,EAAC,EAAE;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,KAAK,CAAA;IACT,MAAM,MAAM;SACT,gBAAgB,CAAC,MAAM,CAAC;SACxB,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;YAC1B,4DAA4D;YAC5D,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA;SACpC;aAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE;YACxC,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SACxD;aAAM;YACL,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;SACvC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IACJ,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC,EAAE;IAC5C,MAAM,KAAK,GAAG,oBAAoB,CAAA;IAClC,IACE,GAAG,CAAC,UAAU,KAAK,GAAG;QACtB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3D;QACA,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAAC,EAAE;IACrD,IAAI,KAAK,CAAA;IACT,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACtC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;SAClD;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -1,6 +1,5 @@
1
- "use strict";
2
- const { getHttpClient } = require('../../utils/commonApi');
3
- const returnAppId = async (config) => {
1
+ import { getHttpClient } from '../../utils/commonApi.js';
2
+ export const returnAppId = async (config) => {
4
3
  const client = getHttpClient(config);
5
4
  let appId;
6
5
  await client.getAppId(config).then(res => {
@@ -13,6 +12,4 @@ const returnAppId = async (config) => {
13
12
  });
14
13
  return appId;
15
14
  };
16
- module.exports = {
17
- returnAppId: returnAppId
18
- };
15
+ //# sourceMappingURL=commonApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonApi.js","sourceRoot":"","sources":["../../../src/audit/languageAnalysisEngine/commonApi.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAC,MAAM,EAAC,EAAE;IACxC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,KAAK,CAAA;IAET,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACvC,IAAI,GAAG,CAAC,IAAI,EAAE;YACZ,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAClC,IAAI,GAAG,EAAE;gBACP,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;aAC9C;SACF;IACH,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  const path = require('path');
3
2
  function resolveFilePath(filepath) {
4
3
  if (filepath[0] === '~') {
@@ -18,3 +17,5 @@ module.exports = {
18
17
  returnProjectPath: returnProjectPath,
19
18
  resolveFilePath: resolveFilePath
20
19
  };
20
+ export {};
21
+ //# sourceMappingURL=filterProjectPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterProjectPath.js","sourceRoot":"","sources":["../../../src/audit/languageAnalysisEngine/filterProjectPath.js"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5B,SAAS,eAAe,CAAC,QAAQ;IAC/B,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KACtD;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,EAAE;QAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAA;KACvB;SAAM;QACL,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;KAChE;AACH,CAAC,CAAA;AAED,MAAM,CAAC,OAAO,GAAG;IACf,iBAAiB,EAAE,iBAAiB;IACpC,eAAe,EAAE,eAAe;CACjC,CAAA"}
@@ -1,19 +1,19 @@
1
- "use strict";
2
- const fs = require('fs');
3
- const path = require('path');
4
- const i18n = require('i18n');
5
- const getDirectoryFromPathGiven = file => {
1
+ import fs from 'fs';
2
+ import { resolve, dirname } from 'path';
3
+ import i18n from 'i18n';
4
+ export const getDirectoryFromPathGiven = file => {
6
5
  let projectStats = getProjectStats(file);
7
6
  if (projectStats.isFile()) {
8
- let newPath = path.resolve(file);
9
- return path.dirname(newPath);
7
+ let newPath = resolve(file);
8
+ return dirname(newPath);
10
9
  }
11
10
  if (projectStats.isDirectory()) {
12
11
  return file;
13
12
  }
14
13
  };
15
- const getProjectStats = file => {
14
+ export const getProjectStats = file => {
16
15
  try {
16
+ //might not need this
17
17
  if (file.endsWith('/')) {
18
18
  file = file.slice(0, -1);
19
19
  }
@@ -24,7 +24,4 @@ const getProjectStats = file => {
24
24
  `${err.message}`);
25
25
  }
26
26
  };
27
- module.exports = {
28
- getProjectStats,
29
- getDirectoryFromPathGiven: getDirectoryFromPathGiven
30
- };
27
+ //# sourceMappingURL=getProjectRootFilenames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProjectRootFilenames.js","sourceRoot":"","sources":["../../../src/audit/languageAnalysisEngine/getProjectRootFilenames.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACvC,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,EAAE;IAC9C,IAAI,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE;QACzB,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;KACxB;IAED,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;QAC9B,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE;IACpC,IAAI;QACF,qBAAqB;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;SACzB;QACD,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;KACzB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,EAAE,CAAC,4CAA4C,EAAE,IAAI,CAAC;YACzD,GAAG,GAAG,CAAC,OAAO,EAAE,CACnB,CAAA;KACF;AACH,CAAC,CAAA"}
@@ -1,13 +1,11 @@
1
- "use strict";
2
- const commonApi = require('../../utils/commonApi');
3
- const _ = require('lodash');
4
- const oraFunctions = require('../../utils/oraWrapper');
5
- const i18n = require('i18n');
6
- const oraWrapper = require('../../utils/oraWrapper');
7
- const requestUtils = require('../../utils/requestUtils');
8
- const { performance } = require('perf_hooks');
1
+ import { isNil } from 'lodash-es';
2
+ import i18n from 'i18n';
3
+ import { sleep } from '../../utils/requestUtils.js';
4
+ import { performance } from 'perf_hooks';
5
+ import { getHttpClient, getTimeout, handleTimeout } from '../../utils/commonApi.js';
6
+ import { failSpinner, stopSpinner } from '../../utils/oraWrapper.js';
9
7
  const pollSnapshotResults = async (config, snapshotId, client) => {
10
- await requestUtils.sleep(5000);
8
+ await sleep(5000);
11
9
  return client
12
10
  .getReportStatusById(config, snapshotId)
13
11
  .then(res => {
@@ -17,12 +15,12 @@ const pollSnapshotResults = async (config, snapshotId, client) => {
17
15
  console.log(err);
18
16
  });
19
17
  };
20
- const pollForSnapshotCompletion = async (config, snapshotId, reportSpinner) => {
21
- const client = commonApi.getHttpClient(config);
18
+ export const pollForSnapshotCompletion = async (config, snapshotId, reportSpinner) => {
19
+ const client = getHttpClient(config);
22
20
  const startTime = performance.now();
23
- const timeout = commonApi.getTimeout(config);
21
+ const timeout = getTimeout(config);
24
22
  let complete = false;
25
- if (!_.isNil(snapshotId)) {
23
+ if (!isNil(snapshotId)) {
26
24
  while (!complete) {
27
25
  let result = await pollSnapshotResults(config, snapshotId, client);
28
26
  if (result.statusCode === 200) {
@@ -33,18 +31,16 @@ const pollForSnapshotCompletion = async (config, snapshotId, reportSpinner) => {
33
31
  if (result.body.status === 'FAILED') {
34
32
  complete = true;
35
33
  if (config.debug) {
36
- oraFunctions.failSpinner(reportSpinner, i18n.__('auditNotCompleted'));
34
+ failSpinner(reportSpinner, i18n.__('auditNotCompleted'));
37
35
  }
38
36
  console.log(result.body.errorMessage);
39
- oraWrapper.stopSpinner(reportSpinner);
37
+ stopSpinner(reportSpinner);
40
38
  console.log('Contrast audit finished');
41
39
  process.exit(1);
42
40
  }
43
41
  }
44
- commonApi.handleTimeout(startTime, timeout, reportSpinner);
42
+ handleTimeout(startTime, timeout, reportSpinner);
45
43
  }
46
44
  }
47
45
  };
48
- module.exports = {
49
- pollForSnapshotCompletion
50
- };
46
+ //# sourceMappingURL=sendSnapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendSnapshot.js","sourceRoot":"","sources":["../../../src/audit/languageAnalysisEngine/sendSnapshot.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EACL,aAAa,EACb,UAAU,EACV,aAAa,EACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEpE,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;IAC/D,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,MAAM;SACV,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC;SACvC,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,MAAM,EACN,UAAU,EACV,aAAa,EACb,EAAE;IACF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAElC,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QACtB,OAAO,CAAC,QAAQ,EAAE;YAChB,IAAI,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;YAClE,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;oBACtC,QAAQ,GAAG,IAAI,CAAA;oBACf,OAAO,MAAM,CAAC,IAAI,CAAA;iBACnB;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;oBACnC,QAAQ,GAAG,IAAI,CAAA;oBACf,IAAI,MAAM,CAAC,KAAK,EAAE;wBAChB,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;qBACzD;oBACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBACrC,WAAW,CAAC,aAAa,CAAC,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;oBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;iBAChB;aACF;YAED,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;SACjD;KACF;AACH,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
- "use strict";
2
- const i18n = require('i18n');
3
- module.exports = exports = ({ language: { lockFilename }, node }, next) => {
4
- if (node.rawYarnLockFileContents == undefined || node.yarnVersion == 1) {
1
+ import i18n from 'i18n';
2
+ export default ({ language: { lockFilename }, node }, next) => {
3
+ // If we never read the lock file or its an earlier version then pass priority
4
+ if (node.rawYarnLockFileContents === undefined || node.yarnVersion === 1) {
5
5
  next();
6
6
  }
7
7
  else {
@@ -26,20 +26,20 @@ module.exports = exports = ({ language: { lockFilename }, node }, next) => {
26
26
  next();
27
27
  }
28
28
  };
29
- function formatKey(keyNames) {
29
+ export function formatKey(keyNames) {
30
30
  let name = '';
31
31
  let formattedNames = [];
32
32
  keyNames.forEach(dummyString => {
33
33
  let nameArr = dummyString.split('@');
34
34
  if (nameArr.length > 1) {
35
- if (nameArr.length == 2) {
35
+ if (nameArr.length === 2) {
36
36
  name = nameArr[0];
37
37
  }
38
- if (nameArr.length == 3) {
38
+ if (nameArr.length === 3) {
39
39
  name = '@' + nameArr[1];
40
40
  }
41
41
  let version = dummyString.split(':').pop('');
42
- if (version.length == 1 && version != '*') {
42
+ if (version.length === 1 && version !== '*') {
43
43
  version = version + '.0';
44
44
  }
45
45
  let reformattedKey = name.trim() + '@' + version;
@@ -48,4 +48,4 @@ function formatKey(keyNames) {
48
48
  });
49
49
  return formattedNames;
50
50
  }
51
- exports.formatKey = formatKey;
51
+ //# sourceMappingURL=parseYarn2LockFileContents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseYarn2LockFileContents.js","sourceRoot":"","sources":["../../../src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;IAC5D,8EAA8E;IAC9E,IAAI,IAAI,CAAC,uBAAuB,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;QACxE,IAAI,EAAE,CAAA;KACP;SAAM;QACL,IAAI;YACF,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;YACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAA;YAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAA;YAC7C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;YAErC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpE,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;gBAEvC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;gBACxC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CACF,IAAI,KAAK,CACP,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC,YAAY,CAAC;gBAClD,GAAG,GAAG,CAAC,OAAO,EAAE,CACnB,CACF,CAAA;YAED,OAAM;SACP;QAED,IAAI,EAAE,CAAA;KACP;AACH,CAAC,CAAA;AAED,MAAM,UAAU,SAAS,CAAC,QAAQ;IAChC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,cAAc,GAAG,EAAE,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAC7B,IAAI,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;aAClB;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;aACxB;YAED,IAAI,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,GAAG,EAAE;gBAC3C,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;aACzB;YACD,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,OAAO,CAAA;YAEhD,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;SACpC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -1,27 +1,26 @@
1
- "use strict";
2
- const commonApi = require('../../utils/commonApi');
3
- const { ReportCompositeKey, ReportList, ReportModelStructure } = require('./models/reportListModel');
4
- const { orderBy } = require('lodash');
5
- const chalk = require('chalk');
6
- const { countVulnerableLibrariesBySeverity, orderByHighestPriority, findHighestSeverityCVE, findNameAndVersion, severityCountAllCVEs, findCVESeverity } = require('./utils/reportUtils');
7
- const { SeverityCountModel } = require('./models/severityCountModel');
8
- const { ReportOutputBodyModel, ReportOutputHeaderModel, ReportOutputModel } = require('./models/reportOutputModel');
9
- const { CE_URL, CRITICAL_COLOUR, HIGH_COLOUR, LOW_COLOUR, MEDIUM_COLOUR, NOTE_COLOUR } = require('../../constants/constants');
10
- const Table = require('cli-table3');
11
- const { ReportGuidanceModel } = require('./models/reportGuidanceModel');
12
- const i18n = require('i18n');
13
- const createSummaryMessageTop = (numberOfVulnerableLibraries, numberOfCves) => {
1
+ import { getHttpClient, handleResponseErrors } from '../../utils/commonApi.js';
2
+ import { ReportCompositeKey, ReportList, ReportModelStructure } from './models/reportListModel.js';
3
+ import { countVulnerableLibrariesBySeverity, findCVESeverity, findHighestSeverityCVE, findNameAndVersion, orderByHighestPriority, severityCountAllCVEs } from './utils/reportUtils.js';
4
+ import { SeverityCountModel } from './models/severityCountModel.js';
5
+ import { orderBy } from 'lodash-es';
6
+ import { ReportOutputBodyModel, ReportOutputHeaderModel, ReportOutputModel } from './models/reportOutputModel.js';
7
+ import { CE_URL, CRITICAL_COLOUR, HIGH_COLOUR, LOW_COLOUR, MEDIUM_COLOUR, NOTE_COLOUR } from '../../constants/constants.js';
8
+ import chalk from 'chalk';
9
+ import Table from 'cli-table3';
10
+ import { ReportGuidanceModel } from './models/reportGuidanceModel.js';
11
+ import i18n from 'i18n';
12
+ export const createSummaryMessageTop = (numberOfVulnerableLibraries, numberOfCves) => {
14
13
  numberOfVulnerableLibraries === 1
15
14
  ? console.log(`Found 1 vulnerable library containing ${numberOfCves} CVE`)
16
15
  : console.log(`Found ${numberOfVulnerableLibraries} vulnerable libraries containing ${numberOfCves} CVEs`);
17
16
  };
18
- const createSummaryMessageBottom = numberOfVulnerableLibraries => {
17
+ export const createSummaryMessageBottom = numberOfVulnerableLibraries => {
19
18
  numberOfVulnerableLibraries === 1
20
19
  ? console.log(`Found 1 vulnerability`)
21
20
  : console.log(`Found ${numberOfVulnerableLibraries} vulnerabilities`);
22
21
  };
23
- const getReport = async (config, reportId) => {
24
- const client = commonApi.getHttpClient(config);
22
+ export const getReport = async (config, reportId) => {
23
+ const client = getHttpClient(config);
25
24
  return client
26
25
  .getReportById(config, reportId)
27
26
  .then(res => {
@@ -30,14 +29,14 @@ const getReport = async (config, reportId) => {
30
29
  }
31
30
  else {
32
31
  console.log(JSON.stringify(res.statusCode));
33
- commonApi.handleResponseErrors(res, 'report');
32
+ handleResponseErrors(res, 'report');
34
33
  }
35
34
  })
36
35
  .catch(err => {
37
36
  console.log(err);
38
37
  });
39
38
  };
40
- const printVulnerabilityResponse = (config, vulnerableLibraries, numberOfVulnerableLibraries, numberOfCves, guidance) => {
39
+ export const printVulnerabilityResponse = (config, vulnerableLibraries, numberOfVulnerableLibraries, numberOfCves, guidance) => {
41
40
  let hasSomeVulnerabilitiesReported = false;
42
41
  printFormattedOutput(config, vulnerableLibraries, numberOfVulnerableLibraries, numberOfCves, guidance);
43
42
  if (Object.keys(vulnerableLibraries).length > 0) {
@@ -45,7 +44,7 @@ const printVulnerabilityResponse = (config, vulnerableLibraries, numberOfVulnera
45
44
  }
46
45
  return hasSomeVulnerabilitiesReported;
47
46
  };
48
- const printFormattedOutput = (config, libraries, numberOfVulnerableLibraries, numberOfCves, guidance) => {
47
+ export const printFormattedOutput = (config, libraries, numberOfVulnerableLibraries, numberOfCves, guidance) => {
49
48
  createSummaryMessageTop(numberOfVulnerableLibraries, numberOfCves);
50
49
  console.log();
51
50
  const report = new ReportList();
@@ -84,7 +83,7 @@ const printFormattedOutput = (config, libraries, numberOfVulnerableLibraries, nu
84
83
  console.log(`${config.host}/Contrast/static/ng/index.html#/${config.organizationId}/applications/${config.applicationId}/libs/dependency-tree`);
85
84
  }
86
85
  };
87
- function getReportTable() {
86
+ export function getReportTable() {
88
87
  return new Table({
89
88
  chars: {
90
89
  top: '',
@@ -109,7 +108,7 @@ function getReportTable() {
109
108
  colWidths: [12, 1, 100]
110
109
  });
111
110
  }
112
- function buildHeader(highestSeverity, contrastHeaderNum, libraryName, version, numOfCVEs) {
111
+ export function buildHeader(highestSeverity, contrastHeaderNum, libraryName, version, numOfCVEs) {
113
112
  const vulnerabilityPluralised = numOfCVEs > 1 ? 'vulnerabilities' : 'vulnerability';
114
113
  const formattedHeaderNum = buildFormattedHeaderNum(contrastHeaderNum);
115
114
  const headerColour = chalk.hex(highestSeverity.colour);
@@ -119,9 +118,11 @@ function buildHeader(highestSeverity, contrastHeaderNum, libraryName, version, n
119
118
  const introducesMessage = `introduces ${numOfCVEs} ${vulnerabilityPluralised}`;
120
119
  return new ReportOutputHeaderModel(vulnMessage, introducesMessage);
121
120
  }
122
- function buildBody(cveArray, advice) {
121
+ export function buildBody(cveArray, advice) {
123
122
  const orderedCvesWithSeverityAssigned = orderByHighestPriority(cveArray.map(cve => findCVESeverity(cve)));
124
123
  const issueMessage = getIssueRow(orderedCvesWithSeverityAssigned);
124
+ //todo different advice based on remediationGuidance being available or now
125
+ // console.log(advice)
125
126
  const minOrMax = advice.minimum ? advice.minimum : advice.maximum;
126
127
  const displayAdvice = minOrMax
127
128
  ? `Change to version ${chalk.bold(minOrMax)}`
@@ -129,11 +130,11 @@ function buildBody(cveArray, advice) {
129
130
  const adviceMessage = [chalk.bold('Advice'), ':', displayAdvice];
130
131
  return new ReportOutputBodyModel(issueMessage, adviceMessage);
131
132
  }
132
- function getIssueRow(cveArray) {
133
+ export function getIssueRow(cveArray) {
133
134
  const cveMessagesList = getIssueCveMsgList(cveArray);
134
135
  return [chalk.bold('Issue'), ':', `${cveMessagesList.join(', ')}`];
135
136
  }
136
- function gatherRemediationAdvice(guidance, libraryName, libraryVersion) {
137
+ export function gatherRemediationAdvice(guidance, libraryName, libraryVersion) {
137
138
  const guidanceModel = new ReportGuidanceModel();
138
139
  const data = guidance[libraryName + '@' + libraryVersion];
139
140
  if (data) {
@@ -142,10 +143,10 @@ function gatherRemediationAdvice(guidance, libraryName, libraryVersion) {
142
143
  }
143
144
  return guidanceModel;
144
145
  }
145
- function buildFormattedHeaderNum(contrastHeaderNum) {
146
+ export function buildFormattedHeaderNum(contrastHeaderNum) {
146
147
  return `CONTRAST-${contrastHeaderNum.toString().padStart(3, '0')}`;
147
148
  }
148
- const buildFooter = reportModelStructure => {
149
+ export const buildFooter = reportModelStructure => {
149
150
  const { critical, high, medium, low, note } = countVulnerableLibrariesBySeverity(reportModelStructure);
150
151
  const criticalMessage = chalk
151
152
  .hex(CRITICAL_COLOUR)
@@ -162,7 +163,7 @@ const buildFooter = reportModelStructure => {
162
163
  noteMessage
163
164
  };
164
165
  };
165
- const getIssueCveMsgList = results => {
166
+ export const getIssueCveMsgList = results => {
166
167
  const cveMessages = [];
167
168
  results.forEach(reportSeverityModel => {
168
169
  const { colour, severity, name } = reportSeverityModel;
@@ -174,7 +175,7 @@ const getIssueCveMsgList = results => {
174
175
  });
175
176
  return cveMessages;
176
177
  };
177
- const getSeverityCounts = results => {
178
+ export const getSeverityCounts = results => {
178
179
  const acc = {
179
180
  critical: 0,
180
181
  high: 0,
@@ -192,20 +193,20 @@ const getSeverityCounts = results => {
192
193
  }
193
194
  return acc;
194
195
  };
195
- const printNoVulnFoundMsg = () => {
196
+ export const printNoVulnFoundMsg = () => {
196
197
  console.log(i18n.__('scanNoVulnerabilitiesFound'));
197
198
  console.log(i18n.__('scanNoVulnerabilitiesFoundSecureCode'));
198
199
  console.log(i18n.__('scanNoVulnerabilitiesFoundGoodWork'));
199
200
  console.log(chalk.bold(`Found 0 vulnerabilities`));
200
201
  console.log(i18n.__('foundDetailedVulnerabilities', String(0), String(0), String(0), String(0), String(0)));
201
202
  };
202
- const printVulnInfo = projectOverview => {
203
+ export const printVulnInfo = projectOverview => {
203
204
  const totalVulnerabilities = projectOverview.total;
204
205
  createSummaryMessageBottom(totalVulnerabilities);
205
206
  const formattedValues = severityFormatted(projectOverview);
206
207
  console.log(i18n.__('foundDetailedVulnerabilities', String(formattedValues.criticalFormatted), String(formattedValues.highFormatted), String(formattedValues.mediumFormatted), String(formattedValues.lowFormatted), String(formattedValues.noteFormatted)));
207
208
  };
208
- const severityFormatted = projectOverview => {
209
+ export const severityFormatted = projectOverview => {
209
210
  const criticalFormatted = chalk
210
211
  .hex(CRITICAL_COLOUR)
211
212
  .bold(`${projectOverview.critical} Critical`);
@@ -227,20 +228,4 @@ const severityFormatted = projectOverview => {
227
228
  noteFormatted
228
229
  };
229
230
  };
230
- module.exports = {
231
- createSummaryMessageTop,
232
- getReport,
233
- createSummaryMessageBottom,
234
- printVulnerabilityResponse,
235
- printFormattedOutput,
236
- getReportTable,
237
- buildHeader,
238
- buildBody,
239
- getIssueRow,
240
- gatherRemediationAdvice,
241
- buildFormattedHeaderNum,
242
- getIssueCveMsgList,
243
- getSeverityCounts,
244
- printNoVulnFoundMsg,
245
- printVulnInfo
246
- };
231
+ //# sourceMappingURL=commonReportingFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonReportingFunctions.js","sourceRoot":"","sources":["../../../src/audit/report/commonReportingFunctions.js"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReportGuidanceModel = void 0;
4
- class ReportGuidanceModel {
1
+ export class ReportGuidanceModel {
5
2
  }
6
- exports.ReportGuidanceModel = ReportGuidanceModel;
3
+ //# sourceMappingURL=reportGuidanceModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportGuidanceModel.js","sourceRoot":"","sources":["../../../../src/audit/report/models/reportGuidanceModel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB;CAI/B"}
@@ -1,14 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReportCVEModel = exports.ReportLibraryModel = void 0;
4
- class ReportLibraryModel {
1
+ export class ReportLibraryModel {
5
2
  constructor(name, cveArray) {
6
3
  this.name = name;
7
4
  this.cveArray = cveArray;
8
5
  }
9
6
  }
10
- exports.ReportLibraryModel = ReportLibraryModel;
11
- class ReportCVEModel {
7
+ export class ReportCVEModel {
12
8
  constructor(name, description, severityCode, cvss3SeverityCode) {
13
9
  this.name = name;
14
10
  this.description = description;
@@ -16,4 +12,4 @@ class ReportCVEModel {
16
12
  this.cvss3SeverityCode = cvss3SeverityCode;
17
13
  }
18
14
  }
19
- exports.ReportCVEModel = ReportCVEModel;
15
+ //# sourceMappingURL=reportLibraryModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportLibraryModel.js","sourceRoot":"","sources":["../../../../src/audit/report/models/reportLibraryModel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAkB;IAI7B,YAAY,IAAY,EAAE,QAA0B;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IAQzB,YACE,IAAY,EACZ,WAAmB,EACnB,YAAoB,EACpB,iBAAyB;QAEzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;CACF"}
@@ -1,21 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReportCompositeKey = exports.ReportModelStructure = exports.ReportList = void 0;
4
- class ReportList {
1
+ export class ReportList {
5
2
  constructor() {
6
3
  this.reportOutputList = [];
7
4
  }
8
5
  }
9
- exports.ReportList = ReportList;
10
- class ReportModelStructure {
6
+ export class ReportModelStructure {
11
7
  constructor(compositeKey, cveArray, remediationAdvice) {
12
8
  this.compositeKey = compositeKey;
13
9
  this.cveArray = cveArray;
14
10
  this.remediationAdvice = remediationAdvice;
15
11
  }
16
12
  }
17
- exports.ReportModelStructure = ReportModelStructure;
18
- class ReportCompositeKey {
13
+ export class ReportCompositeKey {
19
14
  constructor(libraryName, libraryVersion, highestSeverity, numberOfSeverities) {
20
15
  this.libraryName = libraryName;
21
16
  this.libraryVersion = libraryVersion;
@@ -23,4 +18,4 @@ class ReportCompositeKey {
23
18
  this.numberOfSeverities = numberOfSeverities;
24
19
  }
25
20
  }
26
- exports.ReportCompositeKey = ReportCompositeKey;
21
+ //# sourceMappingURL=reportListModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportListModel.js","sourceRoot":"","sources":["../../../../src/audit/report/models/reportListModel.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,UAAU;IAGrB;QACE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IAK/B,YACE,YAAgC,EAChC,QAA0D,EAC1D,iBAAyD;QAEzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAM7B,YACE,WAAmB,EACnB,cAAsB,EACtB,eAAoC,EACpC,kBAA0B;QAE1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;IAC9C,CAAC;CACF"}
@@ -1,24 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ReportOutputBodyModel = exports.ReportOutputHeaderModel = exports.ReportOutputModel = void 0;
4
- class ReportOutputModel {
1
+ export class ReportOutputModel {
5
2
  constructor(header, body) {
6
3
  this.header = header;
7
4
  this.body = body;
8
5
  }
9
6
  }
10
- exports.ReportOutputModel = ReportOutputModel;
11
- class ReportOutputHeaderModel {
7
+ export class ReportOutputHeaderModel {
12
8
  constructor(vulnMessage, introducesMessage) {
13
9
  this.vulnMessage = vulnMessage;
14
10
  this.introducesMessage = introducesMessage;
15
11
  }
16
12
  }
17
- exports.ReportOutputHeaderModel = ReportOutputHeaderModel;
18
- class ReportOutputBodyModel {
13
+ export class ReportOutputBodyModel {
19
14
  constructor(issueMessage, adviceMessage) {
20
15
  this.issueMessage = issueMessage;
21
16
  this.adviceMessage = adviceMessage;
22
17
  }
23
18
  }
24
- exports.ReportOutputBodyModel = ReportOutputBodyModel;
19
+ //# sourceMappingURL=reportOutputModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reportOutputModel.js","sourceRoot":"","sources":["../../../../src/audit/report/models/reportOutputModel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IAI5B,YAAY,MAA+B,EAAE,IAA2B;QACtE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IAIlC,YAAY,WAAmB,EAAE,iBAAyB;QACxD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAIhC,YAAY,YAAsB,EAAE,aAAuB;QACzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;CACF"}