@contrast/contrast 2.0.2-beta.3 → 2.0.2-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +2 -1
- 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 +17 -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 +2 -1
- 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 +2 -1
- 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 +8 -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 +33 -42
- 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
package/dist/utils/commonApi.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const getTimeout = config => {
|
|
1
|
+
import HttpClient from './../common/HTTPClient.js';
|
|
2
|
+
import { badRequestError, unauthenticatedError, forbiddenError, proxyError, genericError, maxAppError, snapshotFailureError, vulnerabilitiesFailureError, reportFailureError, parametersError, invalidHostNameError } from '../common/errorHandling.js';
|
|
3
|
+
import { performance } from 'perf_hooks';
|
|
4
|
+
import { millisToSeconds } from './requestUtils.js';
|
|
5
|
+
import { failSpinner } from './oraWrapper.js';
|
|
6
|
+
export const getTimeout = config => {
|
|
8
7
|
if (config.timeout) {
|
|
9
8
|
return config.timeout;
|
|
10
9
|
}
|
|
@@ -15,16 +14,16 @@ const getTimeout = config => {
|
|
|
15
14
|
return 300;
|
|
16
15
|
}
|
|
17
16
|
};
|
|
18
|
-
const handleTimeout = (startTime, timeout, reportSpinner) => {
|
|
17
|
+
export const handleTimeout = (startTime, timeout, reportSpinner) => {
|
|
19
18
|
const endTime = performance.now() - startTime;
|
|
20
|
-
if (
|
|
21
|
-
|
|
19
|
+
if (millisToSeconds(endTime) > timeout) {
|
|
20
|
+
failSpinner(reportSpinner, 'Contrast audit timed out at the specified timeout of ' +
|
|
22
21
|
timeout +
|
|
23
22
|
' seconds.');
|
|
24
23
|
throw new Error('You can update the timeout using --timeout');
|
|
25
24
|
}
|
|
26
25
|
};
|
|
27
|
-
const handleResponseErrors = (res, api) => {
|
|
26
|
+
export const handleResponseErrors = (res, api) => {
|
|
28
27
|
if (res.statusCode === 400) {
|
|
29
28
|
api === 'catalogue' ? badRequestError(true) : badRequestError(false);
|
|
30
29
|
}
|
|
@@ -60,30 +59,22 @@ const handleResponseErrors = (res, api) => {
|
|
|
60
59
|
genericError(res);
|
|
61
60
|
}
|
|
62
61
|
};
|
|
63
|
-
const getProtocol = host => {
|
|
62
|
+
export const getProtocol = host => {
|
|
64
63
|
const hasProtocol = host.toLowerCase().includes('https://') ||
|
|
65
64
|
host.toLowerCase().includes('http://');
|
|
66
65
|
return hasProtocol ? host : 'https://' + host;
|
|
67
66
|
};
|
|
68
|
-
const getPath = host => {
|
|
67
|
+
export const getPath = host => {
|
|
69
68
|
const hasContrastPath = host.toLowerCase().endsWith('/contrast');
|
|
70
69
|
return hasContrastPath
|
|
71
70
|
? host.toLowerCase().substring(0, host.length - 9)
|
|
72
71
|
: host.replace(/\/*$/, '');
|
|
73
72
|
};
|
|
74
|
-
const getValidHost = host => {
|
|
73
|
+
export const getValidHost = host => {
|
|
75
74
|
const correctProtocol = getProtocol(host);
|
|
76
75
|
return getPath(correctProtocol);
|
|
77
76
|
};
|
|
78
|
-
const getHttpClient = config => {
|
|
77
|
+
export const getHttpClient = config => {
|
|
79
78
|
return new HttpClient(config);
|
|
80
79
|
};
|
|
81
|
-
|
|
82
|
-
getPath: getPath,
|
|
83
|
-
getValidHost: getValidHost,
|
|
84
|
-
getProtocol: getProtocol,
|
|
85
|
-
handleResponseErrors: handleResponseErrors,
|
|
86
|
-
getHttpClient: getHttpClient,
|
|
87
|
-
handleTimeout: handleTimeout,
|
|
88
|
-
getTimeout: getTimeout
|
|
89
|
-
};
|
|
80
|
+
//# sourceMappingURL=commonApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commonApi.js","sourceRoot":"","sources":["../../src/utils/commonApi.js"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
const path = require('path');
|
|
3
2
|
const child_process = require('child_process');
|
|
4
3
|
function resolveFilePath(filepath) {
|
|
@@ -23,3 +22,5 @@ module.exports = {
|
|
|
23
22
|
returnProjectPath: returnProjectPath,
|
|
24
23
|
resolveFilePath: resolveFilePath
|
|
25
24
|
};
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=filterProjectPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterProjectPath.js","sourceRoot":"","sources":["../../src/utils/filterProjectPath.js"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAE9C,SAAS,eAAe,CAAC,QAAQ;IAC/B,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KACtD;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC7B,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,EAAE;QAC/B,IAAI,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;QACrD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;KAC3C;SAAM,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,EAAE;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAA;KACvB;SAAM;QACL,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;KACxD;AACH,CAAC,CAAA;AAED,MAAM,CAAC,OAAO,GAAG;IACf,iBAAiB,EAAE,iBAAiB;IACpC,eAAe,EAAE,eAAe;CACjC,CAAA"}
|
package/dist/utils/generalAPI.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const client = commonApi.getHttpClient(config);
|
|
1
|
+
import { featuresTeamServer } from './capabilities.js';
|
|
2
|
+
import semver from 'semver';
|
|
3
|
+
import { isNil } from 'lodash-es';
|
|
4
|
+
import { getHttpClient, handleResponseErrors } from './commonApi.js';
|
|
5
|
+
export const getGlobalProperties = async (config) => {
|
|
6
|
+
const client = getHttpClient(config);
|
|
8
7
|
return client
|
|
9
8
|
.getGlobalProperties(config.host)
|
|
10
9
|
.then(res => {
|
|
@@ -12,21 +11,21 @@ const getGlobalProperties = async (config) => {
|
|
|
12
11
|
return res.body;
|
|
13
12
|
}
|
|
14
13
|
else {
|
|
15
|
-
|
|
14
|
+
handleResponseErrors(res, 'globalProperties');
|
|
16
15
|
}
|
|
17
16
|
})
|
|
18
17
|
.catch(err => {
|
|
19
18
|
console.log(err);
|
|
20
19
|
});
|
|
21
20
|
};
|
|
22
|
-
const getMode = async (config) => {
|
|
21
|
+
export const getMode = async (config) => {
|
|
23
22
|
const features = await getGlobalProperties(config);
|
|
24
23
|
if (!isNil(features?.mode)) {
|
|
25
24
|
return features.mode;
|
|
26
25
|
}
|
|
27
26
|
return '';
|
|
28
27
|
};
|
|
29
|
-
const getFeatures = version => {
|
|
28
|
+
export const getFeatures = version => {
|
|
30
29
|
const featuresEnabled = [];
|
|
31
30
|
featuresTeamServer.forEach(feature => {
|
|
32
31
|
const versionFrom = Object.values(feature)[0];
|
|
@@ -36,12 +35,7 @@ const getFeatures = version => {
|
|
|
36
35
|
});
|
|
37
36
|
return featuresEnabled;
|
|
38
37
|
};
|
|
39
|
-
const isFeatureEnabled = (features, featureName) => {
|
|
38
|
+
export const isFeatureEnabled = (features, featureName) => {
|
|
40
39
|
return features.includes(featureName);
|
|
41
40
|
};
|
|
42
|
-
|
|
43
|
-
getGlobalProperties,
|
|
44
|
-
getFeatures,
|
|
45
|
-
isFeatureEnabled,
|
|
46
|
-
getMode
|
|
47
|
-
};
|
|
41
|
+
//# sourceMappingURL=generalAPI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generalAPI.js","sourceRoot":"","sources":["../../src/utils/generalAPI.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAEpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAC,MAAM,EAAC,EAAE;IAChD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,OAAO,MAAM;SACV,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;SAChC,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;YAC1B,OAAO,GAAG,CAAC,IAAI,CAAA;SAChB;aAAM;YACL,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;SAC9C;IACH,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAC,MAAM,EAAC,EAAE;IACpC,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAElD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;QAC1B,OAAO,QAAQ,CAAC,IAAI,CAAA;KACrB;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE;IACnC,MAAM,eAAe,GAAG,EAAE,CAAA;IAE1B,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;YACrC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAA;IACV,CAAC,CAAC,CAAA;IACF,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE;IACxD,OAAO,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACvC,CAAC,CAAA"}
|
package/dist/utils/getConfig.js
CHANGED
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.setConfigValues = exports.localConfig = void 0;
|
|
7
|
-
const conf_1 = __importDefault(require("conf"));
|
|
8
|
-
const constants_1 = require("../constants/constants");
|
|
1
|
+
import Conf from 'conf';
|
|
2
|
+
import { CE_URL } from '../constants/constants.js';
|
|
9
3
|
const localConfig = (name, version) => {
|
|
10
|
-
const config = new
|
|
4
|
+
const config = new Conf({
|
|
5
|
+
projectName: '@contrast/contrast',
|
|
11
6
|
configName: name
|
|
12
7
|
});
|
|
13
8
|
config.set('version', version);
|
|
14
9
|
if (!config.has('host')) {
|
|
15
|
-
config.set('host',
|
|
10
|
+
config.set('host', CE_URL);
|
|
16
11
|
}
|
|
17
12
|
return config;
|
|
18
13
|
};
|
|
19
|
-
exports.localConfig = localConfig;
|
|
20
14
|
const setConfigValues = (config, values) => {
|
|
21
15
|
config.set('apiKey', values.apiKey);
|
|
22
16
|
config.set('organizationId', values.orgId);
|
|
23
17
|
config.set('authorization', values.authHeader);
|
|
24
|
-
values.host ? config.set('host', values.host) : config.set('host',
|
|
18
|
+
values.host ? config.set('host', values.host) : config.set('host', CE_URL);
|
|
25
19
|
};
|
|
26
|
-
|
|
20
|
+
export { localConfig, setConfigValues };
|
|
21
|
+
//# sourceMappingURL=getConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConfig.js","sourceRoot":"","sources":["../../src/utils/getConfig.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAalD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE;IACpD,MAAM,MAAM,GAAiB,IAAI,IAAI,CAAsB;QACzD,WAAW,EAAE,oBAAoB;QACjC,UAAU,EAAE,IAAI;KACjB,CAAC,CAAA;IACF,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAE9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACvB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC3B;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,MAAoB,EAAE,MAA2B,EAAE,EAAE;IAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACnC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1C,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAC5E,CAAC,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA"}
|
package/dist/utils/oraWrapper.js
CHANGED
|
@@ -1,24 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
const returnOra = text => {
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
export const returnOra = text => {
|
|
4
3
|
return ora(text);
|
|
5
4
|
};
|
|
6
|
-
const startSpinner = spinner => {
|
|
5
|
+
export const startSpinner = spinner => {
|
|
7
6
|
spinner.start();
|
|
8
7
|
};
|
|
9
|
-
const stopSpinner = spinner => {
|
|
8
|
+
export const stopSpinner = spinner => {
|
|
10
9
|
spinner.stop();
|
|
11
10
|
};
|
|
12
|
-
const succeedSpinner = (spinner, text) => {
|
|
11
|
+
export const succeedSpinner = (spinner, text) => {
|
|
13
12
|
spinner.succeed(text);
|
|
14
13
|
};
|
|
15
|
-
const failSpinner = (spinner, text) => {
|
|
14
|
+
export const failSpinner = (spinner, text) => {
|
|
16
15
|
spinner.fail(text);
|
|
17
16
|
};
|
|
18
|
-
|
|
19
|
-
returnOra,
|
|
20
|
-
startSpinner,
|
|
21
|
-
succeedSpinner,
|
|
22
|
-
failSpinner,
|
|
23
|
-
stopSpinner
|
|
24
|
-
};
|
|
17
|
+
//# sourceMappingURL=oraWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oraWrapper.js","sourceRoot":"","sources":["../../src/utils/oraWrapper.js"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE;IAC9B,OAAO,GAAG,CAAC,IAAI,CAAC,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,EAAE;IACpC,OAAO,CAAC,KAAK,EAAE,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,EAAE;IACnC,OAAO,CAAC,IAAI,EAAE,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IAC9C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;IAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
const getAuth = (parsedCLIOptions = {}) => {
|
|
1
|
+
export const commandGetAuth = (parsedCLIOptions = {}) => {
|
|
3
2
|
let params = {};
|
|
4
3
|
params.apiKey = parsedCLIOptions['apiKey'];
|
|
5
4
|
params.authorization = parsedCLIOptions['authorization'];
|
|
@@ -7,6 +6,4 @@ const getAuth = (parsedCLIOptions = {}) => {
|
|
|
7
6
|
params.organizationId = parsedCLIOptions['organizationId'];
|
|
8
7
|
return params;
|
|
9
8
|
};
|
|
10
|
-
|
|
11
|
-
getAuth: getAuth
|
|
12
|
-
};
|
|
9
|
+
//# sourceMappingURL=commandlineParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandlineParams.js","sourceRoot":"","sources":["../../../src/utils/paramsUtil/commandlineParams.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,gBAAgB,GAAG,EAAE,EAAE,EAAE;IACtD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,CAAC,aAAa,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAA;IACxD,MAAM,CAAC,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM,CAAC,cAAc,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;IAC1D,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const ContrastConf = config.localConfig(APP_NAME, APP_VERSION);
|
|
1
|
+
import { getValidHost } from '../commonApi.js';
|
|
2
|
+
import { localConfig } from '../getConfig.js';
|
|
3
|
+
import { APP_NAME, getAppVersion } from '../../constants/constants.js';
|
|
4
|
+
import { checkConfigHasRequiredValues } from '../validationCheck.js';
|
|
5
|
+
export const configStoreGetAuth = () => {
|
|
6
|
+
const ContrastConf = localConfig(APP_NAME, getAppVersion());
|
|
8
7
|
let ContrastConfToUse = {};
|
|
9
|
-
if (
|
|
8
|
+
if (checkConfigHasRequiredValues(ContrastConf)) {
|
|
10
9
|
ContrastConfToUse.apiKey = ContrastConf.get('apiKey');
|
|
11
10
|
ContrastConfToUse.organizationId = ContrastConf.get('organizationId');
|
|
12
|
-
ContrastConfToUse.host =
|
|
11
|
+
ContrastConfToUse.host = getValidHost(ContrastConf.get('host'));
|
|
13
12
|
ContrastConfToUse.authorization = ContrastConf.get('authorization');
|
|
14
13
|
ContrastConfToUse.version = ContrastConf.get('version');
|
|
15
14
|
}
|
|
16
15
|
return ContrastConfToUse;
|
|
17
16
|
};
|
|
18
|
-
|
|
17
|
+
//# sourceMappingURL=configStoreParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configStoreParams.js","sourceRoot":"","sources":["../../../src/utils/paramsUtil/configStoreParams.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAEpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAA;IAC3D,IAAI,iBAAiB,GAAG,EAAE,CAAA;IAC1B,IAAI,4BAA4B,CAAC,YAAY,CAAC,EAAE;QAC9C,iBAAiB,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACrD,iBAAiB,CAAC,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QACrE,iBAAiB,CAAC,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;QAC/D,iBAAiB,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QACnE,iBAAiB,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;KACxD;IACD,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
const getAuth = () => {
|
|
1
|
+
export const envGetAuth = () => {
|
|
3
2
|
let params = {};
|
|
4
3
|
params.apiKey = process.env.CONTRAST__API__API_KEY;
|
|
5
4
|
params.authorization = process.env.CONTRAST__API__AUTHORIZATION;
|
|
@@ -7,4 +6,4 @@ const getAuth = () => {
|
|
|
7
6
|
params.organizationId = process.env.CONTRAST__API__ORGANIZATION_ID;
|
|
8
7
|
return params;
|
|
9
8
|
};
|
|
10
|
-
|
|
9
|
+
//# sourceMappingURL=envVariableParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envVariableParams.js","sourceRoot":"","sources":["../../../src/utils/paramsUtil/envVariableParams.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAA;IAClD,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAA;IAC/D,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;IAC5C,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAA;IAClE,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
let
|
|
9
|
-
let
|
|
10
|
-
let configStoreParamsAuth = configStoreParams.getAuth();
|
|
1
|
+
import { commandGetAuth } from './commandlineParams.js';
|
|
2
|
+
import { envGetAuth } from './envVariableParams.js';
|
|
3
|
+
import { configStoreGetAuth } from './configStoreParams.js';
|
|
4
|
+
import i18n from 'i18n';
|
|
5
|
+
import { validateAuthParams, validateFingerprintParams } from '../validationCheck.js';
|
|
6
|
+
export function getAuth(params) {
|
|
7
|
+
let commandLineAuthParamsAuth = commandGetAuth(params);
|
|
8
|
+
let envVariableParamsAuth = envGetAuth();
|
|
9
|
+
let configStoreParamsAuth = configStoreGetAuth();
|
|
11
10
|
if (validateAuthParams(commandLineAuthParamsAuth)) {
|
|
12
11
|
return commandLineAuthParamsAuth;
|
|
13
12
|
}
|
|
@@ -21,8 +20,8 @@ const getAuth = params => {
|
|
|
21
20
|
console.log(i18n.__('configNotFound'));
|
|
22
21
|
process.exit(1);
|
|
23
22
|
}
|
|
24
|
-
}
|
|
25
|
-
const getFingerprint = params => {
|
|
23
|
+
}
|
|
24
|
+
export const getFingerprint = params => {
|
|
26
25
|
if (validateFingerprintParams(params)) {
|
|
27
26
|
return params;
|
|
28
27
|
}
|
|
@@ -31,4 +30,4 @@ const getFingerprint = params => {
|
|
|
31
30
|
process.exit(1);
|
|
32
31
|
}
|
|
33
32
|
};
|
|
34
|
-
|
|
33
|
+
//# sourceMappingURL=paramHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paramHandler.js","sourceRoot":"","sources":["../../../src/utils/paramsUtil/paramHandler.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,uBAAuB,CAAA;AAE9B,MAAM,UAAU,OAAO,CAAC,MAAM;IAC5B,IAAI,yBAAyB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACtD,IAAI,qBAAqB,GAAG,UAAU,EAAE,CAAA;IACxC,IAAI,qBAAqB,GAAG,kBAAkB,EAAE,CAAA;IAEhD,IAAI,kBAAkB,CAAC,yBAAyB,CAAC,EAAE;QACjD,OAAO,yBAAyB,CAAA;KACjC;SAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,EAAE;QACpD,OAAO,qBAAqB,CAAA;KAC7B;SAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,EAAE;QACpD,OAAO,qBAAqB,CAAA;KAC7B;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAA;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE;IACrC,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE;QACrC,OAAO,MAAM,CAAA;KACd;SAAM;QACL,OAAO,CAAC,GAAG,CACT,4EAA4E,CAC7E,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const getCommandLineArgsCustom = async (contrastConf, command, parameterList, optionDefinitions) => {
|
|
1
|
+
import commandLineArgs from 'command-line-args';
|
|
2
|
+
import { sendTelemetryConfigAsConfObj } from '../telemetry/telemetry.js';
|
|
3
|
+
export const getCommandLineArgsCustom = async (contrastConf, command, parameterList, optionDefinitions) => {
|
|
5
4
|
try {
|
|
6
5
|
return commandLineArgs(optionDefinitions, {
|
|
7
6
|
argv: parameterList,
|
|
@@ -16,6 +15,4 @@ const getCommandLineArgsCustom = async (contrastConf, command, parameterList, op
|
|
|
16
15
|
process.exit(1);
|
|
17
16
|
}
|
|
18
17
|
};
|
|
19
|
-
|
|
20
|
-
getCommandLineArgsCustom
|
|
21
|
-
};
|
|
18
|
+
//# sourceMappingURL=parsedCLIOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsedCLIOptions.js","sourceRoot":"","sources":["../../src/utils/parsedCLIOptions.js"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAExE,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,YAAY,EACZ,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,EAAE;IACF,IAAI;QACF,OAAO,eAAe,CAAC,iBAAiB,EAAE;YACxC,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,IAAI;YACf,eAAe,EAAE,IAAI;SACtB,CAAC,CAAA;KACH;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,4BAA4B,CAChC,YAAY,EACZ,OAAO,EACP,aAAa,EACb,SAAS,EACT,WAAW,CACZ,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC,CAAA"}
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const Promise = require('bluebird');
|
|
1
|
+
import request from 'request';
|
|
2
|
+
import Promise from 'bluebird';
|
|
4
3
|
Promise.promisifyAll(request);
|
|
5
|
-
function sendRequest({ options, method = 'put' }) {
|
|
4
|
+
export function sendRequest({ options, method = 'put' }) {
|
|
6
5
|
return request[`${method}Async`](options.url, options);
|
|
7
6
|
}
|
|
8
|
-
const millisToSeconds = millis => {
|
|
7
|
+
export const millisToSeconds = millis => {
|
|
9
8
|
return (millis / 1000).toFixed(0);
|
|
10
9
|
};
|
|
11
|
-
const sleep = ms => {
|
|
10
|
+
export const sleep = ms => {
|
|
12
11
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
13
12
|
};
|
|
14
|
-
const timeOutError = (ms, reject) => {
|
|
13
|
+
export const timeOutError = (ms, reject) => {
|
|
15
14
|
return setTimeout(() => {
|
|
16
15
|
reject(new Error(`No input detected after 30s`));
|
|
17
16
|
}, ms);
|
|
18
17
|
};
|
|
19
|
-
|
|
20
|
-
sendRequest: sendRequest,
|
|
21
|
-
sleep: sleep,
|
|
22
|
-
millisToSeconds: millisToSeconds,
|
|
23
|
-
timeOutError: timeOutError
|
|
24
|
-
};
|
|
18
|
+
//# sourceMappingURL=requestUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/utils/requestUtils.js"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,OAAO,MAAM,UAAU,CAAA;AAE9B,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;AAE7B,MAAM,UAAU,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE;IACrD,OAAO,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE;IACtC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE;IACxB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE;IACzC,OAAO,UAAU,CAAC,GAAG,EAAE;QACrB,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAA;IAClD,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA"}
|
package/dist/utils/saveFile.js
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const saveScanFile = async (config, scanResults) => {
|
|
1
|
+
import { SARIF_FILE } from '../constants/constants.js';
|
|
2
|
+
import { getHttpClient } from './commonApi.js';
|
|
3
|
+
import { writeResultsToFile } from '../scan/saveResults.js';
|
|
4
|
+
import i18n from 'i18n';
|
|
5
|
+
export const saveScanFile = async (config, scanResults) => {
|
|
7
6
|
if (config.save === null || config.save.toUpperCase() === SARIF_FILE) {
|
|
8
7
|
const scanId = scanResults.scanDetail.id;
|
|
9
|
-
const client =
|
|
8
|
+
const client = getHttpClient(config);
|
|
10
9
|
const rawResults = await client.getSpecificScanResultSarif(config, scanId);
|
|
11
|
-
const name = await
|
|
10
|
+
const name = await writeResultsToFile(rawResults?.body);
|
|
12
11
|
console.log(`Scan Results saved to ${name}`);
|
|
13
12
|
}
|
|
14
13
|
else {
|
|
15
14
|
console.log(i18n.__('scanNoFiletypeSpecifiedForSave'));
|
|
16
15
|
}
|
|
17
16
|
};
|
|
18
|
-
|
|
19
|
-
saveScanFile: saveScanFile
|
|
20
|
-
};
|
|
17
|
+
//# sourceMappingURL=saveFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveFile.js","sourceRoot":"","sources":["../../src/utils/saveFile.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;IACxD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE;QACpE,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;QACpC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC1E,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QACvD,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAA;KAC7C;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,gCAAgC,CAAC,CAAC,CAAA;KACvD;AACH,CAAC,CAAA"}
|
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
const checkConfigHasRequiredValues = store => {
|
|
1
|
+
export const checkConfigHasRequiredValues = store => {
|
|
3
2
|
return (store.has('apiKey') &&
|
|
4
3
|
store.has('organizationId') &&
|
|
5
4
|
store.has('host') &&
|
|
6
5
|
store.has('authorization') &&
|
|
7
6
|
store.has('version'));
|
|
8
7
|
};
|
|
9
|
-
const validateRequiredScanParams = params => {
|
|
8
|
+
export const validateRequiredScanParams = params => {
|
|
10
9
|
return (params.apiKey &&
|
|
11
10
|
params.organizationId &&
|
|
12
11
|
params.host &&
|
|
13
12
|
params.authorization &&
|
|
14
13
|
params.version);
|
|
15
14
|
};
|
|
16
|
-
const validateAuthParams = params => {
|
|
15
|
+
export const validateAuthParams = params => {
|
|
17
16
|
return !!(params.apiKey &&
|
|
18
17
|
params.organizationId &&
|
|
19
18
|
params.host &&
|
|
20
19
|
params.authorization);
|
|
21
20
|
};
|
|
22
|
-
const validateFingerprintParams = params => {
|
|
21
|
+
export const validateFingerprintParams = params => {
|
|
23
22
|
return !!(params.repositoryUrl && params.repositoryName);
|
|
24
23
|
};
|
|
25
|
-
|
|
26
|
-
checkConfigHasRequiredValues: checkConfigHasRequiredValues,
|
|
27
|
-
validateAuthParams: validateAuthParams,
|
|
28
|
-
validateRequiredScanParams: validateRequiredScanParams,
|
|
29
|
-
validateFingerprintParams: validateFingerprintParams
|
|
30
|
-
};
|
|
24
|
+
//# sourceMappingURL=validationCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validationCheck.js","sourceRoot":"","sources":["../../src/utils/validationCheck.js"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC,EAAE;IAClD,OAAO,CACL,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnB,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC3B,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QACjB,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CACrB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,EAAE;IACjD,OAAO,CACL,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,cAAc;QACrB,MAAM,CAAC,IAAI;QACX,MAAM,CAAC,aAAa;QACpB,MAAM,CAAC,OAAO,CACf,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,EAAE;IACzC,OAAO,CAAC,CAAC,CACP,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,cAAc;QACrB,MAAM,CAAC,IAAI;QACX,MAAM,CAAC,aAAa,CACrB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,EAAE;IAChD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC,CAAA;AAC1D,CAAC,CAAA"}
|