@contrast/contrast 2.0.2-beta.0 → 2.0.2-beta.10

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 (395) 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 +37 -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 +9 -13
  23. package/dist/audit/auditController.js.map +1 -0
  24. package/dist/audit/auditRequests.js +193 -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 +68 -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 +18 -30
  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 +21 -0
  43. package/dist/audit/processAudit.js.map +1 -0
  44. package/dist/audit/report/commonReportingFunctions.js +33 -61
  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 +27 -55
  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 +14 -16
  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 +48 -18
  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 +193 -94
  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/stringManipulations.js +8 -0
  91. package/dist/common/stringManipulations.js.map +1 -0
  92. package/dist/common/versionChecker.js +16 -19
  93. package/dist/common/versionChecker.js.map +1 -0
  94. package/dist/constants/constants.js +46 -65
  95. package/dist/constants/constants.js.map +1 -0
  96. package/dist/constants/lambda.js +8 -5
  97. package/dist/constants/lambda.js.map +1 -0
  98. package/dist/constants/locales.js +14 -10
  99. package/dist/constants/locales.js.map +1 -0
  100. package/dist/github/fingerprintConfig.js +10 -0
  101. package/dist/github/fingerprintConfig.js.map +1 -0
  102. package/dist/github/processFingerprint.js +25 -0
  103. package/dist/github/processFingerprint.js.map +1 -0
  104. package/dist/github/projectGroup.js +225 -0
  105. package/dist/github/projectGroup.js.map +1 -0
  106. package/dist/github/repoServices.js +91 -0
  107. package/dist/github/repoServices.js.map +1 -0
  108. package/dist/index.js +42 -39
  109. package/dist/index.js.map +1 -0
  110. package/dist/lambda/analytics.js +6 -9
  111. package/dist/lambda/analytics.js.map +1 -0
  112. package/dist/lambda/arn.js +6 -9
  113. package/dist/lambda/arn.js.map +1 -0
  114. package/dist/lambda/aws.js +29 -34
  115. package/dist/lambda/aws.js.map +1 -0
  116. package/dist/lambda/cliError.js +13 -41
  117. package/dist/lambda/cliError.js.map +1 -0
  118. package/dist/lambda/constants.js +3 -4
  119. package/dist/lambda/constants.js.map +1 -0
  120. package/dist/lambda/help.js +39 -44
  121. package/dist/lambda/help.js.map +1 -0
  122. package/dist/lambda/lambda.js +61 -65
  123. package/dist/lambda/lambda.js.map +1 -0
  124. package/dist/lambda/lambdaUtils.js +38 -32
  125. package/dist/lambda/lambdaUtils.js.map +1 -0
  126. package/dist/lambda/logUtils.js +21 -17
  127. package/dist/lambda/logUtils.js.map +1 -0
  128. package/dist/lambda/scanDetailCompletion.js +19 -25
  129. package/dist/lambda/scanDetailCompletion.js.map +1 -0
  130. package/dist/lambda/scanRequest.js +34 -41
  131. package/dist/lambda/scanRequest.js.map +1 -0
  132. package/dist/lambda/scanResults.js +8 -10
  133. package/dist/lambda/scanResults.js.map +1 -0
  134. package/dist/lambda/types.js +5 -7
  135. package/dist/lambda/types.js.map +1 -0
  136. package/dist/lambda/utils.js +33 -35
  137. package/dist/lambda/utils.js.map +1 -0
  138. package/dist/sbom/generateSbom.js +6 -10
  139. package/dist/sbom/generateSbom.js.map +1 -0
  140. package/dist/scaAnalysis/common/auditReport.js +8 -12
  141. package/dist/scaAnalysis/common/auditReport.js.map +1 -0
  142. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +26 -32
  143. package/dist/scaAnalysis/common/commonReportingFunctionsSca.js.map +1 -0
  144. package/dist/scaAnalysis/common/formatMessage.js +8 -17
  145. package/dist/scaAnalysis/common/formatMessage.js.map +1 -0
  146. package/dist/scaAnalysis/common/models/ScaReportModel.js +4 -9
  147. package/dist/scaAnalysis/common/models/ScaReportModel.js.map +1 -0
  148. package/dist/scaAnalysis/common/scaParserForGoAndJava.js +10 -9
  149. package/dist/scaAnalysis/common/scaParserForGoAndJava.js.map +1 -0
  150. package/dist/scaAnalysis/common/scaServicesUpload.js +59 -90
  151. package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
  152. package/dist/scaAnalysis/common/treeUpload.js +15 -25
  153. package/dist/scaAnalysis/common/treeUpload.js.map +1 -0
  154. package/dist/scaAnalysis/common/utils/reportUtilsSca.js +21 -29
  155. package/dist/scaAnalysis/common/utils/reportUtilsSca.js.map +1 -0
  156. package/dist/scaAnalysis/dotnet/analysis.js +12 -18
  157. package/dist/scaAnalysis/dotnet/analysis.js.map +1 -0
  158. package/dist/scaAnalysis/dotnet/index.js +4 -7
  159. package/dist/scaAnalysis/dotnet/index.js.map +1 -0
  160. package/dist/scaAnalysis/go/goAnalysis.js +8 -11
  161. package/dist/scaAnalysis/go/goAnalysis.js.map +1 -0
  162. package/dist/scaAnalysis/go/goParseDeps.js +9 -7
  163. package/dist/scaAnalysis/go/goParseDeps.js.map +1 -0
  164. package/dist/scaAnalysis/go/goReadDepFile.js +10 -8
  165. package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
  166. package/dist/scaAnalysis/java/analysis.js +23 -20
  167. package/dist/scaAnalysis/java/analysis.js.map +1 -0
  168. package/dist/scaAnalysis/java/index.js +7 -10
  169. package/dist/scaAnalysis/java/index.js.map +1 -0
  170. package/dist/scaAnalysis/java/javaBuildDepsParser.js +43 -43
  171. package/dist/scaAnalysis/java/javaBuildDepsParser.js.map +1 -0
  172. package/dist/scaAnalysis/javascript/analysis.js +16 -20
  173. package/dist/scaAnalysis/javascript/analysis.js.map +1 -0
  174. package/dist/scaAnalysis/javascript/index.js +17 -19
  175. package/dist/scaAnalysis/javascript/index.js.map +1 -0
  176. package/dist/scaAnalysis/javascript/scaServiceParser.js +8 -15
  177. package/dist/scaAnalysis/javascript/scaServiceParser.js.map +1 -0
  178. package/dist/scaAnalysis/legacy/legacyFlow.js +13 -15
  179. package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
  180. package/dist/scaAnalysis/php/analysis.js +15 -16
  181. package/dist/scaAnalysis/php/analysis.js.map +1 -0
  182. package/dist/scaAnalysis/php/index.js +5 -8
  183. package/dist/scaAnalysis/php/index.js.map +1 -0
  184. package/dist/scaAnalysis/php/phpNewServicesMapper.js +9 -12
  185. package/dist/scaAnalysis/php/phpNewServicesMapper.js.map +1 -0
  186. package/dist/scaAnalysis/processServicesFlow.js +86 -32
  187. package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
  188. package/dist/scaAnalysis/python/analysis.js +16 -23
  189. package/dist/scaAnalysis/python/analysis.js.map +1 -0
  190. package/dist/scaAnalysis/python/index.js +4 -7
  191. package/dist/scaAnalysis/python/index.js.map +1 -0
  192. package/dist/scaAnalysis/repoMode/gradleParser.js +7 -13
  193. package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
  194. package/dist/scaAnalysis/repoMode/index.js +9 -12
  195. package/dist/scaAnalysis/repoMode/index.js.map +1 -0
  196. package/dist/scaAnalysis/repoMode/mavenParser.js +109 -73
  197. package/dist/scaAnalysis/repoMode/mavenParser.js.map +1 -0
  198. package/dist/scaAnalysis/ruby/analysis.js +32 -46
  199. package/dist/scaAnalysis/ruby/analysis.js.map +1 -0
  200. package/dist/scaAnalysis/ruby/index.js +5 -8
  201. package/dist/scaAnalysis/ruby/index.js.map +1 -0
  202. package/dist/scaAnalysis/scaAnalysis.js +49 -51
  203. package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
  204. package/dist/scan/fileUtils.js +36 -40
  205. package/dist/scan/fileUtils.js.map +1 -0
  206. package/dist/scan/formatScanOutput.js +47 -61
  207. package/dist/scan/formatScanOutput.js.map +1 -0
  208. package/dist/scan/help.js +8 -11
  209. package/dist/scan/help.js.map +1 -0
  210. package/dist/scan/models/groupedResultsModel.js +2 -5
  211. package/dist/scan/models/groupedResultsModel.js.map +1 -0
  212. package/dist/scan/models/resultContentModel.js +2 -2
  213. package/dist/scan/models/resultContentModel.js.map +1 -0
  214. package/dist/scan/models/scanResultsModel.js +2 -5
  215. package/dist/scan/models/scanResultsModel.js.map +1 -0
  216. package/dist/scan/populateProjectIdAndProjectName.js +22 -60
  217. package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
  218. package/dist/scan/processScan.js +28 -0
  219. package/dist/scan/processScan.js.map +1 -0
  220. package/dist/scan/saveResults.js +3 -6
  221. package/dist/scan/saveResults.js.map +1 -0
  222. package/dist/scan/scan.js +33 -53
  223. package/dist/scan/scan.js.map +1 -0
  224. package/dist/scan/scanConfig.js +14 -12
  225. package/dist/scan/scanConfig.js.map +1 -0
  226. package/dist/scan/scanController.js +19 -21
  227. package/dist/scan/scanController.js.map +1 -0
  228. package/dist/scan/scanRequests.js +86 -0
  229. package/dist/scan/scanRequests.js.map +1 -0
  230. package/dist/scan/scanResults.js +26 -72
  231. package/dist/scan/scanResults.js.map +1 -0
  232. package/dist/telemetry/telemetry.js +29 -59
  233. package/dist/telemetry/telemetry.js.map +1 -0
  234. package/dist/utils/capabilities.js +2 -1
  235. package/dist/utils/capabilities.js.map +1 -0
  236. package/dist/utils/commonApi.js +58 -50
  237. package/dist/utils/commonApi.js.map +1 -0
  238. package/dist/utils/filterProjectPath.js +2 -1
  239. package/dist/utils/filterProjectPath.js.map +1 -0
  240. package/dist/utils/generalAPI.js +11 -33
  241. package/dist/utils/generalAPI.js.map +1 -0
  242. package/dist/utils/getConfig.js +8 -13
  243. package/dist/utils/getConfig.js.map +1 -0
  244. package/dist/utils/oraWrapper.js +7 -14
  245. package/dist/utils/oraWrapper.js.map +1 -0
  246. package/dist/utils/paramsUtil/commandlineParams.js +2 -5
  247. package/dist/utils/paramsUtil/commandlineParams.js.map +1 -0
  248. package/dist/utils/paramsUtil/configStoreParams.js +9 -10
  249. package/dist/utils/paramsUtil/configStoreParams.js.map +1 -0
  250. package/dist/utils/paramsUtil/envVariableParams.js +2 -3
  251. package/dist/utils/paramsUtil/envVariableParams.js.map +1 -0
  252. package/dist/utils/paramsUtil/paramHandler.js +12 -13
  253. package/dist/utils/paramsUtil/paramHandler.js.map +1 -0
  254. package/dist/utils/parsedCLIOptions.js +4 -7
  255. package/dist/utils/parsedCLIOptions.js.map +1 -0
  256. package/dist/utils/requestUtils.js +7 -13
  257. package/dist/utils/requestUtils.js.map +1 -0
  258. package/dist/utils/saveFile.js +8 -11
  259. package/dist/utils/saveFile.js.map +1 -0
  260. package/dist/utils/validationCheck.js +5 -11
  261. package/dist/utils/validationCheck.js.map +1 -0
  262. package/package.json +40 -48
  263. package/.prettierignore +0 -1
  264. package/bin/contrast.js +0 -2
  265. package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
  266. package/dist/commands/audit/auditConfig.js +0 -12
  267. package/dist/commands/audit/help.js +0 -70
  268. package/dist/commands/audit/processAudit.js +0 -24
  269. package/dist/commands/auth/auth.js +0 -120
  270. package/dist/commands/github/fingerprintConfig.js +0 -13
  271. package/dist/commands/github/processFingerprint.js +0 -28
  272. package/dist/commands/github/projectGroup.js +0 -254
  273. package/dist/commands/github/repoServices.js +0 -108
  274. package/dist/commands/scan/processScan.js +0 -31
  275. package/dist/lambda/__mocks__/aws.js +0 -21
  276. package/dist/lambda/__mocks__/lambdaConfig.json +0 -42
  277. package/src/audit/catalogueApplication/catalogueApplication.js +0 -51
  278. package/src/audit/languageAnalysisEngine/commonApi.js +0 -20
  279. package/src/audit/languageAnalysisEngine/filterProjectPath.js +0 -21
  280. package/src/audit/languageAnalysisEngine/getProjectRootFilenames.js +0 -36
  281. package/src/audit/languageAnalysisEngine/sendSnapshot.js +0 -57
  282. package/src/audit/languageAnalysisEngine/util/requestUtils.js +0 -17
  283. package/src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +0 -63
  284. package/src/audit/report/commonReportingFunctions.js +0 -412
  285. package/src/audit/report/models/reportGuidanceModel.ts +0 -5
  286. package/src/audit/report/models/reportLibraryModel.ts +0 -30
  287. package/src/audit/report/models/reportListModel.ts +0 -49
  288. package/src/audit/report/models/reportOutputModel.ts +0 -29
  289. package/src/audit/report/models/reportSeverityModel.ts +0 -18
  290. package/src/audit/report/models/severityCountModel.ts +0 -22
  291. package/src/audit/report/reportingFeature.ts +0 -110
  292. package/src/audit/report/utils/reportUtils.ts +0 -165
  293. package/src/audit/save.js +0 -67
  294. package/src/cliConstants.js +0 -522
  295. package/src/commands/audit/auditConfig.js +0 -18
  296. package/src/commands/audit/auditController.js +0 -50
  297. package/src/commands/audit/help.js +0 -72
  298. package/src/commands/audit/processAudit.js +0 -34
  299. package/src/commands/audit/saveFile.js +0 -15
  300. package/src/commands/auth/auth.js +0 -146
  301. package/src/commands/config/config.js +0 -41
  302. package/src/commands/github/fingerprintConfig.js +0 -19
  303. package/src/commands/github/processFingerprint.js +0 -37
  304. package/src/commands/github/projectGroup.js +0 -294
  305. package/src/commands/github/repoServices.js +0 -122
  306. package/src/commands/learn/learn.js +0 -10
  307. package/src/commands/learn/processLearn.js +0 -13
  308. package/src/commands/scan/processScan.js +0 -42
  309. package/src/common/HTTPClient.js +0 -775
  310. package/src/common/baseRequest.ts +0 -83
  311. package/src/common/commonHelp.js +0 -53
  312. package/src/common/errorHandling.js +0 -157
  313. package/src/common/fail.js +0 -79
  314. package/src/common/versionChecker.js +0 -75
  315. package/src/constants/constants.js +0 -71
  316. package/src/constants/lambda.js +0 -85
  317. package/src/constants/locales.js +0 -365
  318. package/src/index.ts +0 -142
  319. package/src/lambda/__mocks__/aws.ts +0 -32
  320. package/src/lambda/__mocks__/lambdaConfig.json +0 -42
  321. package/src/lambda/analytics.ts +0 -9
  322. package/src/lambda/arn.ts +0 -33
  323. package/src/lambda/aws.ts +0 -248
  324. package/src/lambda/cliError.ts +0 -72
  325. package/src/lambda/constants.ts +0 -11
  326. package/src/lambda/help.ts +0 -92
  327. package/src/lambda/lambda.ts +0 -230
  328. package/src/lambda/lambdaUtils.ts +0 -111
  329. package/src/lambda/logUtils.ts +0 -64
  330. package/src/lambda/scanDetailCompletion.ts +0 -78
  331. package/src/lambda/scanRequest.ts +0 -169
  332. package/src/lambda/scanResults.ts +0 -29
  333. package/src/lambda/types.ts +0 -36
  334. package/src/lambda/utils.ts +0 -188
  335. package/src/sbom/generateSbom.ts +0 -45
  336. package/src/scaAnalysis/common/auditReport.js +0 -59
  337. package/src/scaAnalysis/common/commonReportingFunctionsSca.js +0 -276
  338. package/src/scaAnalysis/common/formatMessage.js +0 -67
  339. package/src/scaAnalysis/common/models/ScaReportModel.ts +0 -81
  340. package/src/scaAnalysis/common/scaParserForGoAndJava.js +0 -41
  341. package/src/scaAnalysis/common/scaServicesUpload.js +0 -155
  342. package/src/scaAnalysis/common/treeUpload.js +0 -51
  343. package/src/scaAnalysis/common/utils/reportUtilsSca.ts +0 -123
  344. package/src/scaAnalysis/dotnet/analysis.js +0 -72
  345. package/src/scaAnalysis/dotnet/index.js +0 -11
  346. package/src/scaAnalysis/go/goAnalysis.js +0 -26
  347. package/src/scaAnalysis/go/goParseDeps.js +0 -203
  348. package/src/scaAnalysis/go/goReadDepFile.js +0 -34
  349. package/src/scaAnalysis/java/analysis.js +0 -148
  350. package/src/scaAnalysis/java/index.js +0 -29
  351. package/src/scaAnalysis/java/javaBuildDepsParser.js +0 -439
  352. package/src/scaAnalysis/javascript/analysis.js +0 -111
  353. package/src/scaAnalysis/javascript/index.js +0 -104
  354. package/src/scaAnalysis/javascript/scaServiceParser.js +0 -151
  355. package/src/scaAnalysis/legacy/legacyFlow.js +0 -43
  356. package/src/scaAnalysis/php/analysis.js +0 -78
  357. package/src/scaAnalysis/php/index.js +0 -28
  358. package/src/scaAnalysis/php/phpNewServicesMapper.js +0 -77
  359. package/src/scaAnalysis/processServicesFlow.js +0 -119
  360. package/src/scaAnalysis/python/analysis.js +0 -93
  361. package/src/scaAnalysis/python/index.js +0 -16
  362. package/src/scaAnalysis/repoMode/gradleParser.js +0 -88
  363. package/src/scaAnalysis/repoMode/index.js +0 -21
  364. package/src/scaAnalysis/repoMode/mavenParser.js +0 -112
  365. package/src/scaAnalysis/ruby/analysis.js +0 -413
  366. package/src/scaAnalysis/ruby/index.js +0 -16
  367. package/src/scaAnalysis/scaAnalysis.js +0 -171
  368. package/src/scan/autoDetection.js +0 -175
  369. package/src/scan/fileUtils.js +0 -206
  370. package/src/scan/formatScanOutput.ts +0 -225
  371. package/src/scan/help.js +0 -56
  372. package/src/scan/models/groupedResultsModel.ts +0 -20
  373. package/src/scan/models/resultContentModel.ts +0 -86
  374. package/src/scan/models/scanResultsModel.ts +0 -55
  375. package/src/scan/populateProjectIdAndProjectName.js +0 -73
  376. package/src/scan/saveResults.js +0 -14
  377. package/src/scan/scan.ts +0 -68
  378. package/src/scan/scanConfig.js +0 -58
  379. package/src/scan/scanController.js +0 -98
  380. package/src/scan/scanResults.js +0 -171
  381. package/src/telemetry/telemetry.ts +0 -154
  382. package/src/utils/capabilities.js +0 -12
  383. package/src/utils/commonApi.js +0 -103
  384. package/src/utils/filterProjectPath.js +0 -25
  385. package/src/utils/generalAPI.js +0 -52
  386. package/src/utils/getConfig.ts +0 -34
  387. package/src/utils/oraWrapper.js +0 -29
  388. package/src/utils/paramsUtil/commandlineParams.js +0 -12
  389. package/src/utils/paramsUtil/configStoreParams.js +0 -19
  390. package/src/utils/paramsUtil/envVariableParams.js +0 -10
  391. package/src/utils/paramsUtil/paramHandler.js +0 -38
  392. package/src/utils/parsedCLIOptions.js +0 -32
  393. package/src/utils/requestUtils.js +0 -29
  394. package/src/utils/saveFile.js +0 -20
  395. package/src/utils/validationCheck.js +0 -39
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mavenParser.js","sourceRoot":"","sources":["../../../src/scaAnalysis/repoMode/mavenParser.js"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- "use strict";
2
- const fs = require('fs');
3
- const i18n = require('i18n');
4
- const getRubyDeps = (config, languageFiles) => {
1
+ import { readFileSync } from 'fs';
2
+ import i18n from 'i18n';
3
+ const { __ } = i18n;
4
+ export const getRubyDeps = (config, languageFiles) => {
5
+ // eslint-disable-next-line no-useless-catch
5
6
  try {
6
7
  checkForCorrectFiles(languageFiles);
7
8
  const parsedGem = readAndParseGemfile(config.file);
@@ -21,8 +22,8 @@ const getRubyDeps = (config, languageFiles) => {
21
22
  throw err;
22
23
  }
23
24
  };
24
- const readAndParseGemfile = file => {
25
- const gemFile = fs.readFileSync(file + '/Gemfile', 'utf8');
25
+ export const readAndParseGemfile = file => {
26
+ const gemFile = readFileSync(file + '/Gemfile', 'utf8');
26
27
  const rubyArray = gemFile.split('\n');
27
28
  let filteredRubyDep = rubyArray.filter(element => {
28
29
  return (!element.includes('#') &&
@@ -34,8 +35,8 @@ const readAndParseGemfile = file => {
34
35
  }
35
36
  return filteredRubyDep;
36
37
  };
37
- const readAndParseGemLockFile = file => {
38
- const lockFile = fs.readFileSync(file + '/Gemfile.lock', 'utf8');
38
+ export const readAndParseGemLockFile = file => {
39
+ const lockFile = readFileSync(file + '/Gemfile.lock', 'utf8');
39
40
  const dependencyRegEx = /^\s*([A-Za-z0-9.!@#$%\-^&*_+]*)\s*(\((.*?)\))/;
40
41
  const lines = lockFile.split('\n');
41
42
  return {
@@ -44,7 +45,7 @@ const readAndParseGemLockFile = file => {
44
45
  sources: getSourceArray(lines, dependencyRegEx)
45
46
  };
46
47
  };
47
- const nonDependencyKeys = (line, sourceObject) => {
48
+ export const nonDependencyKeys = (line, sourceObject) => {
48
49
  const GEMFILE_KEY_VALUE = /^\s*([^:(]*)\s*\:*\s*(.*)/;
49
50
  let parts = GEMFILE_KEY_VALUE.exec(line);
50
51
  let key = parts[1].trim();
@@ -52,16 +53,16 @@ const nonDependencyKeys = (line, sourceObject) => {
52
53
  sourceObject[key] = value;
53
54
  return sourceObject;
54
55
  };
55
- const populateResolveAndPlatform = (version, sourceObject) => {
56
+ export const populateResolveAndPlatform = (version, sourceObject) => {
56
57
  const depArr = version.split('-');
57
58
  sourceObject.resolved = depArr[0];
58
59
  sourceObject.platform = depArr.length > 1 ? depArr[1] : 'UNSPECIFIED';
59
60
  return sourceObject;
60
61
  };
61
- const isUpperCase = str => {
62
+ export const isUpperCase = str => {
62
63
  return str === str.toUpperCase();
63
64
  };
64
- const getDirectDependencies = (lines, dependencyRegEx) => {
65
+ export const getDirectDependencies = (lines, dependencyRegEx) => {
65
66
  const dependencies = {};
66
67
  let depIndex = 0;
67
68
  for (let i = 0; i < lines.length; i++) {
@@ -89,7 +90,7 @@ const getDirectDependencies = (lines, dependencyRegEx) => {
89
90
  }
90
91
  return dependencies;
91
92
  };
92
- const getLockFileRuntimeInfo = lines => {
93
+ export const getLockFileRuntimeInfo = lines => {
93
94
  let rubVersionIndex = 0;
94
95
  for (let i = 0; i < lines.length; i++) {
95
96
  if (lines[i] === 'RUBY VERSION') {
@@ -113,7 +114,7 @@ const getLockFileRuntimeInfo = lines => {
113
114
  }
114
115
  return runtimeDetails;
115
116
  };
116
- const getVersion = element => {
117
+ export const getVersion = element => {
117
118
  const versionRegex = /^([ruby\s0-9.*]+)/;
118
119
  if (versionRegex.test(element)) {
119
120
  let version = versionRegex.exec(element)[0];
@@ -122,13 +123,13 @@ const getVersion = element => {
122
123
  }
123
124
  }
124
125
  };
125
- const getPatchLevel = element => {
126
+ export const getPatchLevel = element => {
126
127
  const patchLevelRegex = /(p\d+)/;
127
128
  if (patchLevelRegex.test(element)) {
128
129
  return patchLevelRegex.exec(element)[0];
129
130
  }
130
131
  };
131
- const formatSourceArr = sourceArr => {
132
+ export const formatSourceArr = sourceArr => {
132
133
  return sourceArr.map(element => {
133
134
  if (element.sourceType === 'GIT') {
134
135
  delete element.specs;
@@ -149,7 +150,7 @@ const formatSourceArr = sourceArr => {
149
150
  return element;
150
151
  });
151
152
  };
152
- const getSourceArray = (lines, dependencyRegEx) => {
153
+ export const getSourceArray = (lines, dependencyRegEx) => {
153
154
  const sourceObject = {
154
155
  dependencies: {}
155
156
  };
@@ -176,6 +177,7 @@ const getSourceArray = (lines, dependencyRegEx) => {
176
177
  populateResolveAndPlatform(dependency[3], sourceObject);
177
178
  }
178
179
  if (currentWS === 4 && sourceObject.depthLevel) {
180
+ // create new Parent
179
181
  const dependency = dependencyRegEx.exec(line);
180
182
  sourceObject.name = dependency[1];
181
183
  sourceObject.depthLevel = currentWS;
@@ -194,7 +196,7 @@ const getSourceArray = (lines, dependencyRegEx) => {
194
196
  }
195
197
  return formatSourceArr(sources);
196
198
  };
197
- const buildSourceDependencyWithVersion = (whitespaceRegx, dependencyRegEx, line, currentWhiteSpace, name, dependencies) => {
199
+ export const buildSourceDependencyWithVersion = (whitespaceRegx, dependencyRegEx, line, currentWhiteSpace, name, dependencies) => {
198
200
  const isDependencyWithVersion = dependencyRegEx.test(line);
199
201
  if (currentWhiteSpace === 6) {
200
202
  const dependency = dependencyRegEx.exec(line);
@@ -209,10 +211,11 @@ const buildSourceDependencyWithVersion = (whitespaceRegx, dependencyRegEx, line,
209
211
  }
210
212
  return dependencies;
211
213
  };
212
- const processRootDependencies = (rootDependencies, rubyTree) => {
214
+ export const processRootDependencies = (rootDependencies, rubyTree) => {
213
215
  const getParentObjectByName = queryToken => Object.values(rubyTree).filter(({ name }) => name === queryToken);
214
216
  for (let parent in rootDependencies) {
215
217
  let parentObject = getParentObjectByName(parent);
218
+ // ignore root dependencies that don't have a resolved version
216
219
  if (parentObject[0]) {
217
220
  let gav = parentObject[0].group +
218
221
  '/' +
@@ -225,7 +228,7 @@ const processRootDependencies = (rootDependencies, rubyTree) => {
225
228
  }
226
229
  return rubyTree;
227
230
  };
228
- const createRubyTree = rubyArray => {
231
+ export const createRubyTree = rubyArray => {
229
232
  let rubyTree = {};
230
233
  for (let x in rubyArray) {
231
234
  let version = rubyArray[x].resolved;
@@ -233,6 +236,7 @@ const createRubyTree = rubyArray => {
233
236
  rubyTree[gav] = rubyArray[x];
234
237
  rubyTree[gav].directDependency = false;
235
238
  rubyTree[gav].version = version;
239
+ // add dependency array if none exists
236
240
  if (!rubyTree[gav].dependencies) {
237
241
  rubyTree[gav].dependencies = [];
238
242
  }
@@ -240,13 +244,13 @@ const createRubyTree = rubyArray => {
240
244
  }
241
245
  return rubyTree;
242
246
  };
243
- const findChildrenDependencies = rubyTree => {
247
+ export const findChildrenDependencies = rubyTree => {
244
248
  for (let dep in rubyTree) {
245
249
  let unResolvedChildDepsKey = Object.keys(rubyTree[dep].dependencies);
246
250
  rubyTree[dep].dependencies = resolveVersionOfChildDependencies(unResolvedChildDepsKey, rubyTree);
247
251
  }
248
252
  };
249
- const resolveVersionOfChildDependencies = (unResolvedChildDepsKey, rubyObject) => {
253
+ export const resolveVersionOfChildDependencies = (unResolvedChildDepsKey, rubyObject) => {
250
254
  const getParentObjectByName = queryToken => Object.values(rubyObject).filter(({ name }) => name === queryToken);
251
255
  let resolvedChildrenDependencies = [];
252
256
  for (let childDep in unResolvedChildDepsKey) {
@@ -256,7 +260,7 @@ const resolveVersionOfChildDependencies = (unResolvedChildDepsKey, rubyObject) =
256
260
  }
257
261
  return resolvedChildrenDependencies;
258
262
  };
259
- const removeRedundantAndPopulateDefinedElements = deps => {
263
+ export const removeRedundantAndPopulateDefinedElements = deps => {
260
264
  return deps.map(element => {
261
265
  if (element.sourceType === 'GIT') {
262
266
  delete element.sourceType;
@@ -293,33 +297,15 @@ const removeRedundantAndPopulateDefinedElements = deps => {
293
297
  return element;
294
298
  });
295
299
  };
296
- const checkForCorrectFiles = languageFiles => {
300
+ export const checkForCorrectFiles = languageFiles => {
297
301
  if (!languageFiles.includes('Gemfile.lock')) {
298
- throw new Error(i18n.__('languageAnalysisHasNoLockFile', 'ruby'));
302
+ throw new Error(__('languageAnalysisHasNoLockFile', 'ruby'));
299
303
  }
300
304
  if (!languageFiles.includes('Gemfile')) {
301
- throw new Error(i18n.__('languageAnalysisProjectFileError', 'ruby'));
305
+ throw new Error(__('languageAnalysisProjectFileError', 'ruby'));
302
306
  }
303
307
  };
304
- const trimWhiteSpace = string => {
308
+ export const trimWhiteSpace = string => {
305
309
  return string.replace(/\s+/g, '');
306
310
  };
307
- module.exports = {
308
- getRubyDeps,
309
- readAndParseGemfile,
310
- readAndParseGemLockFile,
311
- nonDependencyKeys,
312
- populateResolveAndPlatform,
313
- isUpperCase,
314
- getDirectDependencies,
315
- getLockFileRuntimeInfo,
316
- getVersion,
317
- getPatchLevel,
318
- formatSourceArr,
319
- getSourceArray,
320
- checkForCorrectFiles,
321
- removeRedundantAndPopulateDefinedElements,
322
- createRubyTree,
323
- findChildrenDependencies,
324
- processRootDependencies
325
- };
311
+ //# sourceMappingURL=analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../src/scaAnalysis/ruby/analysis.js"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- "use strict";
2
- const analysis = require('./analysis');
3
- const { createRubyTSMessage } = require('../common/formatMessage');
4
- const rubyAnalysis = (config, languageFiles) => {
5
- const rubyDeps = analysis.getRubyDeps(config, languageFiles.RUBY);
1
+ import { getRubyDeps } from './analysis.js';
2
+ import { createRubyTSMessage } from '../common/formatMessage.js';
3
+ export const rubyAnalysis = (config, languageFiles) => {
4
+ const rubyDeps = getRubyDeps(config, languageFiles.RUBY);
6
5
  if (config.legacy === false) {
7
6
  return rubyDeps;
8
7
  }
@@ -10,6 +9,4 @@ const rubyAnalysis = (config, languageFiles) => {
10
9
  return createRubyTSMessage(rubyDeps);
11
10
  }
12
11
  };
13
- module.exports = {
14
- rubyAnalysis
15
- };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scaAnalysis/ruby/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;IACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;IAExD,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE;QAC3B,OAAO,QAAQ,CAAA;KAChB;SAAM;QACL,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAA;KACrC;AACH,CAAC,CAAA"}
@@ -1,44 +1,45 @@
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
+ export const processSca = async (config) => {
24
23
  let filesFound;
25
24
  if (config.help) {
26
25
  console.log(auditUsageGuide);
27
26
  process.exit(0);
28
27
  }
29
28
  config.repo = config.repositoryId !== undefined;
30
- const projectStats = await rootFile.getProjectStats(config.file);
29
+ const projectStats = await getProjectStats(config.file);
31
30
  let pathWithFile = projectStats.isFile();
32
31
  config.fileName = config.file;
33
32
  config.file = pathWithFile
34
- ? rootFile.getDirectoryFromPathGiven(config.file).concat('/')
33
+ ? getDirectoryFromPathGiven(config.file).concat('/')
35
34
  : config.file;
36
- filesFound = await autoDetection.autoDetectAuditFilesAndLanguages(config.file);
37
- filesFound = await autoDetection.detectPackageManager(filesFound);
38
- autoDetection.dealWithMultiJava(filesFound);
35
+ filesFound = await autoDetectAuditFilesAndLanguages(config.file);
36
+ filesFound = await detectPackageManager(filesFound);
37
+ dealWithMultiJava(filesFound, config, pathWithFile);
39
38
  if (filesFound.length > 1 && pathWithFile) {
40
- filesFound = filesFound.filter(i => Object.values(i)[0].includes(path.basename(config.fileName)));
39
+ filesFound = filesFound.filter(i => Object.values(i)[0].includes(basename(config.fileName)));
41
40
  }
41
+ // files found looks like [ { javascript: [ Array ] } ]
42
+ //check we have the language and call the right analyser
42
43
  let messageToSend = undefined;
43
44
  if (filesFound.length === 1) {
44
45
  config.packageManager = filesFound[0]?.packageManager;
@@ -47,18 +48,18 @@ const processSca = async (config) => {
47
48
  config.language = JAVA;
48
49
  if (config.repo && !config.legacy) {
49
50
  try {
50
- messageToSend = await repoMode.buildRepo(config, filesFound[0]);
51
+ messageToSend = await buildRepo(config, filesFound[0]);
51
52
  }
52
53
  catch (e) {
53
54
  throw new Error('Unable to build in repository mode. Check your project file');
54
55
  }
55
56
  }
56
57
  else {
57
- messageToSend = await javaAnalysis.javaAnalysis(config, filesFound[0]);
58
+ messageToSend = await javaAnalysis(config, filesFound[0]);
58
59
  }
59
60
  break;
60
61
  case JAVASCRIPT:
61
- messageToSend = await jsAnalysis.jsAnalysis(config, filesFound[0]);
62
+ messageToSend = await jsAnalysis(config, filesFound[0]);
62
63
  config.language = NODE;
63
64
  break;
64
65
  case PYTHON:
@@ -88,20 +89,21 @@ const processSca = async (config) => {
88
89
  break;
89
90
  }
90
91
  default:
92
+ //something is wrong
91
93
  console.log('No supported language detected in project path');
92
94
  return;
93
95
  }
94
96
  if (config.legacy === false) {
95
97
  if (!config.name) {
96
- config = await projectConfig.dealWithNoName(config);
98
+ config = await dealWithNoName(config);
97
99
  }
98
100
  const startTime = performance.now();
99
- console.log('');
101
+ console.log(''); //empty log for space before spinner
100
102
  const reportSpinner = returnOra(i18n.__('auditSCAAnalysisBegins'));
101
103
  startSpinner(reportSpinner);
102
- let reportResponse = await processServices.processUpload(messageToSend, config, reportSpinner);
104
+ const reportResponse = await processUpload(messageToSend, config, reportSpinner);
103
105
  const reportModelLibraryList = convertGenericToTypedReportModelSca(reportResponse.reportArray);
104
- await auditReport.processAuditReport(config, reportModelLibraryList, reportResponse.reportId);
106
+ await processAuditReport(config, reportModelLibraryList, reportResponse.reportId);
105
107
  succeedSpinner(reportSpinner, i18n.__('auditSCAAnalysisComplete'));
106
108
  const endTime = performance.now() - startTime;
107
109
  const scanDurationMs = endTime - startTime;
@@ -111,21 +113,17 @@ const processSca = async (config) => {
111
113
  await legacyFlow(config, messageToSend);
112
114
  }
113
115
  }
116
+ else if (filesFound.length === 0) {
117
+ console.log(i18n.__('languageAnalysisNoLanguage'));
118
+ console.log(i18n.__('languageAnalysisNoLanguageHelpLine'));
119
+ throw new Error();
120
+ }
114
121
  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
- }
122
+ console.log(chalk.bold(`\nMultiple language files detected \n`));
123
+ filesFound.forEach(file => {
124
+ console.log(`${Object.keys(file)[0]} : `, Object.values(file)[0]);
125
+ });
126
+ throw new Error(`Please use --file to audit one language only. \nExample: contrast audit --file package-lock.json`);
127
127
  }
128
128
  };
129
- module.exports = {
130
- processSca
131
- };
129
+ //# 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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"}