@contrast/contrast 2.0.2-beta.3 → 2.0.2-beta.4
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.
- package/README.md +51 -1
- package/dist/audit/catalogueApplication/catalogueApplication.js +6 -10
- package/dist/audit/catalogueApplication/catalogueApplication.js.map +1 -0
- package/dist/audit/languageAnalysisEngine/commonApi.js +3 -6
- package/dist/audit/languageAnalysisEngine/commonApi.js.map +1 -0
- package/dist/audit/languageAnalysisEngine/filterProjectPath.js +1 -0
- package/dist/audit/languageAnalysisEngine/filterProjectPath.js.map +1 -0
- package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js +9 -12
- package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js.map +1 -0
- package/dist/audit/languageAnalysisEngine/sendSnapshot.js +15 -19
- package/dist/audit/languageAnalysisEngine/sendSnapshot.js.map +1 -0
- package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +9 -9
- package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js.map +1 -0
- package/dist/audit/report/commonReportingFunctions.js +33 -48
- package/dist/audit/report/commonReportingFunctions.js.map +1 -0
- package/dist/audit/report/models/reportGuidanceModel.js +2 -5
- package/dist/audit/report/models/reportGuidanceModel.js.map +1 -0
- package/dist/audit/report/models/reportLibraryModel.js +3 -7
- package/dist/audit/report/models/reportLibraryModel.js.map +1 -0
- package/dist/audit/report/models/reportListModel.js +4 -9
- package/dist/audit/report/models/reportListModel.js.map +1 -0
- package/dist/audit/report/models/reportOutputModel.js +4 -9
- package/dist/audit/report/models/reportOutputModel.js.map +1 -0
- package/dist/audit/report/models/reportSeverityModel.js +2 -5
- package/dist/audit/report/models/reportSeverityModel.js.map +1 -0
- package/dist/audit/report/models/severityCountModel.js +3 -5
- package/dist/audit/report/models/severityCountModel.js.map +1 -0
- package/dist/audit/report/reportingFeature.js +27 -55
- package/dist/audit/report/reportingFeature.js.map +1 -0
- package/dist/audit/report/utils/reportUtils.js +28 -59
- package/dist/audit/report/utils/reportUtils.js.map +1 -0
- package/dist/audit/save.js +14 -16
- package/dist/audit/save.js.map +1 -0
- package/dist/cliConstants.js +17 -18
- package/dist/cliConstants.js.map +1 -0
- package/dist/commands/audit/auditConfig.js +7 -10
- package/dist/commands/audit/auditConfig.js.map +1 -0
- package/dist/commands/audit/auditController.js +9 -13
- package/dist/commands/audit/auditController.js.map +1 -0
- package/dist/commands/audit/help.js +23 -25
- package/dist/commands/audit/help.js.map +1 -0
- package/dist/commands/audit/processAudit.js +9 -12
- package/dist/commands/audit/processAudit.js.map +1 -0
- package/dist/commands/audit/saveFile.js +3 -6
- package/dist/commands/audit/saveFile.js.map +1 -0
- package/dist/commands/auth/auth.js +25 -24
- package/dist/commands/auth/auth.js.map +1 -0
- package/dist/commands/config/config.js +12 -13
- package/dist/commands/config/config.js.map +1 -0
- package/dist/commands/github/fingerprintConfig.js +8 -11
- package/dist/commands/github/fingerprintConfig.js.map +1 -0
- package/dist/commands/github/processFingerprint.js +12 -15
- package/dist/commands/github/processFingerprint.js.map +1 -0
- package/dist/commands/github/projectGroup.js +25 -32
- package/dist/commands/github/projectGroup.js.map +1 -0
- package/dist/commands/github/repoServices.js +11 -21
- package/dist/commands/github/repoServices.js.map +1 -0
- package/dist/commands/learn/learn.js +3 -6
- package/dist/commands/learn/learn.js.map +1 -0
- package/dist/commands/learn/processLearn.js +3 -6
- package/dist/commands/learn/processLearn.js.map +1 -0
- package/dist/commands/scan/processScan.js +11 -14
- package/dist/commands/scan/processScan.js.map +1 -0
- package/dist/common/HTTPClient.js +123 -94
- package/dist/common/HTTPClient.js.map +1 -0
- package/dist/common/autoDetection.js +26 -33
- package/dist/common/autoDetection.js.map +1 -0
- package/dist/common/baseRequest.js +14 -18
- package/dist/common/baseRequest.js.map +1 -0
- package/dist/common/commonHelp.js +13 -13
- package/dist/common/commonHelp.js.map +1 -0
- package/dist/common/errorHandling.js +30 -39
- package/dist/common/errorHandling.js.map +1 -0
- package/dist/common/fail.js +6 -12
- package/dist/common/fail.js.map +1 -0
- package/dist/common/versionChecker.js +16 -19
- package/dist/common/versionChecker.js.map +1 -0
- package/dist/constants/constants.js +44 -65
- package/dist/constants/constants.js.map +1 -0
- package/dist/constants/lambda.js +8 -5
- package/dist/constants/lambda.js.map +1 -0
- package/dist/constants/locales.js +6 -9
- package/dist/constants/locales.js.map +1 -0
- package/dist/index.js +36 -39
- package/dist/index.js.map +1 -0
- package/dist/lambda/analytics.js +6 -9
- package/dist/lambda/analytics.js.map +1 -0
- package/dist/lambda/arn.js +6 -9
- package/dist/lambda/arn.js.map +1 -0
- package/dist/lambda/aws.js +29 -34
- package/dist/lambda/aws.js.map +1 -0
- package/dist/lambda/cliError.js +13 -41
- package/dist/lambda/cliError.js.map +1 -0
- package/dist/lambda/constants.js +3 -4
- package/dist/lambda/constants.js.map +1 -0
- package/dist/lambda/help.js +39 -44
- package/dist/lambda/help.js.map +1 -0
- package/dist/lambda/lambda.js +61 -65
- package/dist/lambda/lambda.js.map +1 -0
- package/dist/lambda/lambdaUtils.js +38 -32
- package/dist/lambda/lambdaUtils.js.map +1 -0
- package/dist/lambda/logUtils.js +21 -17
- package/dist/lambda/logUtils.js.map +1 -0
- package/dist/lambda/scanDetailCompletion.js +19 -25
- package/dist/lambda/scanDetailCompletion.js.map +1 -0
- package/dist/lambda/scanRequest.js +34 -41
- package/dist/lambda/scanRequest.js.map +1 -0
- package/dist/lambda/scanResults.js +8 -10
- package/dist/lambda/scanResults.js.map +1 -0
- package/dist/lambda/types.js +5 -7
- package/dist/lambda/types.js.map +1 -0
- package/dist/lambda/utils.js +33 -35
- package/dist/lambda/utils.js.map +1 -0
- package/dist/sbom/generateSbom.js +6 -10
- package/dist/sbom/generateSbom.js.map +1 -0
- package/dist/scaAnalysis/common/auditReport.js +8 -12
- package/dist/scaAnalysis/common/auditReport.js.map +1 -0
- package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +26 -32
- package/dist/scaAnalysis/common/commonReportingFunctionsSca.js.map +1 -0
- package/dist/scaAnalysis/common/formatMessage.js +8 -17
- package/dist/scaAnalysis/common/formatMessage.js.map +1 -0
- package/dist/scaAnalysis/common/models/ScaReportModel.js +4 -9
- package/dist/scaAnalysis/common/models/ScaReportModel.js.map +1 -0
- package/dist/scaAnalysis/common/scaParserForGoAndJava.js +10 -9
- package/dist/scaAnalysis/common/scaParserForGoAndJava.js.map +1 -0
- package/dist/scaAnalysis/common/scaServicesUpload.js +21 -22
- package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
- package/dist/scaAnalysis/common/treeUpload.js +7 -10
- package/dist/scaAnalysis/common/treeUpload.js.map +1 -0
- package/dist/scaAnalysis/common/utils/reportUtilsSca.js +21 -29
- package/dist/scaAnalysis/common/utils/reportUtilsSca.js.map +1 -0
- package/dist/scaAnalysis/dotnet/analysis.js +12 -18
- package/dist/scaAnalysis/dotnet/analysis.js.map +1 -0
- package/dist/scaAnalysis/dotnet/index.js +4 -7
- package/dist/scaAnalysis/dotnet/index.js.map +1 -0
- package/dist/scaAnalysis/go/goAnalysis.js +8 -11
- package/dist/scaAnalysis/go/goAnalysis.js.map +1 -0
- package/dist/scaAnalysis/go/goParseDeps.js +9 -7
- package/dist/scaAnalysis/go/goParseDeps.js.map +1 -0
- package/dist/scaAnalysis/go/goReadDepFile.js +10 -8
- package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
- package/dist/scaAnalysis/java/analysis.js +23 -20
- package/dist/scaAnalysis/java/analysis.js.map +1 -0
- package/dist/scaAnalysis/java/index.js +7 -10
- package/dist/scaAnalysis/java/index.js.map +1 -0
- package/dist/scaAnalysis/java/javaBuildDepsParser.js +43 -43
- package/dist/scaAnalysis/java/javaBuildDepsParser.js.map +1 -0
- package/dist/scaAnalysis/javascript/analysis.js +16 -20
- package/dist/scaAnalysis/javascript/analysis.js.map +1 -0
- package/dist/scaAnalysis/javascript/index.js +17 -19
- package/dist/scaAnalysis/javascript/index.js.map +1 -0
- package/dist/scaAnalysis/javascript/scaServiceParser.js +8 -15
- package/dist/scaAnalysis/javascript/scaServiceParser.js.map +1 -0
- package/dist/scaAnalysis/legacy/legacyFlow.js +13 -15
- package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
- package/dist/scaAnalysis/php/analysis.js +15 -16
- package/dist/scaAnalysis/php/analysis.js.map +1 -0
- package/dist/scaAnalysis/php/index.js +5 -8
- package/dist/scaAnalysis/php/index.js.map +1 -0
- package/dist/scaAnalysis/php/phpNewServicesMapper.js +9 -12
- package/dist/scaAnalysis/php/phpNewServicesMapper.js.map +1 -0
- package/dist/scaAnalysis/processServicesFlow.js +50 -25
- package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
- package/dist/scaAnalysis/python/analysis.js +16 -23
- package/dist/scaAnalysis/python/analysis.js.map +1 -0
- package/dist/scaAnalysis/python/index.js +4 -7
- package/dist/scaAnalysis/python/index.js.map +1 -0
- package/dist/scaAnalysis/repoMode/gradleParser.js +7 -13
- package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
- package/dist/scaAnalysis/repoMode/index.js +9 -12
- package/dist/scaAnalysis/repoMode/index.js.map +1 -0
- package/dist/scaAnalysis/repoMode/mavenParser.js +12 -12
- package/dist/scaAnalysis/repoMode/mavenParser.js.map +1 -0
- package/dist/scaAnalysis/ruby/analysis.js +32 -46
- package/dist/scaAnalysis/ruby/analysis.js.map +1 -0
- package/dist/scaAnalysis/ruby/index.js +5 -8
- package/dist/scaAnalysis/ruby/index.js.map +1 -0
- package/dist/scaAnalysis/scaAnalysis.js +49 -51
- package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
- package/dist/scan/fileUtils.js +27 -36
- package/dist/scan/fileUtils.js.map +1 -0
- package/dist/scan/formatScanOutput.js +47 -61
- package/dist/scan/formatScanOutput.js.map +1 -0
- package/dist/scan/help.js +8 -11
- package/dist/scan/help.js.map +1 -0
- package/dist/scan/models/groupedResultsModel.js +2 -5
- package/dist/scan/models/groupedResultsModel.js.map +1 -0
- package/dist/scan/models/resultContentModel.js +2 -2
- package/dist/scan/models/resultContentModel.js.map +1 -0
- package/dist/scan/models/scanResultsModel.js +2 -5
- package/dist/scan/models/scanResultsModel.js.map +1 -0
- package/dist/scan/populateProjectIdAndProjectName.js +9 -12
- package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
- package/dist/scan/saveResults.js +3 -6
- package/dist/scan/saveResults.js.map +1 -0
- package/dist/scan/scan.js +24 -31
- package/dist/scan/scan.js.map +1 -0
- package/dist/scan/scanConfig.js +14 -12
- package/dist/scan/scanConfig.js.map +1 -0
- package/dist/scan/scanController.js +17 -20
- package/dist/scan/scanController.js.map +1 -0
- package/dist/scan/scanResults.js +27 -34
- package/dist/scan/scanResults.js.map +1 -0
- package/dist/telemetry/telemetry.js +29 -59
- package/dist/telemetry/telemetry.js.map +1 -0
- package/dist/utils/capabilities.js +1 -0
- package/dist/utils/capabilities.js.map +1 -0
- package/dist/utils/commonApi.js +15 -24
- package/dist/utils/commonApi.js.map +1 -0
- package/dist/utils/filterProjectPath.js +1 -0
- package/dist/utils/filterProjectPath.js.map +1 -0
- package/dist/utils/generalAPI.js +11 -17
- package/dist/utils/generalAPI.js.map +1 -0
- package/dist/utils/getConfig.js +7 -13
- package/dist/utils/getConfig.js.map +1 -0
- package/dist/utils/oraWrapper.js +7 -14
- package/dist/utils/oraWrapper.js.map +1 -0
- package/dist/utils/paramsUtil/commandlineParams.js +2 -5
- package/dist/utils/paramsUtil/commandlineParams.js.map +1 -0
- package/dist/utils/paramsUtil/configStoreParams.js +9 -10
- package/dist/utils/paramsUtil/configStoreParams.js.map +1 -0
- package/dist/utils/paramsUtil/envVariableParams.js +2 -3
- package/dist/utils/paramsUtil/envVariableParams.js.map +1 -0
- package/dist/utils/paramsUtil/paramHandler.js +12 -13
- package/dist/utils/paramsUtil/paramHandler.js.map +1 -0
- package/dist/utils/parsedCLIOptions.js +4 -7
- package/dist/utils/parsedCLIOptions.js.map +1 -0
- package/dist/utils/requestUtils.js +7 -13
- package/dist/utils/requestUtils.js.map +1 -0
- package/dist/utils/saveFile.js +8 -11
- package/dist/utils/saveFile.js.map +1 -0
- package/dist/utils/validationCheck.js +5 -11
- package/dist/utils/validationCheck.js.map +1 -0
- package/package.json +32 -41
- package/.prettierignore +0 -1
- package/bin/contrast.js +0 -2
- package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
- package/dist/lambda/__mocks__/aws.js +0 -21
- package/dist/lambda/__mocks__/lambdaConfig.json +0 -42
- package/src/audit/catalogueApplication/catalogueApplication.js +0 -51
- package/src/audit/languageAnalysisEngine/commonApi.js +0 -20
- package/src/audit/languageAnalysisEngine/filterProjectPath.js +0 -21
- package/src/audit/languageAnalysisEngine/getProjectRootFilenames.js +0 -36
- package/src/audit/languageAnalysisEngine/sendSnapshot.js +0 -57
- package/src/audit/languageAnalysisEngine/util/requestUtils.js +0 -17
- package/src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +0 -63
- package/src/audit/report/commonReportingFunctions.js +0 -412
- package/src/audit/report/models/reportGuidanceModel.ts +0 -5
- package/src/audit/report/models/reportLibraryModel.ts +0 -30
- package/src/audit/report/models/reportListModel.ts +0 -49
- package/src/audit/report/models/reportOutputModel.ts +0 -29
- package/src/audit/report/models/reportSeverityModel.ts +0 -18
- package/src/audit/report/models/severityCountModel.ts +0 -22
- package/src/audit/report/reportingFeature.ts +0 -110
- package/src/audit/report/utils/reportUtils.ts +0 -165
- package/src/audit/save.js +0 -67
- package/src/cliConstants.js +0 -523
- package/src/commands/audit/auditConfig.js +0 -18
- package/src/commands/audit/auditController.js +0 -50
- package/src/commands/audit/help.js +0 -72
- package/src/commands/audit/processAudit.js +0 -34
- package/src/commands/audit/saveFile.js +0 -15
- package/src/commands/auth/auth.js +0 -146
- package/src/commands/config/config.js +0 -41
- package/src/commands/github/fingerprintConfig.js +0 -19
- package/src/commands/github/processFingerprint.js +0 -37
- package/src/commands/github/projectGroup.js +0 -298
- package/src/commands/github/repoServices.js +0 -122
- package/src/commands/learn/learn.js +0 -10
- package/src/commands/learn/processLearn.js +0 -13
- package/src/commands/scan/processScan.js +0 -42
- package/src/common/HTTPClient.js +0 -775
- package/src/common/autoDetection.js +0 -209
- package/src/common/baseRequest.ts +0 -83
- package/src/common/commonHelp.js +0 -53
- package/src/common/errorHandling.js +0 -157
- package/src/common/fail.js +0 -79
- package/src/common/versionChecker.js +0 -75
- package/src/constants/constants.js +0 -71
- package/src/constants/lambda.js +0 -85
- package/src/constants/locales.js +0 -365
- package/src/index.ts +0 -142
- package/src/lambda/__mocks__/aws.ts +0 -32
- package/src/lambda/__mocks__/lambdaConfig.json +0 -42
- package/src/lambda/analytics.ts +0 -9
- package/src/lambda/arn.ts +0 -33
- package/src/lambda/aws.ts +0 -248
- package/src/lambda/cliError.ts +0 -72
- package/src/lambda/constants.ts +0 -11
- package/src/lambda/help.ts +0 -92
- package/src/lambda/lambda.ts +0 -230
- package/src/lambda/lambdaUtils.ts +0 -111
- package/src/lambda/logUtils.ts +0 -64
- package/src/lambda/scanDetailCompletion.ts +0 -78
- package/src/lambda/scanRequest.ts +0 -169
- package/src/lambda/scanResults.ts +0 -29
- package/src/lambda/types.ts +0 -36
- package/src/lambda/utils.ts +0 -188
- package/src/sbom/generateSbom.ts +0 -45
- package/src/scaAnalysis/common/auditReport.js +0 -59
- package/src/scaAnalysis/common/commonReportingFunctionsSca.js +0 -276
- package/src/scaAnalysis/common/formatMessage.js +0 -67
- package/src/scaAnalysis/common/models/ScaReportModel.ts +0 -81
- package/src/scaAnalysis/common/scaParserForGoAndJava.js +0 -41
- package/src/scaAnalysis/common/scaServicesUpload.js +0 -159
- package/src/scaAnalysis/common/treeUpload.js +0 -51
- package/src/scaAnalysis/common/utils/reportUtilsSca.ts +0 -123
- package/src/scaAnalysis/dotnet/analysis.js +0 -72
- package/src/scaAnalysis/dotnet/index.js +0 -11
- package/src/scaAnalysis/go/goAnalysis.js +0 -26
- package/src/scaAnalysis/go/goParseDeps.js +0 -203
- package/src/scaAnalysis/go/goReadDepFile.js +0 -34
- package/src/scaAnalysis/java/analysis.js +0 -148
- package/src/scaAnalysis/java/index.js +0 -29
- package/src/scaAnalysis/java/javaBuildDepsParser.js +0 -439
- package/src/scaAnalysis/javascript/analysis.js +0 -111
- package/src/scaAnalysis/javascript/index.js +0 -104
- package/src/scaAnalysis/javascript/scaServiceParser.js +0 -151
- package/src/scaAnalysis/legacy/legacyFlow.js +0 -43
- package/src/scaAnalysis/php/analysis.js +0 -78
- package/src/scaAnalysis/php/index.js +0 -28
- package/src/scaAnalysis/php/phpNewServicesMapper.js +0 -77
- package/src/scaAnalysis/processServicesFlow.js +0 -126
- package/src/scaAnalysis/python/analysis.js +0 -93
- package/src/scaAnalysis/python/index.js +0 -16
- package/src/scaAnalysis/repoMode/gradleParser.js +0 -88
- package/src/scaAnalysis/repoMode/index.js +0 -21
- package/src/scaAnalysis/repoMode/mavenParser.js +0 -138
- package/src/scaAnalysis/ruby/analysis.js +0 -413
- package/src/scaAnalysis/ruby/index.js +0 -16
- package/src/scaAnalysis/scaAnalysis.js +0 -172
- package/src/scan/fileUtils.js +0 -218
- package/src/scan/formatScanOutput.ts +0 -225
- package/src/scan/help.js +0 -56
- package/src/scan/models/groupedResultsModel.ts +0 -20
- package/src/scan/models/resultContentModel.ts +0 -86
- package/src/scan/models/scanResultsModel.ts +0 -55
- package/src/scan/populateProjectIdAndProjectName.js +0 -73
- package/src/scan/saveResults.js +0 -14
- package/src/scan/scan.ts +0 -68
- package/src/scan/scanConfig.js +0 -58
- package/src/scan/scanController.js +0 -98
- package/src/scan/scanResults.js +0 -171
- package/src/telemetry/telemetry.ts +0 -154
- package/src/utils/capabilities.js +0 -12
- package/src/utils/commonApi.js +0 -103
- package/src/utils/filterProjectPath.js +0 -25
- package/src/utils/generalAPI.js +0 -52
- package/src/utils/getConfig.ts +0 -34
- package/src/utils/oraWrapper.js +0 -29
- package/src/utils/paramsUtil/commandlineParams.js +0 -12
- package/src/utils/paramsUtil/configStoreParams.js +0 -19
- package/src/utils/paramsUtil/envVariableParams.js +0 -10
- package/src/utils/paramsUtil/paramHandler.js +0 -38
- package/src/utils/parsedCLIOptions.js +0 -32
- package/src/utils/requestUtils.js +0 -29
- package/src/utils/saveFile.js +0 -20
- package/src/utils/validationCheck.js +0 -39
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
const readBuildGradleFile = async (project) => {
|
|
1
|
+
import { parseFile } from 'gradle-to-js/lib/parser.js';
|
|
2
|
+
export const readBuildGradleFile = async (project) => {
|
|
4
3
|
const gradleFilePath = project.cwd + '/build.gradle';
|
|
5
|
-
return await
|
|
4
|
+
return await parseFile(gradleFilePath);
|
|
6
5
|
};
|
|
7
|
-
const filterGav = (groupId, artifactId, version, gradleJson) => {
|
|
6
|
+
export const filterGav = (groupId, artifactId, version, gradleJson) => {
|
|
8
7
|
if (groupId === '') {
|
|
9
8
|
if (artifactId.includes(':')) {
|
|
10
9
|
groupId = artifactId.split(':')[0].replace("'", '');
|
|
@@ -25,7 +24,7 @@ const filterGav = (groupId, artifactId, version, gradleJson) => {
|
|
|
25
24
|
}
|
|
26
25
|
return { groupId, artifactId, version };
|
|
27
26
|
};
|
|
28
|
-
const parseGradleJson = gradleJson => {
|
|
27
|
+
export const parseGradleJson = gradleJson => {
|
|
29
28
|
let deps = gradleJson.dependencies;
|
|
30
29
|
let dependencyTree = {};
|
|
31
30
|
if (deps === undefined) {
|
|
@@ -57,7 +56,7 @@ const parseGradleJson = gradleJson => {
|
|
|
57
56
|
}
|
|
58
57
|
return dependencyTree;
|
|
59
58
|
};
|
|
60
|
-
const getVersion = (gradleJson, dependencyWithoutVersion) => {
|
|
59
|
+
export const getVersion = (gradleJson, dependencyWithoutVersion) => {
|
|
61
60
|
let parentVersion = gradleJson.plugins[0].version;
|
|
62
61
|
let parentGroupName = gradleJson.plugins[0].id;
|
|
63
62
|
if (parentGroupName === dependencyWithoutVersion) {
|
|
@@ -67,9 +66,4 @@ const getVersion = (gradleJson, dependencyWithoutVersion) => {
|
|
|
67
66
|
return null;
|
|
68
67
|
}
|
|
69
68
|
};
|
|
70
|
-
|
|
71
|
-
readBuildGradleFile,
|
|
72
|
-
parseGradleJson,
|
|
73
|
-
getVersion,
|
|
74
|
-
filterGav
|
|
75
|
-
};
|
|
69
|
+
//# sourceMappingURL=gradleParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gradleParser.js","sourceRoot":"","sources":["../../../src/scaAnalysis/repoMode/gradleParser.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAC,OAAO,EAAC,EAAE;IACjD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,GAAG,eAAe,CAAA;IACpD,OAAO,MAAM,SAAS,CAAC,cAAc,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;IACpE,IAAI,OAAO,KAAK,EAAE,EAAE;QAClB,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5B,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;SACpD;KACF;IAED,IAAI,OAAO,KAAK,EAAE,EAAE;QAClB,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC5B,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC9B,CAAC,CAAC,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;SACrB;KACF;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACpC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;KACvD;IAED,IAAI,OAAO,KAAK,IAAI,EAAE;QACpB,OAAO,GAAG,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;KAC1C;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC,EAAE;IAC1C,IAAI,IAAI,GAAG,UAAU,CAAC,YAAY,CAAA;IAClC,IAAI,cAAc,GAAG,EAAE,CAAA;IAEvB,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;QAClB,IAAI,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAEjC,IAAI,cAAc,KAAK,gBAAgB,EAAE;YACvC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC7B,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;YAE7B,IAAI,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;YAErE,IAAI,OAAO,GACT,WAAW,CAAC,OAAO;gBACnB,GAAG;gBACH,WAAW,CAAC,UAAU;gBACtB,GAAG;gBACH,WAAW,CAAC,OAAO,CAAA;YAErB,IAAI,gBAAgB,GAAG;gBACrB,IAAI,EAAE,WAAW,CAAC,UAAU;gBAC5B,KAAK,EAAE,WAAW,CAAC,OAAO;gBAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,EAAE;aACjB,CAAA;YACD,cAAc,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAA;SAC3C;KACF;IACD,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,wBAAwB,EAAE,EAAE;IACjE,IAAI,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACjD,IAAI,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9C,IAAI,eAAe,KAAK,wBAAwB,EAAE;QAChD,OAAO,aAAa,CAAA;KACrB;SAAM;QACL,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA"}
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const buildRepo = async (config, languageFiles) => {
|
|
1
|
+
import { readPomFile, parsePomFile } from './mavenParser.js';
|
|
2
|
+
import { readBuildGradleFile, parseGradleJson } from './gradleParser.js';
|
|
3
|
+
import { determineProjectTypeAndCwd } from '../java/analysis.js';
|
|
4
|
+
export const buildRepo = async (config, languageFiles) => {
|
|
6
5
|
const project = determineProjectTypeAndCwd(languageFiles.JAVA, config);
|
|
7
6
|
if (project.projectType === 'maven') {
|
|
8
|
-
let jsonPomFile =
|
|
9
|
-
return
|
|
7
|
+
let jsonPomFile = readPomFile(project);
|
|
8
|
+
return parsePomFile(jsonPomFile);
|
|
10
9
|
}
|
|
11
10
|
else if (project.projectType === 'gradle') {
|
|
12
|
-
const gradleJson =
|
|
13
|
-
return
|
|
11
|
+
const gradleJson = readBuildGradleFile(project);
|
|
12
|
+
return parseGradleJson(await gradleJson);
|
|
14
13
|
}
|
|
15
14
|
else {
|
|
16
15
|
console.log('Unable to read project files.');
|
|
17
16
|
}
|
|
18
17
|
};
|
|
19
|
-
|
|
20
|
-
buildRepo
|
|
21
|
-
};
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scaAnalysis/repoMode/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAEhE,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;IACvD,MAAM,OAAO,GAAG,0BAA0B,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAEtE,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO,EAAE;QACnC,IAAI,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QACtC,OAAO,YAAY,CAAC,WAAW,CAAC,CAAA;KACjC;SAAM,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE;QAC3C,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAC/C,OAAO,eAAe,CAAC,MAAM,UAAU,CAAC,CAAA;KACzC;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;KAC7C;AACH,CAAC,CAAA"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const readPomFile = project => {
|
|
1
|
+
import { readFileSync } from 'fs';
|
|
2
|
+
import { XMLParser } from 'fast-xml-parser';
|
|
3
|
+
export const readPomFile = project => {
|
|
5
4
|
const mavenFilePath = project.cwd + '/pom.xml';
|
|
6
|
-
const projectFile =
|
|
5
|
+
const projectFile = readFileSync(mavenFilePath);
|
|
7
6
|
const parser = new XMLParser();
|
|
8
7
|
return parser.parse(projectFile);
|
|
9
8
|
};
|
|
10
|
-
const parsePomFile = jsonPomFile => {
|
|
9
|
+
export const parsePomFile = jsonPomFile => {
|
|
11
10
|
let dependencyTree = {};
|
|
12
11
|
let dependencies = [];
|
|
13
12
|
let dependencyManagement = [];
|
|
@@ -18,6 +17,8 @@ const parsePomFile = jsonPomFile => {
|
|
|
18
17
|
dependencyManagement =
|
|
19
18
|
jsonPomFile.project.dependencyManagement.dependencies.dependency;
|
|
20
19
|
}
|
|
20
|
+
//merge dependencies with dependencyManagement deps
|
|
21
|
+
//filter out any that don't appear in both by groupId and artifactId
|
|
21
22
|
const mergedAndFilteredDeps = dependencies.map(obj1 => {
|
|
22
23
|
const obj2 = dependencyManagement.find(obj2 => obj2.groupId === obj1.groupId && obj2.artifactId === obj1.artifactId);
|
|
23
24
|
return obj2 ? { ...obj1, ...obj2 } : obj1;
|
|
@@ -43,7 +44,7 @@ const buildParent = parent => {
|
|
|
43
44
|
version: parent.version
|
|
44
45
|
};
|
|
45
46
|
};
|
|
46
|
-
const getVersionFromParent = (parentObj, dependencyWithoutVersion) => {
|
|
47
|
+
export const getVersionFromParent = (parentObj, dependencyWithoutVersion) => {
|
|
47
48
|
const { groupId, version } = parentObj;
|
|
48
49
|
if (groupId === dependencyWithoutVersion.groupId) {
|
|
49
50
|
return version;
|
|
@@ -67,6 +68,7 @@ const getVersionFromProperties = (properties, dep) => {
|
|
|
67
68
|
const buildDependencies = (dependencies, dependencyTree, jsonPomFile) => {
|
|
68
69
|
const parent = getParentDependency(jsonPomFile);
|
|
69
70
|
for (const dep of dependencies) {
|
|
71
|
+
//sometimes versions are parsed as numbers, convert to string
|
|
70
72
|
const versionAsString = dep.version ? dep.version.toString() : dep.version;
|
|
71
73
|
if (versionAsString && !versionAsString.includes('${')) {
|
|
72
74
|
const depName = dep.groupId + '/' + dep.artifactId + '@' + versionAsString;
|
|
@@ -79,6 +81,7 @@ const buildDependencies = (dependencies, dependencyTree, jsonPomFile) => {
|
|
|
79
81
|
}
|
|
80
82
|
else if (!dep.version) {
|
|
81
83
|
if (parent && parent.version) {
|
|
84
|
+
//get version where group matches from parent tag
|
|
82
85
|
const { parent } = jsonPomFile.project;
|
|
83
86
|
const parsedVersion = getVersionFromParent(parent, dep);
|
|
84
87
|
const depName = dep.groupId + '/' + dep.artifactId + '@' + parsedVersion;
|
|
@@ -88,6 +91,7 @@ const buildDependencies = (dependencies, dependencyTree, jsonPomFile) => {
|
|
|
88
91
|
}
|
|
89
92
|
};
|
|
90
93
|
const searchAndBuildFromProperties = (jsonPomFile, dep, dependencyTree) => {
|
|
94
|
+
//get version from properties tag
|
|
91
95
|
const { properties } = jsonPomFile.project;
|
|
92
96
|
let versionFromProperties = getVersionFromProperties(properties, dep);
|
|
93
97
|
if (versionFromProperties) {
|
|
@@ -110,8 +114,4 @@ const buildDep = (dep, version) => {
|
|
|
110
114
|
dependencies: []
|
|
111
115
|
};
|
|
112
116
|
};
|
|
113
|
-
|
|
114
|
-
readPomFile,
|
|
115
|
-
getVersionFromParent,
|
|
116
|
-
parsePomFile
|
|
117
|
-
};
|
|
117
|
+
//# sourceMappingURL=mavenParser.js.map
|
|
@@ -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
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
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 =
|
|
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 =
|
|
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(
|
|
302
|
+
throw new Error(__('languageAnalysisHasNoLockFile', 'ruby'));
|
|
299
303
|
}
|
|
300
304
|
if (!languageFiles.includes('Gemfile')) {
|
|
301
|
-
throw new Error(
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
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 '../commands/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 '../commands/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
|
|
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
|
-
?
|
|
33
|
+
? getDirectoryFromPathGiven(config.file).concat('/')
|
|
35
34
|
: config.file;
|
|
36
|
-
filesFound = await
|
|
37
|
-
filesFound = await
|
|
38
|
-
|
|
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(
|
|
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
|
|
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
|
|
58
|
+
messageToSend = await javaAnalysis(config, filesFound[0]);
|
|
58
59
|
}
|
|
59
60
|
break;
|
|
60
61
|
case JAVASCRIPT:
|
|
61
|
-
messageToSend = await jsAnalysis
|
|
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
|
|
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
|
|
104
|
+
let reportResponse = await processUpload(messageToSend, config, reportSpinner);
|
|
103
105
|
const reportModelLibraryList = convertGenericToTypedReportModelSca(reportResponse.reportArray);
|
|
104
|
-
await
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
console.log(
|
|
118
|
-
|
|
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
|
-
|
|
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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"}
|