@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
@@ -1,203 +0,0 @@
1
- const crypto = require('crypto')
2
-
3
- const parseGoDependencies = goDeps => {
4
- return parseGo(goDeps)
5
- }
6
-
7
- const parseGo = modGraphOutput => {
8
- let splitLines = splitAllLinesIntoArray(modGraphOutput)
9
- const directDepNames = getDirectDepNames(splitLines)
10
- const uniqueTransitiveDepNames = getAllUniqueTransitiveDepNames(
11
- splitLines,
12
- directDepNames
13
- )
14
-
15
- let rootNodes = createRootNodes(splitLines)
16
-
17
- createTransitiveDeps(uniqueTransitiveDepNames, splitLines, rootNodes)
18
-
19
- return rootNodes
20
- }
21
-
22
- const splitAllLinesIntoArray = modGraphOutput => {
23
- return modGraphOutput.split(/\r\n|\r|\n/)
24
- }
25
-
26
- const getAllDepsOfADepAsEdge = (dep, deps) => {
27
- let edges = {}
28
-
29
- const depRows = deps.filter(line => {
30
- return line.startsWith(dep)
31
- })
32
-
33
- depRows.forEach(dep => {
34
- const edgeName = dep.split(' ')[1]
35
- edges[edgeName] = edgeName
36
- })
37
-
38
- return edges
39
- }
40
-
41
- const getAllDepsOfADepAsName = (dep, deps) => {
42
- let edges = []
43
-
44
- const depRows = deps.filter(line => {
45
- return line.startsWith(dep)
46
- })
47
-
48
- depRows.forEach(dep => {
49
- const edgeName = dep.split(' ')[1]
50
- edges.push(edgeName)
51
- })
52
-
53
- return edges
54
- }
55
-
56
- const createRootNodes = deps => {
57
- let rootDep = {}
58
- const rootDeps = getRootDeps(deps)
59
-
60
- const edges = rootDeps.map(dep => {
61
- return dep.split(' ')[1]
62
- })
63
-
64
- rootDep[rootDeps[0].split(' ')[0]] = {}
65
-
66
- edges.forEach(edge => {
67
- const splitEdge = edge.split('@')
68
- const splitGroupName = splitEdge[0].split('/')
69
- const name = splitGroupName.pop()
70
- const lastSlash = splitEdge[0].lastIndexOf('/')
71
- let group = splitEdge[0].substring(0, lastSlash)
72
- const hash = getHash(splitEdge[0])
73
-
74
- group = checkGroupExists(group, name)
75
-
76
- //get the edges of the root dependency
77
- const edgesOfDep = getAllDepsOfADepAsEdge(edge, deps)
78
-
79
- rootDep[rootDeps[0].split(' ')[0]][edge] = {
80
- artifactID: name,
81
- group: group,
82
- version: splitEdge[1],
83
- scope: '"compile',
84
- type: 'direct',
85
- hash: hash,
86
- edges: edgesOfDep
87
- }
88
- })
89
- return rootDep
90
- }
91
-
92
- const getRootDeps = deps => {
93
- const rootDeps = deps.filter(dep => {
94
- const parentDep = dep.split(' ')[0]
95
- if (parentDep.split('@v').length === 1) {
96
- return dep
97
- }
98
- })
99
- return rootDeps
100
- }
101
-
102
- const getHash = library => {
103
- let shaSum = crypto.createHash('sha1')
104
- shaSum.update(library)
105
- return shaSum.digest('hex')
106
- }
107
-
108
- const getDirectDepNames = deps => {
109
- const directDepNames = []
110
-
111
- deps.forEach(dep => {
112
- const parentDep = dep.split(' ')[0]
113
- if (parentDep.split('@v').length === 1) {
114
- dep.split(' ')[1] !== undefined
115
- ? directDepNames.push(dep.split(' ')[1])
116
- : null
117
- }
118
- })
119
- return directDepNames
120
- }
121
-
122
- const getAllUniqueTransitiveDepNames = (deps, directDepNames) => {
123
- let uniqueDeps = []
124
-
125
- deps.forEach(dep => {
126
- const parentDep = dep.split(' ')[0]
127
- if (parentDep.split('@v').length !== 1) {
128
- if (!directDepNames.includes(parentDep)) {
129
- if (!uniqueDeps.includes(parentDep)) {
130
- parentDep.length > 1 ? uniqueDeps.push(parentDep) : null
131
- }
132
- }
133
- }
134
- })
135
- return uniqueDeps
136
- }
137
-
138
- const checkGroupExists = (group, name) => {
139
- if (group === null || group === '') {
140
- return name
141
- }
142
- return group
143
- }
144
-
145
- const createTransitiveDeps = (transitiveDeps, splitLines, rootNodes) => {
146
- transitiveDeps.forEach(dep => {
147
- //create transitive dep
148
- const splitEdge = dep.split('@')
149
- const splitGroupName = splitEdge[0].split('/')
150
- const name = splitGroupName.pop()
151
- const lastSlash = splitEdge[0].lastIndexOf('/')
152
- let group = splitEdge[0].substring(0, lastSlash)
153
- const hash = getHash(splitEdge[0])
154
-
155
- group = checkGroupExists(group, name)
156
-
157
- const transitiveDep = {
158
- artifactID: name,
159
- group: group,
160
- version: splitEdge[1],
161
- scope: 'compile',
162
- type: 'transitive',
163
- hash: hash,
164
- edges: {}
165
- }
166
-
167
- //add edges to transitiveDep
168
- const edges = getAllDepsOfADepAsEdge(dep, splitLines)
169
- transitiveDep.edges = edges
170
-
171
- //add all edges as a transitive dependency to rootNodes
172
- const edgesAsName = getAllDepsOfADepAsName(dep, splitLines)
173
-
174
- edgesAsName.forEach(dep => {
175
- const splitEdge = dep.split('@')
176
- const splitGroupName = splitEdge[0].split('/')
177
- const name = splitGroupName.pop()
178
- const lastSlash = splitEdge[0].lastIndexOf('/')
179
- let group = splitEdge[0].substring(0, lastSlash)
180
- const hash = getHash(splitEdge[0])
181
-
182
- group = checkGroupExists(group, name)
183
-
184
- const transitiveDep = {
185
- artifactID: name,
186
- group: group,
187
- version: splitEdge[1],
188
- scope: 'compile',
189
- type: 'transitive',
190
- hash: hash,
191
- edges: {}
192
- }
193
- rootNodes[Object.keys(rootNodes)[0]][dep] = transitiveDep
194
- })
195
-
196
- //add transitive dependency to rootNodes
197
- rootNodes[Object.keys(rootNodes)[0]][dep] = transitiveDep
198
- })
199
- }
200
-
201
- module.exports = {
202
- parseGoDependencies
203
- }
@@ -1,34 +0,0 @@
1
- const child_process = require('child_process')
2
- const i18n = require('i18n')
3
-
4
- const getGoDependencies = config => {
5
- let cmdStdout
6
- let cwd = config.file ? config.file.replace('go.mod', '') : process.cwd()
7
-
8
- try {
9
- // A sample of this output can be found
10
- // in the go test folder data/goModGraphResults.text
11
- cmdStdout = child_process.execSync('go mod graph', {
12
- cwd: cwd,
13
- maxBuffer: 50 * 1024 * 1024
14
- })
15
-
16
- return cmdStdout.toString()
17
- } catch (err) {
18
- if (err.message === 'spawnSync /bin/sh ENOENT') {
19
- err.message =
20
- '\n\n*************** No transitive dependencies ***************\n\nWe are unable to build a dependency tree view from your repository as there were no transitive dependencies found.'
21
- }
22
- console.log(
23
- i18n.__('goReadProjectFile', cwd, `${err.message ? err.message : ''}`)
24
- )
25
- // throw new Error(
26
- // i18n.__('goReadProjectFile', cwd, `${err.message ? err.message : ''}`)
27
- // )
28
- process.exit(1)
29
- }
30
- }
31
-
32
- module.exports = {
33
- getGoDependencies
34
- }
@@ -1,148 +0,0 @@
1
- const child_process = require('child_process')
2
- const spawn = require('cross-spawn')
3
- const path = require('path')
4
- const i18n = require('i18n')
5
- const fs = require('fs')
6
-
7
- const MAVEN = 'maven'
8
- const GRADLE = 'gradle'
9
-
10
- const determineProjectTypeAndCwd = (files, config) => {
11
- const projectData = {}
12
-
13
- if (files.length > 1) {
14
- files = files.filter(i => config.fileName.includes(i))
15
- }
16
-
17
- if (files[0].includes('pom.xml')) {
18
- projectData.projectType = MAVEN
19
- } else if (files[0].includes('build.gradle')) {
20
- projectData.projectType = GRADLE
21
- }
22
-
23
- //clean up the path to be a folder not a file
24
- projectData.cwd = config.file
25
- ? config.file.replace('pom.xml', '').replace('build.gradle', '')
26
- : config.file
27
-
28
- return projectData
29
- }
30
-
31
- const buildMaven = (config, projectData, timeout) => {
32
- let command = 'mvn'
33
- let args = ['dependency:tree', '-B', '-Dscope=runtime']
34
- if (config.mavenSettingsPath) {
35
- args.push('-s')
36
- args.push(config.mavenSettingsPath)
37
- }
38
-
39
- // Allow users to provide a custom location for their settings.xml
40
- const cmdDepTree = spawn.sync(command, args, {
41
- env: process.env,
42
- cwd: projectData.cwd,
43
- timeout
44
- })
45
-
46
- if (cmdDepTree.status !== 0) {
47
- //if maven not found
48
- if (config.debug && cmdDepTree.error.code === 'ENOENT') {
49
- console.log(`ERROR: mvn not found`)
50
- console.log('Please make sure mvn is installed and accessible')
51
- }
52
-
53
- throw new Error(i18n.__('mavenDependencyTreeNonZero', projectData.cwd))
54
- }
55
-
56
- return cmdDepTree.stdout.toString()
57
- }
58
-
59
- const buildGradle = (config, projectData, timeout) => {
60
- let cmdStdout
61
- let output = {}
62
-
63
- try {
64
- // path.sep is user here to either execute as "./gradlew" for UNIX/Linux/MacOS
65
- // & ".\gradlew" for Windows
66
- // Check if the user has specified a sub-project
67
- if (config.subProject) {
68
- cmdStdout = child_process.execSync(
69
- '.' +
70
- path.sep +
71
- 'gradlew :' +
72
- config.subProject +
73
- ':dependencies --configuration runtimeClasspath',
74
- {
75
- cwd: projectData.cwd,
76
- timeout
77
- }
78
- )
79
- } else {
80
- cmdStdout = child_process.execSync(
81
- '.' +
82
- path.sep +
83
- 'gradlew dependencies --configuration runtimeClasspath',
84
- {
85
- cwd: projectData.cwd,
86
- timeout
87
- }
88
- )
89
- }
90
- if (
91
- cmdStdout
92
- .toString()
93
- .includes(
94
- "runtimeClasspath - Runtime classpath of source set 'main'.\n" +
95
- 'No dependencies'
96
- )
97
- ) {
98
- cmdStdout = child_process.execSync(
99
- '.' + path.sep + 'gradlew dependencies',
100
- {
101
- cwd: projectData.cwd,
102
- timeout
103
- }
104
- )
105
- }
106
- output = cmdStdout.toString()
107
- return output
108
- } catch (err) {
109
- if (
110
- fs.existsSync(projectData.cwd + 'gradlew') ||
111
- fs.existsSync(projectData.cwd + 'gradlew.bat')
112
- ) {
113
- throw new Error(
114
- i18n.__(
115
- 'gradleDependencyTreeNonZero',
116
- projectData.cwd,
117
- `${err.message}`
118
- )
119
- )
120
- } else {
121
- throw new Error(
122
- i18n.__('gradleWrapperUnavailable', projectData.cwd, `${err.message}`)
123
- )
124
- }
125
- }
126
- }
127
-
128
- const getJavaBuildDeps = (config, files) => {
129
- const timeout = 960000
130
- let output = {
131
- mvnDependancyTreeOutput: undefined,
132
- projectType: undefined
133
- }
134
-
135
- const projectData = determineProjectTypeAndCwd(files, config)
136
- if (projectData.projectType === MAVEN) {
137
- output.mvnDependancyTreeOutput = buildMaven(config, projectData, timeout)
138
- } else if (projectData.projectType === GRADLE) {
139
- output.mvnDependancyTreeOutput = buildGradle(config, projectData, timeout)
140
- }
141
- output.projectType = projectData.projectType
142
- return output
143
- }
144
-
145
- module.exports = {
146
- getJavaBuildDeps,
147
- determineProjectTypeAndCwd
148
- }
@@ -1,29 +0,0 @@
1
- const analysis = require('./analysis')
2
- const { parseBuildDeps } = require('./javaBuildDepsParser')
3
- const { createJavaTSMessage } = require('../common/formatMessage')
4
- const {
5
- parseDependenciesForSCAServices
6
- } = require('../common/scaParserForGoAndJava')
7
-
8
- const javaAnalysis = async (config, languageFiles) => {
9
- languageFiles.JAVA.forEach(file => {
10
- file.replace('build.gradle.kts', 'build.gradle')
11
- })
12
-
13
- const javaDeps = buildJavaTree(config, languageFiles.JAVA)
14
-
15
- if (config.legacy === false) {
16
- return parseDependenciesForSCAServices(javaDeps)
17
- } else {
18
- return createJavaTSMessage(javaDeps)
19
- }
20
- }
21
-
22
- const buildJavaTree = (config, files) => {
23
- const javaBuildDeps = analysis.getJavaBuildDeps(config, files)
24
- return parseBuildDeps(config, javaBuildDeps)
25
- }
26
-
27
- module.exports = {
28
- javaAnalysis
29
- }