@contrast/contrast 2.0.2-beta.1 → 2.0.2-beta.11
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 +2 -1
- package/dist/assess/assessConfig.js +9 -0
- package/dist/assess/assessConfig.js.map +1 -0
- package/dist/assess/help.js +36 -0
- package/dist/assess/help.js.map +1 -0
- package/dist/assess/http/index.js +39 -0
- package/dist/assess/http/index.js.map +1 -0
- package/dist/assess/index.js +69 -0
- package/dist/assess/index.js.map +1 -0
- package/dist/assess/metadata/findYamlFile.js +59 -0
- package/dist/assess/metadata/findYamlFile.js.map +1 -0
- package/dist/assess/metadata/index.js +37 -0
- package/dist/assess/metadata/index.js.map +1 -0
- package/dist/assess/metadata/utils.js +159 -0
- package/dist/assess/metadata/utils.js.map +1 -0
- package/dist/assess/printing/index.js +11 -0
- package/dist/assess/printing/index.js.map +1 -0
- package/dist/assess/printing/utils.js +119 -0
- package/dist/assess/printing/utils.js.map +1 -0
- package/dist/audit/auditConfig.js +9 -0
- package/dist/audit/auditConfig.js.map +1 -0
- package/dist/{commands/audit → audit}/auditController.js +12 -15
- package/dist/audit/auditController.js.map +1 -0
- package/dist/audit/auditRequests.js +178 -0
- package/dist/audit/auditRequests.js.map +1 -0
- package/dist/audit/auditRequestsLegacy.js +63 -0
- package/dist/audit/auditRequestsLegacy.js.map +1 -0
- package/dist/audit/catalogueApplication/catalogueApplication.js +16 -29
- package/dist/audit/catalogueApplication/catalogueApplication.js.map +1 -0
- package/dist/audit/help.js +67 -0
- package/dist/audit/help.js.map +1 -0
- package/dist/audit/languageAnalysisEngine/commonApi.js +12 -14
- 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 +21 -32
- 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/processAudit.js +22 -0
- package/dist/audit/processAudit.js.map +1 -0
- package/dist/audit/report/commonReportingFunctions.js +51 -77
- 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 +30 -57
- 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 +18 -19
- package/dist/audit/save.js.map +1 -0
- package/dist/{commands/audit → audit}/saveFile.js +3 -6
- package/dist/audit/saveFile.js.map +1 -0
- package/dist/auth/auth.js +103 -0
- package/dist/auth/auth.js.map +1 -0
- package/dist/auth/authRequests.js +18 -0
- package/dist/auth/authRequests.js.map +1 -0
- package/dist/cliConstants.js +57 -37
- package/dist/cliConstants.js.map +1 -0
- package/dist/commands/config/config.js +12 -13
- package/dist/commands/config/config.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/common/HTTPClient.js +200 -101
- package/dist/common/HTTPClient.js.map +1 -0
- package/dist/{scan → common}/autoDetection.js +53 -36
- package/dist/common/autoDetection.js.map +1 -0
- package/dist/common/baseRequest.js +59 -23
- 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 +49 -63
- 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/logging.js +26 -0
- package/dist/common/logging.js.map +1 -0
- package/dist/common/stringManipulations.js +8 -0
- package/dist/common/stringManipulations.js.map +1 -0
- package/dist/common/versionChecker.js +16 -19
- package/dist/common/versionChecker.js.map +1 -0
- package/dist/constants/constants.js +46 -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 +15 -10
- package/dist/constants/locales.js.map +1 -0
- package/dist/github/fingerprintConfig.js +10 -0
- package/dist/github/fingerprintConfig.js.map +1 -0
- package/dist/github/processFingerprint.js +26 -0
- package/dist/github/processFingerprint.js.map +1 -0
- package/dist/github/projectGroup.js +202 -0
- package/dist/github/projectGroup.js.map +1 -0
- package/dist/github/repoServices.js +73 -0
- package/dist/github/repoServices.js.map +1 -0
- package/dist/index.js +42 -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 +10 -13
- package/dist/scaAnalysis/common/auditReport.js.map +1 -0
- package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +35 -40
- 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 +53 -96
- package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
- package/dist/scaAnalysis/common/treeUpload.js +15 -25
- 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 +15 -20
- 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 +10 -12
- 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 +12 -9
- package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
- package/dist/scaAnalysis/java/analysis.js +26 -22
- 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 +41 -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 +15 -16
- package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
- package/dist/scaAnalysis/php/analysis.js +18 -18
- 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 +92 -37
- package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
- package/dist/scaAnalysis/python/analysis.js +18 -24
- 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 +9 -14
- package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
- package/dist/scaAnalysis/repoMode/index.js +11 -13
- package/dist/scaAnalysis/repoMode/index.js.map +1 -0
- package/dist/scaAnalysis/repoMode/mavenParser.js +26 -14
- 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 +54 -55
- package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
- package/dist/scan/fileUtils.js +36 -40
- 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 +24 -62
- package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
- package/dist/scan/processScan.js +28 -0
- package/dist/scan/processScan.js.map +1 -0
- package/dist/scan/saveResults.js +3 -6
- package/dist/scan/saveResults.js.map +1 -0
- package/dist/scan/scan.js +33 -53
- 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 +20 -22
- package/dist/scan/scanController.js.map +1 -0
- package/dist/scan/scanRequests.js +86 -0
- package/dist/scan/scanRequests.js.map +1 -0
- package/dist/scan/scanResults.js +26 -72
- 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 +61 -52
- 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 -33
- 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 +39 -48
- package/.prettierignore +0 -1
- package/bin/contrast.js +0 -2
- package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
- package/dist/commands/audit/auditConfig.js +0 -12
- package/dist/commands/audit/help.js +0 -70
- package/dist/commands/audit/processAudit.js +0 -24
- package/dist/commands/auth/auth.js +0 -120
- package/dist/commands/github/fingerprintConfig.js +0 -13
- package/dist/commands/github/processFingerprint.js +0 -28
- package/dist/commands/github/projectGroup.js +0 -254
- package/dist/commands/github/repoServices.js +0 -108
- package/dist/commands/scan/processScan.js +0 -31
- 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 -522
- 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 -294
- 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/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 -155
- 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 -119
- 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 -139
- package/src/scaAnalysis/ruby/analysis.js +0 -413
- package/src/scaAnalysis/ruby/index.js +0 -16
- package/src/scaAnalysis/scaAnalysis.js +0 -171
- package/src/scan/autoDetection.js +0 -175
- package/src/scan/fileUtils.js +0 -206
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/scan/help.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;IAC7C;QACE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC;KACnC;IACD;QACE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC;KAC9B;IACD;QACE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,8BAA8B,CAAC;QAC/C,OAAO,EAAE;YACP,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,4CAA4C,CAAC,GAAG,GAAG;YACtE,IAAI,CAAC,EAAE,CAAC,+BAA+B,CAAC;YACxC,EAAE;YACF,IAAI,CAAC,EAAE,CAAC,2BAA2B,CAAC;YACpC,IAAI,CAAC,EAAE,CAAC,kCAAkC,CAAC;SAC5C;KACF;IACD;QACE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC;QACvC,UAAU,EAAE,sBAAsB,CAAC,qBAAqB;QACxD,IAAI,EAAE;YACJ,YAAY;YACZ,iBAAiB;YACjB,SAAS;YACT,eAAe;YACf,MAAM;YACN,OAAO;YACP,MAAM;YACN,IAAI;YACJ,kBAAkB;YAClB,KAAK;YACL,QAAQ;YACR,MAAM;YACN,SAAS;YACT,OAAO;YACP,cAAc;SACf;KACF;IACD;QACE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC;QAC3C,UAAU,EAAE,sBAAsB,CAAC,oCAAoC;KACxE;IACD,eAAe,EAAE,CAAC,CAAC,CAAC;IACpB,eAAe,EAAE,CAAC,CAAC,CAAC;IACpB,eAAe,EAAE,CAAC,CAAC,CAAC;CACrB,CAAC,CAAA"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GroupedResultsModel = void 0;
|
|
4
|
-
class GroupedResultsModel {
|
|
1
|
+
export class GroupedResultsModel {
|
|
5
2
|
constructor(ruleId) {
|
|
6
3
|
this.ruleId = ruleId;
|
|
7
4
|
this.colour = '#999999';
|
|
8
5
|
this.codePathSet = new Set();
|
|
9
6
|
}
|
|
10
7
|
}
|
|
11
|
-
|
|
8
|
+
//# sourceMappingURL=groupedResultsModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"groupedResultsModel.js","sourceRoot":"","sources":["../../../src/scan/models/groupedResultsModel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB;IAc9B,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IACtC,CAAC;CACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=resultContentModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultContentModel.js","sourceRoot":"","sources":["../../../src/scan/models/resultContentModel.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScanResultsModel = void 0;
|
|
4
|
-
class ScanResultsModel {
|
|
1
|
+
export class ScanResultsModel {
|
|
5
2
|
constructor(scan) {
|
|
6
3
|
this.projectOverview = scan.projectOverview;
|
|
7
4
|
this.scanDetail = scan.scanDetail;
|
|
@@ -10,4 +7,4 @@ class ScanResultsModel {
|
|
|
10
7
|
this.newProject = scan.newProject;
|
|
11
8
|
}
|
|
12
9
|
}
|
|
13
|
-
|
|
10
|
+
//# sourceMappingURL=scanResultsModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanResultsModel.js","sourceRoot":"","sources":["../../../src/scan/models/scanResultsModel.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAgB;IAM3B,YAAY,IAAS;QACnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAkC,CAAA;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAwB,CAAA;QAC/C,IAAI,CAAC,oBAAoB;YACvB,IAAI,CAAC,oBAA4C,CAAA;QACnD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IACnC,CAAC;CACF"}
|
|
@@ -1,66 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
});
|
|
11
|
-
return { projectId: proj, isNewProject: false };
|
|
12
|
-
}
|
|
13
|
-
return { projectId: proj, isNewProject: true };
|
|
14
|
-
};
|
|
15
|
-
const createProjectId = async (config, client) => {
|
|
16
|
-
return client
|
|
17
|
-
.createProjectId(config)
|
|
18
|
-
.then(res => {
|
|
19
|
-
if (res.statusCode === 409) {
|
|
20
|
-
console.log(i18n.__('foundExistingProjectScan'));
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (res.statusCode === 403) {
|
|
24
|
-
console.log(i18n.__('permissionsError'));
|
|
25
|
-
process.exit(1);
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (res.statusCode === 429) {
|
|
29
|
-
console.log(i18n.__('exceededFreeTier'));
|
|
30
|
-
process.exit(1);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
if (res.statusCode === 201) {
|
|
34
|
-
console.log(i18n.__('projectCreatedScan'));
|
|
35
|
-
if (config.verbose) {
|
|
36
|
-
console.log(i18n.__('populateProjectIdMessage', res.body.id));
|
|
37
|
-
}
|
|
38
|
-
return res.body.id;
|
|
1
|
+
import i18n from 'i18n';
|
|
2
|
+
import { createProjectId, getProjectIdByName } from './scanRequests.js';
|
|
3
|
+
export const populateProjectId = async (config) => {
|
|
4
|
+
try {
|
|
5
|
+
const projRes = (await createProjectId(config));
|
|
6
|
+
console.log(i18n.__('projectCreatedScan'));
|
|
7
|
+
if (config.debug) {
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
console.log(i18n.__('populateProjectIdMessage', projRes.body.id));
|
|
39
10
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
.getProjectIdByName(config)
|
|
52
|
-
.then(res => {
|
|
53
|
-
if (res.statusCode === 200) {
|
|
54
|
-
if (config.verbose) {
|
|
55
|
-
console.log(i18n.__('populateProjectIdMessage', res.body.content[0].id));
|
|
11
|
+
// @ts-ignore
|
|
12
|
+
const projResId = projRes.body.id;
|
|
13
|
+
return { projectId: projResId, isNewProject: true };
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
if (err.response.statusCode === 409) {
|
|
17
|
+
const proj = (await getProjectIdByName(config));
|
|
18
|
+
// @ts-ignore
|
|
19
|
+
const existingProjectId = proj.body.content[0].id;
|
|
20
|
+
if (config.debug) {
|
|
21
|
+
console.log(i18n.__('populateProjectIdMessage', existingProjectId));
|
|
56
22
|
}
|
|
57
|
-
|
|
23
|
+
console.log(i18n.__('foundExistingProjectScan'));
|
|
24
|
+
return { projectId: existingProjectId, isNewProject: false };
|
|
58
25
|
}
|
|
59
|
-
}
|
|
60
|
-
.catch(err => {
|
|
61
|
-
console.log(err);
|
|
62
|
-
});
|
|
63
|
-
};
|
|
64
|
-
module.exports = {
|
|
65
|
-
populateProjectId: populateProjectId
|
|
26
|
+
}
|
|
66
27
|
};
|
|
28
|
+
//# sourceMappingURL=populateProjectIdAndProjectName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"populateProjectIdAndProjectName.js","sourceRoot":"","sources":["../../src/scan/populateProjectIdAndProjectName.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;IACrD,IAAI;QACF,MAAM,OAAO,GAAG,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAkB,CAAA;QAEhE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAA;QAC1C,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,aAAa;YACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;SAClE;QAED,aAAa;QACb,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;QACjC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;KACpD;IAAC,OAAO,GAAQ,EAAE;QACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;YACnC,MAAM,IAAI,GAAG,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAkB,CAAA;YAEhE,aAAa;YACb,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAEjD,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAC,CAAA;aACpE;YAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAA;YAEhD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;SAC7D;KACF;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import scanConfig from './scanConfig.js';
|
|
2
|
+
import { startScan } from './scanController.js';
|
|
3
|
+
import { saveScanFile } from '../utils/saveFile.js';
|
|
4
|
+
import { ScanResultsModel } from './models/scanResultsModel.js';
|
|
5
|
+
import { formatScanOutput } from './formatScanOutput.js';
|
|
6
|
+
import { sendTelemetryConfigAsObject } from '../telemetry/telemetry.js';
|
|
7
|
+
import { processFail } from '../common/fail.js';
|
|
8
|
+
import { postRunMessage } from '../common/commonHelp.js';
|
|
9
|
+
export const processScan = async (contrastConf, argv) => {
|
|
10
|
+
let config = await scanConfig.getScanConfig(contrastConf, 'scan', argv);
|
|
11
|
+
let output = undefined;
|
|
12
|
+
const scanResults = new ScanResultsModel(await startScan(config));
|
|
13
|
+
await sendTelemetryConfigAsObject(config, 'scan', argv, 'SUCCESS', scanResults.scanDetail.language);
|
|
14
|
+
if (scanResults.scanResultsInstances !== undefined) {
|
|
15
|
+
output = formatScanOutput(scanResults);
|
|
16
|
+
}
|
|
17
|
+
if (config.save !== undefined) {
|
|
18
|
+
await saveScanFile(config, scanResults);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
console.log('\nUse contrast scan --save to save results as a SARIF');
|
|
22
|
+
}
|
|
23
|
+
if (config.fail) {
|
|
24
|
+
processFail(config, output);
|
|
25
|
+
}
|
|
26
|
+
postRunMessage('scan');
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=processScan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processScan.js","sourceRoot":"","sources":["../../src/scan/processScan.js"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;IACtD,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACvE,IAAI,MAAM,GAAG,SAAS,CAAA;IAEtB,MAAM,WAAW,GAAG,IAAI,gBAAgB,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IACjE,MAAM,2BAA2B,CAC/B,MAAM,EACN,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,CAAC,UAAU,CAAC,QAAQ,CAChC,CAAA;IAED,IAAI,WAAW,CAAC,oBAAoB,KAAK,SAAS,EAAE;QAClD,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;KACvC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;QAC7B,MAAM,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;KACxC;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;KACrE;IAED,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC5B;IAED,cAAc,CAAC,MAAM,CAAC,CAAA;AACxB,CAAC,CAAA"}
|
package/dist/scan/saveResults.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
const writeResultsToFile = async (responseBody, name = 'results.sarif') => {
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
export const writeResultsToFile = async (responseBody, name = 'results.sarif') => {
|
|
4
3
|
try {
|
|
5
4
|
fs.writeFileSync(name, JSON.stringify(responseBody, null, 2));
|
|
6
5
|
return name;
|
|
@@ -9,6 +8,4 @@ const writeResultsToFile = async (responseBody, name = 'results.sarif') => {
|
|
|
9
8
|
console.log('Error writing Scan Results to file');
|
|
10
9
|
}
|
|
11
10
|
};
|
|
12
|
-
|
|
13
|
-
writeResultsToFile: writeResultsToFile
|
|
14
|
-
};
|
|
11
|
+
//# sourceMappingURL=saveResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"saveResults.js","sourceRoot":"","sources":["../../src/scan/saveResults.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,YAAY,EACZ,IAAI,GAAG,eAAe,EACtB,EAAE;IACF,IAAI;QACF,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;KAClD;AACH,CAAC,CAAA"}
|
package/dist/scan/scan.js
CHANGED
|
@@ -1,67 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const commonApi_js_1 = __importDefault(require("../utils/commonApi.js"));
|
|
8
|
-
const fileUtils_1 = __importDefault(require("../scan/fileUtils"));
|
|
9
|
-
const i18n_1 = __importDefault(require("i18n"));
|
|
10
|
-
const oraWrapper_1 = __importDefault(require("../utils/oraWrapper"));
|
|
11
|
-
exports.allowedFileTypes = ['.jar', '.war', '.js', '.zip', '.exe'];
|
|
12
|
-
const isFileAllowed = (scanOption) => {
|
|
1
|
+
import { checkFilePermissions } from './fileUtils.js';
|
|
2
|
+
import { failSpinner, returnOra, startSpinner, stopSpinner, succeedSpinner } from '../utils/oraWrapper.js';
|
|
3
|
+
import i18n from 'i18n';
|
|
4
|
+
import { sendArtifact } from './scanRequests.js';
|
|
5
|
+
export const allowedFileTypes = ['.jar', '.war', '.js', '.zip', '.exe'];
|
|
6
|
+
export const isFileAllowed = (scanOption) => {
|
|
13
7
|
let valid = false;
|
|
14
|
-
|
|
8
|
+
allowedFileTypes.forEach(fileType => {
|
|
15
9
|
if (scanOption.endsWith(fileType)) {
|
|
16
10
|
valid = true;
|
|
17
11
|
}
|
|
18
12
|
});
|
|
19
13
|
return valid;
|
|
20
14
|
};
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
console.log(i18n_1.default.__('scanErrorFileMessage'));
|
|
15
|
+
export const sendScan = async (config) => {
|
|
16
|
+
if (!isFileAllowed(config.file)) {
|
|
17
|
+
console.log(i18n.__('scanErrorFileMessage'));
|
|
25
18
|
process.exit(9);
|
|
26
19
|
}
|
|
27
20
|
else {
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
.
|
|
35
|
-
if (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
console.log(i18n_1.default.__('responseMessage', res.body));
|
|
39
|
-
}
|
|
40
|
-
return res.body.id;
|
|
21
|
+
checkFilePermissions(config.file);
|
|
22
|
+
const startUploadSpinner = returnOra(i18n.__('uploadingScan'));
|
|
23
|
+
startSpinner(startUploadSpinner);
|
|
24
|
+
try {
|
|
25
|
+
const sendArtifactRes = (await sendArtifact(config));
|
|
26
|
+
const { body } = sendArtifactRes;
|
|
27
|
+
succeedSpinner(startUploadSpinner, i18n.__('uploadingScanSuccessful'));
|
|
28
|
+
if (config.debug) {
|
|
29
|
+
// @ts-ignore
|
|
30
|
+
console.log(i18n.__('responseMessage', body));
|
|
41
31
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
process.exit(1);
|
|
51
|
-
}
|
|
52
|
-
if (res.statusCode === 403) {
|
|
53
|
-
console.log(i18n_1.default.__('permissionsError'));
|
|
54
|
-
process.exit(1);
|
|
55
|
-
}
|
|
56
|
-
oraWrapper_1.default.stopSpinner(startUploadSpinner);
|
|
57
|
-
console.log('Contrast Scan Finished');
|
|
58
|
-
process.exit(1);
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
return body.id;
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
if (config.debug) {
|
|
37
|
+
console.log(config);
|
|
38
|
+
failSpinner(startUploadSpinner, i18n.__('uploadingScanFail'));
|
|
39
|
+
console.log(i18n.__('genericServiceError', err.response.statusCode));
|
|
59
40
|
}
|
|
60
|
-
|
|
61
|
-
.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
41
|
+
stopSpinner(startUploadSpinner);
|
|
42
|
+
console.log('Contrast Scan Finished');
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
65
45
|
}
|
|
66
46
|
};
|
|
67
|
-
|
|
47
|
+
//# sourceMappingURL=scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/scan/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACX,cAAc,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,EAAE;IAClD,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAClC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACjC,KAAK,GAAG,IAAI,CAAA;SACb;IACH,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;IAC5C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;SAAM;QACL,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,kBAAkB,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAA;QAC9D,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAChC,IAAI;YACF,MAAM,eAAe,GAAG,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,CAAkB,CAAA;YAErE,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAA;YAEhC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAA;YACtE,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,aAAa;gBACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAA;aAC9C;YACD,aAAa;YACb,OAAO,IAAI,CAAC,EAAE,CAAA;SACf;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACnB,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;gBAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;aACrE;YAED,WAAW,CAAC,kBAAkB,CAAC,CAAA;YAC/B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAChB;KACF;AACH,CAAC,CAAA"}
|
package/dist/scan/scanConfig.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const parsedCLIOptions = require('../utils/parsedCLIOptions');
|
|
1
|
+
import { getAuth } from '../utils/paramsUtil/paramHandler.js';
|
|
2
|
+
import { commandLineDefinitions } from '../cliConstants.js';
|
|
3
|
+
import { sep } from 'path';
|
|
4
|
+
import i18n from 'i18n';
|
|
5
|
+
import { scanUsageGuide } from './help.js';
|
|
6
|
+
import { getCommandLineArgsCustom } from '../utils/parsedCLIOptions.js';
|
|
7
|
+
import { supportedLanguagesScan } from '../constants/constants.js';
|
|
9
8
|
const getScanConfig = async (contrastConf, command, argv) => {
|
|
10
|
-
let scanParams = await
|
|
9
|
+
let scanParams = await getCommandLineArgsCustom(contrastConf, command, argv, commandLineDefinitions.scanOptionDefinitions);
|
|
11
10
|
if (scanParams.help) {
|
|
12
11
|
printHelpMessage();
|
|
13
12
|
process.exit(0);
|
|
14
13
|
}
|
|
15
|
-
const paramsAuth =
|
|
14
|
+
const paramsAuth = getAuth(scanParams);
|
|
16
15
|
if (scanParams.language) {
|
|
17
16
|
scanParams.language = scanParams.language.toUpperCase();
|
|
18
17
|
if (!Object.values(supportedLanguagesScan).includes(scanParams.language)) {
|
|
@@ -21,6 +20,7 @@ const getScanConfig = async (contrastConf, command, argv) => {
|
|
|
21
20
|
process.exit(1);
|
|
22
21
|
}
|
|
23
22
|
}
|
|
23
|
+
// if no name, take the full file path and use it as the project name
|
|
24
24
|
let projectNameSource;
|
|
25
25
|
if (!scanParams.name && scanParams.file) {
|
|
26
26
|
scanParams.name = getFileName(scanParams.file);
|
|
@@ -32,13 +32,15 @@ const getScanConfig = async (contrastConf, command, argv) => {
|
|
|
32
32
|
return { ...paramsAuth, ...scanParams, projectNameSource };
|
|
33
33
|
};
|
|
34
34
|
const getFileName = file => {
|
|
35
|
-
|
|
35
|
+
// from '/Users/x/y/spring-async.war' to 'spring-async.war'
|
|
36
|
+
return file.split(sep).pop();
|
|
36
37
|
};
|
|
37
38
|
const printHelpMessage = () => {
|
|
38
39
|
console.log(scanUsageGuide);
|
|
39
40
|
};
|
|
40
|
-
|
|
41
|
+
export default {
|
|
41
42
|
getScanConfig,
|
|
42
43
|
getFileName,
|
|
43
44
|
printHelpMessage
|
|
44
45
|
};
|
|
46
|
+
//# sourceMappingURL=scanConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanConfig.js","sourceRoot":"","sources":["../../src/scan/scanConfig.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAElE,MAAM,aAAa,GAAG,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC1D,IAAI,UAAU,GAAG,MAAM,wBAAwB,CAC7C,YAAY,EACZ,OAAO,EACP,IAAI,EACJ,sBAAsB,CAAC,qBAAqB,CAC7C,CAAA;IAED,IAAI,UAAU,CAAC,IAAI,EAAE;QACnB,gBAAgB,EAAE,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEtC,IAAI,UAAU,CAAC,QAAQ,EAAE;QACvB,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACxE,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;YAClE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAA;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAChB;KACF;IAED,qEAAqE;IACrE,IAAI,iBAAiB,CAAA;IACrB,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE;QACvC,UAAU,CAAC,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC9C,iBAAiB,GAAG,MAAM,CAAA;KAC3B;SAAM;QACL,iBAAiB,GAAG,MAAM,CAAA;KAC3B;IAED,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,iBAAiB,EAAE,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE;IACzB,2DAA2D;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;AAC9B,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,eAAe;IACb,aAAa;IACb,WAAW;IACX,gBAAgB;CACjB,CAAA"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import i18n from 'i18n';
|
|
2
|
+
import { populateProjectId } from './populateProjectIdAndProjectName.js';
|
|
3
|
+
import { sendScan } from './scan.js';
|
|
4
|
+
import { performance } from 'perf_hooks';
|
|
5
|
+
import { fileExists, fileIsEmpty } from './fileUtils.js';
|
|
6
|
+
import { returnOra, startSpinner, stopSpinner, succeedSpinner } from '../utils/oraWrapper.js';
|
|
7
|
+
import { returnScanResults } from './scanResults.js';
|
|
8
|
+
import { autoDetectFileAndLanguage } from '../common/autoDetection.js';
|
|
9
|
+
import { getScanResultsInstances } from './scanRequests.js';
|
|
10
10
|
const getTimeout = config => {
|
|
11
11
|
if (config.timeout) {
|
|
12
12
|
return config.timeout;
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
15
|
-
if (config.
|
|
15
|
+
if (config.debug) {
|
|
16
16
|
console.log('Timeout set to 5 minutes');
|
|
17
17
|
}
|
|
18
18
|
return 300;
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
|
-
const fileAndLanguageLogic = async (configToUse) => {
|
|
21
|
+
export const fileAndLanguageLogic = async (configToUse) => {
|
|
22
22
|
if (configToUse.file) {
|
|
23
|
-
if (!
|
|
23
|
+
if (!fileExists(configToUse.file)) {
|
|
24
24
|
console.log(i18n.__('fileNotExist'));
|
|
25
25
|
process.exit(1);
|
|
26
26
|
}
|
|
27
|
-
if (
|
|
27
|
+
if (fileIsEmpty(configToUse.file)) {
|
|
28
28
|
console.log(i18n.__('scanFileIsEmpty'));
|
|
29
29
|
process.exit(1);
|
|
30
30
|
}
|
|
@@ -32,28 +32,28 @@ const fileAndLanguageLogic = async (configToUse) => {
|
|
|
32
32
|
}
|
|
33
33
|
else {
|
|
34
34
|
if (configToUse.file === undefined || configToUse.file === null) {
|
|
35
|
-
await
|
|
35
|
+
await autoDetectFileAndLanguage(configToUse);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
|
-
const startScan = async (configToUse) => {
|
|
39
|
+
export const startScan = async (configToUse) => {
|
|
40
40
|
const startTime = performance.now();
|
|
41
41
|
await fileAndLanguageLogic(configToUse);
|
|
42
42
|
let newProject;
|
|
43
43
|
if (!configToUse.projectId) {
|
|
44
|
-
const { projectId, isNewProject } = await
|
|
44
|
+
const { projectId, isNewProject } = await populateProjectId(configToUse);
|
|
45
45
|
configToUse.projectId = projectId;
|
|
46
46
|
newProject = isNewProject;
|
|
47
47
|
}
|
|
48
48
|
else {
|
|
49
49
|
newProject = false;
|
|
50
50
|
}
|
|
51
|
-
const codeArtifactId = await
|
|
51
|
+
const codeArtifactId = await sendScan(configToUse);
|
|
52
52
|
if (!configToUse.ff) {
|
|
53
53
|
const startScanSpinner = returnOra('🚀 Contrast Scan started');
|
|
54
54
|
startSpinner(startScanSpinner);
|
|
55
|
-
const scanDetail = await
|
|
56
|
-
const scanResultsInstances = await
|
|
55
|
+
const scanDetail = await returnScanResults(configToUse, codeArtifactId, newProject, getTimeout(configToUse), startScanSpinner);
|
|
56
|
+
const scanResultsInstances = await getScanResultsInstances(configToUse, scanDetail.id);
|
|
57
57
|
const endTime = performance.now();
|
|
58
58
|
const scanDurationMs = endTime - startTime;
|
|
59
59
|
if (scanResultsInstances.statusCode !== 200) {
|
|
@@ -71,6 +71,4 @@ const startScan = async (configToUse) => {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
|
-
|
|
75
|
-
startScan: startScan
|
|
76
|
-
};
|
|
74
|
+
//# sourceMappingURL=scanController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanController.js","sourceRoot":"","sources":["../../src/scan/scanController.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { buildBaseRequestOptions, ErrorType } from '../common/baseRequest.js';
|
|
2
|
+
import { got } from 'got';
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import FormData from 'form-data';
|
|
5
|
+
export function createProjectId(config) {
|
|
6
|
+
const options = buildBaseRequestOptions(config, ErrorType.SCAN);
|
|
7
|
+
options.json = {
|
|
8
|
+
name: config.name,
|
|
9
|
+
archived: 'false'
|
|
10
|
+
};
|
|
11
|
+
if (config.language) {
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
options.json.language = config.language;
|
|
14
|
+
}
|
|
15
|
+
options.url = createHarmonyProjectsUrl(config);
|
|
16
|
+
return got.post(options);
|
|
17
|
+
}
|
|
18
|
+
function createHarmonyProjectsUrl(config) {
|
|
19
|
+
return `${config.host}/Contrast/api/sast/v1/organizations/${config.organizationId}/projects`;
|
|
20
|
+
}
|
|
21
|
+
export function getProjectIdByName(config) {
|
|
22
|
+
const options = buildBaseRequestOptions(config, ErrorType.SCAN);
|
|
23
|
+
options.url = createHarmonyProjectsUrl(config) + '?name=' + config.name;
|
|
24
|
+
return got.get(options);
|
|
25
|
+
}
|
|
26
|
+
export async function sendArtifact(config) {
|
|
27
|
+
const options = buildBaseRequestOptions(config, ErrorType.SCAN);
|
|
28
|
+
const formData = new FormData();
|
|
29
|
+
formData.append('filename', fs.createReadStream(config.file));
|
|
30
|
+
options.body = formData;
|
|
31
|
+
// @ts-ignore
|
|
32
|
+
options.headers['Content-Type'] = `multipart/form-data; boundary=${formData.getBoundary()}`;
|
|
33
|
+
options.url = createHarmonyUrl(config);
|
|
34
|
+
return got.post(options);
|
|
35
|
+
}
|
|
36
|
+
function createHarmonyUrl(config) {
|
|
37
|
+
return `${config.host}/Contrast/api/sast/v1/organizations/${config.organizationId}/projects/${config.projectId}/code-artifacts`;
|
|
38
|
+
}
|
|
39
|
+
export function getScanId(config, codeArtifactId) {
|
|
40
|
+
const options = buildBaseRequestOptions(config, ErrorType.SCAN);
|
|
41
|
+
options.url = createGetScanIdURL(config);
|
|
42
|
+
options.json = {
|
|
43
|
+
codeArtifactId: codeArtifactId,
|
|
44
|
+
label: config.label
|
|
45
|
+
? config.label
|
|
46
|
+
: `Started by CLI tool at ${new Date().toString()}`
|
|
47
|
+
};
|
|
48
|
+
return got.post(options);
|
|
49
|
+
}
|
|
50
|
+
const createGetScanIdURL = (config) => {
|
|
51
|
+
return `${config.host}/Contrast/api/sast/v1/organizations/${config.organizationId}/projects/${config.projectId}/scans/`;
|
|
52
|
+
};
|
|
53
|
+
export function getSpecificScanResult(config, scanId) {
|
|
54
|
+
const options = buildBaseRequestOptions(config, ErrorType.SCAN);
|
|
55
|
+
options.url = createSpecificScanResultURL(config, scanId);
|
|
56
|
+
options.throwHttpErrors = false;
|
|
57
|
+
return got.get(options);
|
|
58
|
+
}
|
|
59
|
+
const createSpecificScanResultURL = (config, scanId) => {
|
|
60
|
+
return `${config.host}/Contrast/api/sast/v1/organizations/${config.organizationId}/projects/${config.projectId}/scans/${scanId}`;
|
|
61
|
+
};
|
|
62
|
+
export function createNewEvent(config, scanId, newProject) {
|
|
63
|
+
const options = buildBaseRequestOptions(config, ErrorType.SCAN);
|
|
64
|
+
options.url = createEventCollectorURL(config, scanId);
|
|
65
|
+
options.json = {
|
|
66
|
+
eventSource: process.env.CODESEC_INVOCATION_ENVIRONMENT,
|
|
67
|
+
trackingProperties: {
|
|
68
|
+
projectNameSource: config.projectNameSource,
|
|
69
|
+
waitedForResults: !config.ff,
|
|
70
|
+
newProject
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
return got.post(options);
|
|
74
|
+
}
|
|
75
|
+
const createEventCollectorURL = (config, scanId) => {
|
|
76
|
+
return `${config.host}/Contrast/api/sast/organizations/${config.organizationId}/projects/${config.projectId}/scans/${scanId}/events`;
|
|
77
|
+
};
|
|
78
|
+
export function getScanResultsInstances(config, scanId) {
|
|
79
|
+
const options = buildBaseRequestOptions(config, ErrorType.SCAN);
|
|
80
|
+
options.url = createScanResultsInstancesURL(config, scanId);
|
|
81
|
+
return got.get(options);
|
|
82
|
+
}
|
|
83
|
+
const createScanResultsInstancesURL = (config, scanId) => {
|
|
84
|
+
return `${config.host}/Contrast/api/sast/v1/organizations/${config.organizationId}/projects/${config.projectId}/scans/${scanId}/result-instances/info?size=50&page=0&last=false&sort=severity,asc`;
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=scanRequests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanRequests.js","sourceRoot":"","sources":["../../src/scan/scanRequests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAC7E,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,QAAQ,MAAM,WAAW,CAAA;AAEhC,MAAM,UAAU,eAAe,CAAC,MAAW;IACzC,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/D,OAAO,CAAC,IAAI,GAAG;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,OAAO;KAClB,CAAA;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,aAAa;QACb,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;KACxC;IAED,OAAO,CAAC,GAAG,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC9C,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAW;IAC3C,OAAO,GAAG,MAAM,CAAC,IAAI,uCAAuC,MAAM,CAAC,cAAc,WAAW,CAAA;AAC9F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAW;IAC5C,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAE/D,OAAO,CAAC,GAAG,GAAG,wBAAwB,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAA;IACvE,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAW;IAC5C,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAE/D,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;IAE7D,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAA;IAEvB,aAAa;IACb,OAAO,CAAC,OAAO,CACb,cAAc,CACf,GAAG,iCAAiC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAA;IAC7D,OAAO,CAAC,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACtC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAW;IACnC,OAAO,GAAG,MAAM,CAAC,IAAI,uCAAuC,MAAM,CAAC,cAAc,aAAa,MAAM,CAAC,SAAS,iBAAiB,CAAA;AACjI,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAW,EAAE,cAAsB;IAC3D,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACxC,OAAO,CAAC,IAAI,GAAG;QACb,cAAc,EAAE,cAAc;QAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;YACjB,CAAC,CAAC,MAAM,CAAC,KAAK;YACd,CAAC,CAAC,0BAA0B,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;KACtD,CAAA;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAC,MAAW,EAAE,EAAE;IACzC,OAAO,GAAG,MAAM,CAAC,IAAI,uCAAuC,MAAM,CAAC,cAAc,aAAa,MAAM,CAAC,SAAS,SAAS,CAAA;AACzH,CAAC,CAAA;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAW,EAAE,MAAc;IAC/D,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,GAAG,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzD,OAAO,CAAC,eAAe,GAAG,KAAK,CAAA;IAC/B,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,2BAA2B,GAAG,CAAC,MAAW,EAAE,MAAc,EAAE,EAAE;IAClE,OAAO,GAAG,MAAM,CAAC,IAAI,uCAAuC,MAAM,CAAC,cAAc,aAAa,MAAM,CAAC,SAAS,UAAU,MAAM,EAAE,CAAA;AAClI,CAAC,CAAA;AAED,MAAM,UAAU,cAAc,CAC5B,MAAW,EACX,MAAc,EACd,UAAmB;IAEnB,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAErD,OAAO,CAAC,IAAI,GAAG;QACb,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B;QACvD,kBAAkB,EAAE;YAClB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE;YAC5B,UAAU;SACX;KACF,CAAA;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,uBAAuB,GAAG,CAAC,MAAW,EAAE,MAAc,EAAE,EAAE;IAC9D,OAAO,GAAG,MAAM,CAAC,IAAI,oCAAoC,MAAM,CAAC,cAAc,aAAa,MAAM,CAAC,SAAS,UAAU,MAAM,SAAS,CAAA;AACtI,CAAC,CAAA;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAW,EAAE,MAAc;IACjE,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,GAAG,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3D,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,6BAA6B,GAAG,CAAC,MAAW,EAAE,MAAc,EAAE,EAAE;IACpE,OAAO,GAAG,MAAM,CAAC,IAAI,uCAAuC,MAAM,CAAC,cAAc,aAAa,MAAM,CAAC,SAAS,UAAU,MAAM,oEAAoE,CAAA;AACpM,CAAC,CAAA"}
|