@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/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Contrast CLI
|
|
2
2
|
|
|
3
|
-
Use the ‘contrast’ command for fast and accurate security analysis of your applications, APIs,
|
|
3
|
+
Use the ‘contrast’ command for fast and accurate security analysis of your applications, APIs,
|
|
4
|
+
serverless functions, and libraries.
|
|
4
5
|
|
|
5
6
|
## Supported
|
|
6
7
|
|
|
@@ -33,3 +34,52 @@ npm install --location=global @contrast/contrast@2
|
|
|
33
34
|
```
|
|
34
35
|
|
|
35
36
|
Read more: https://docs.contrastsecurity.com/en/install-contrast-cli.html
|
|
37
|
+
|
|
38
|
+
## Building the project
|
|
39
|
+
|
|
40
|
+
```shell
|
|
41
|
+
yarn build
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
This will run tsc and generate the ESM version of the project in the dist folder.
|
|
45
|
+
These are the files the integration tests under `test-integration` will run against locally
|
|
46
|
+
|
|
47
|
+
```shell
|
|
48
|
+
yarn build-binary
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
This will run esbuild to make the project into a bundled file for building into an executable
|
|
52
|
+
|
|
53
|
+
```shell
|
|
54
|
+
yarn package-binary
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
This will run pkg to build the bundle generated using `yarn build-binary` into an executable file
|
|
58
|
+
for Windows, Mac and Linux
|
|
59
|
+
|
|
60
|
+
## Running the project
|
|
61
|
+
|
|
62
|
+
If you want to run the project (either via source or the dist files) you can run
|
|
63
|
+
|
|
64
|
+
`node --loader ts-node/esm <file> <command> <params>`
|
|
65
|
+
|
|
66
|
+
e.g `node --loader ts-node/esm src/index.js` or `node --loader ts-node/esm dist/index.js`
|
|
67
|
+
|
|
68
|
+
If you want to run the binary executable after creation the below can be used
|
|
69
|
+
|
|
70
|
+
Mac: `./binaries/contrast-macos <command> <params>`
|
|
71
|
+
|
|
72
|
+
## Running the tests
|
|
73
|
+
|
|
74
|
+
Unit tests command `yarn test`
|
|
75
|
+
|
|
76
|
+
Integration tests Audit command `yarn test-int-audit`
|
|
77
|
+
|
|
78
|
+
Integration tests Scan command `yarn test-int-scan`
|
|
79
|
+
|
|
80
|
+
More commands can be found in the package.json
|
|
81
|
+
|
|
82
|
+
NOTE:
|
|
83
|
+
|
|
84
|
+
- Vitest by default runs via workers and these do not natively support changing directories in multiple threads
|
|
85
|
+
- The unit tests are fine to run with multiple threads but not the integration tests
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
const catalogueApplication = async (config) => {
|
|
1
|
+
import { getHttpClient, handleResponseErrors } from '../../utils/commonApi.js';
|
|
2
|
+
export const catalogueApplication = async (config) => {
|
|
4
3
|
const client = getHttpClient(config);
|
|
5
4
|
let appId;
|
|
6
5
|
await client
|
|
7
6
|
.catalogueCommand(config)
|
|
8
7
|
.then(res => {
|
|
9
8
|
if (res.statusCode === 201) {
|
|
9
|
+
//displaySuccessMessage(config, res.body.application.app_id)
|
|
10
10
|
appId = res.body.application.app_id;
|
|
11
11
|
}
|
|
12
12
|
else if (doesMessagesContainAppId(res)) {
|
|
@@ -21,7 +21,7 @@ const catalogueApplication = async (config) => {
|
|
|
21
21
|
});
|
|
22
22
|
return appId;
|
|
23
23
|
};
|
|
24
|
-
const doesMessagesContainAppId = res => {
|
|
24
|
+
export const doesMessagesContainAppId = res => {
|
|
25
25
|
const regex = /(Application ID =)/;
|
|
26
26
|
if (res.statusCode === 400 &&
|
|
27
27
|
res.body.messages.filter(message => regex.exec(message))[0]) {
|
|
@@ -29,7 +29,7 @@ const doesMessagesContainAppId = res => {
|
|
|
29
29
|
}
|
|
30
30
|
return false;
|
|
31
31
|
};
|
|
32
|
-
const tryRetrieveAppIdFromMessages = messages => {
|
|
32
|
+
export const tryRetrieveAppIdFromMessages = messages => {
|
|
33
33
|
let appId;
|
|
34
34
|
messages.forEach(message => {
|
|
35
35
|
if (message.includes('Application ID')) {
|
|
@@ -38,8 +38,4 @@ const tryRetrieveAppIdFromMessages = messages => {
|
|
|
38
38
|
});
|
|
39
39
|
return appId;
|
|
40
40
|
};
|
|
41
|
-
|
|
42
|
-
catalogueApplication,
|
|
43
|
-
doesMessagesContainAppId,
|
|
44
|
-
tryRetrieveAppIdFromMessages
|
|
45
|
-
};
|
|
41
|
+
//# sourceMappingURL=catalogueApplication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalogueApplication.js","sourceRoot":"","sources":["../../../src/audit/catalogueApplication/catalogueApplication.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAE9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAC,MAAM,EAAC,EAAE;IACjD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,KAAK,CAAA;IACT,MAAM,MAAM;SACT,gBAAgB,CAAC,MAAM,CAAC;SACxB,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;YAC1B,4DAA4D;YAC5D,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAA;SACpC;aAAM,IAAI,wBAAwB,CAAC,GAAG,CAAC,EAAE;YACxC,KAAK,GAAG,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SACxD;aAAM;YACL,oBAAoB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;SACvC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC,CAAC,CAAA;IACJ,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC,EAAE;IAC5C,MAAM,KAAK,GAAG,oBAAoB,CAAA;IAClC,IACE,GAAG,CAAC,UAAU,KAAK,GAAG;QACtB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3D;QACA,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAAC,EAAE;IACrD,IAAI,KAAK,CAAA;IACT,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACtC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;SAClD;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
const returnAppId = async (config) => {
|
|
1
|
+
import { getHttpClient } from '../../utils/commonApi.js';
|
|
2
|
+
export const returnAppId = async (config) => {
|
|
4
3
|
const client = getHttpClient(config);
|
|
5
4
|
let appId;
|
|
6
5
|
await client.getAppId(config).then(res => {
|
|
@@ -13,6 +12,4 @@ const returnAppId = async (config) => {
|
|
|
13
12
|
});
|
|
14
13
|
return appId;
|
|
15
14
|
};
|
|
16
|
-
|
|
17
|
-
returnAppId: returnAppId
|
|
18
|
-
};
|
|
15
|
+
//# sourceMappingURL=commonApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commonApi.js","sourceRoot":"","sources":["../../../src/audit/languageAnalysisEngine/commonApi.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAC,MAAM,EAAC,EAAE;IACxC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,KAAK,CAAA;IAET,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACvC,IAAI,GAAG,CAAC,IAAI,EAAE;YACZ,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAClC,IAAI,GAAG,EAAE;gBACP,KAAK,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;aAC9C;SACF;IACH,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
const path = require('path');
|
|
3
2
|
function resolveFilePath(filepath) {
|
|
4
3
|
if (filepath[0] === '~') {
|
|
@@ -18,3 +17,5 @@ module.exports = {
|
|
|
18
17
|
returnProjectPath: returnProjectPath,
|
|
19
18
|
resolveFilePath: resolveFilePath
|
|
20
19
|
};
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=filterProjectPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterProjectPath.js","sourceRoot":"","sources":["../../../src/audit/languageAnalysisEngine/filterProjectPath.js"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE5B,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,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,WAAW,CAAC,EAAE;QAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAA;KACvB;SAAM;QACL,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAA;KAChE;AACH,CAAC,CAAA;AAED,MAAM,CAAC,OAAO,GAAG;IACf,iBAAiB,EAAE,iBAAiB;IACpC,eAAe,EAAE,eAAe;CACjC,CAAA"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const getDirectoryFromPathGiven = file => {
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import { resolve, dirname } from 'path';
|
|
3
|
+
import i18n from 'i18n';
|
|
4
|
+
export const getDirectoryFromPathGiven = file => {
|
|
6
5
|
let projectStats = getProjectStats(file);
|
|
7
6
|
if (projectStats.isFile()) {
|
|
8
|
-
let newPath =
|
|
9
|
-
return
|
|
7
|
+
let newPath = resolve(file);
|
|
8
|
+
return dirname(newPath);
|
|
10
9
|
}
|
|
11
10
|
if (projectStats.isDirectory()) {
|
|
12
11
|
return file;
|
|
13
12
|
}
|
|
14
13
|
};
|
|
15
|
-
const getProjectStats = file => {
|
|
14
|
+
export const getProjectStats = file => {
|
|
16
15
|
try {
|
|
16
|
+
//might not need this
|
|
17
17
|
if (file.endsWith('/')) {
|
|
18
18
|
file = file.slice(0, -1);
|
|
19
19
|
}
|
|
@@ -24,7 +24,4 @@ const getProjectStats = file => {
|
|
|
24
24
|
`${err.message}`);
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
|
-
|
|
28
|
-
getProjectStats,
|
|
29
|
-
getDirectoryFromPathGiven: getDirectoryFromPathGiven
|
|
30
|
-
};
|
|
27
|
+
//# sourceMappingURL=getProjectRootFilenames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProjectRootFilenames.js","sourceRoot":"","sources":["../../../src/audit/languageAnalysisEngine/getProjectRootFilenames.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACvC,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,EAAE;IAC9C,IAAI,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE;QACzB,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,CAAA;KACxB;IAED,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;QAC9B,OAAO,IAAI,CAAA;KACZ;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE;IACpC,IAAI;QACF,qBAAqB;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;SACzB;QACD,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;KACzB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,EAAE,CAAC,4CAA4C,EAAE,IAAI,CAAC;YACzD,GAAG,GAAG,CAAC,OAAO,EAAE,CACnB,CAAA;KACF;AACH,CAAC,CAAA"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const requestUtils = require('../../utils/requestUtils');
|
|
8
|
-
const { performance } = require('perf_hooks');
|
|
1
|
+
import { isNil } from 'lodash-es';
|
|
2
|
+
import i18n from 'i18n';
|
|
3
|
+
import { sleep } from '../../utils/requestUtils.js';
|
|
4
|
+
import { performance } from 'perf_hooks';
|
|
5
|
+
import { getHttpClient, getTimeout, handleTimeout } from '../../utils/commonApi.js';
|
|
6
|
+
import { failSpinner, stopSpinner } from '../../utils/oraWrapper.js';
|
|
9
7
|
const pollSnapshotResults = async (config, snapshotId, client) => {
|
|
10
|
-
await
|
|
8
|
+
await sleep(5000);
|
|
11
9
|
return client
|
|
12
10
|
.getReportStatusById(config, snapshotId)
|
|
13
11
|
.then(res => {
|
|
@@ -17,12 +15,12 @@ const pollSnapshotResults = async (config, snapshotId, client) => {
|
|
|
17
15
|
console.log(err);
|
|
18
16
|
});
|
|
19
17
|
};
|
|
20
|
-
const pollForSnapshotCompletion = async (config, snapshotId, reportSpinner) => {
|
|
21
|
-
const client =
|
|
18
|
+
export const pollForSnapshotCompletion = async (config, snapshotId, reportSpinner) => {
|
|
19
|
+
const client = getHttpClient(config);
|
|
22
20
|
const startTime = performance.now();
|
|
23
|
-
const timeout =
|
|
21
|
+
const timeout = getTimeout(config);
|
|
24
22
|
let complete = false;
|
|
25
|
-
if (!
|
|
23
|
+
if (!isNil(snapshotId)) {
|
|
26
24
|
while (!complete) {
|
|
27
25
|
let result = await pollSnapshotResults(config, snapshotId, client);
|
|
28
26
|
if (result.statusCode === 200) {
|
|
@@ -33,18 +31,16 @@ const pollForSnapshotCompletion = async (config, snapshotId, reportSpinner) => {
|
|
|
33
31
|
if (result.body.status === 'FAILED') {
|
|
34
32
|
complete = true;
|
|
35
33
|
if (config.debug) {
|
|
36
|
-
|
|
34
|
+
failSpinner(reportSpinner, i18n.__('auditNotCompleted'));
|
|
37
35
|
}
|
|
38
36
|
console.log(result.body.errorMessage);
|
|
39
|
-
|
|
37
|
+
stopSpinner(reportSpinner);
|
|
40
38
|
console.log('Contrast audit finished');
|
|
41
39
|
process.exit(1);
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
|
-
|
|
42
|
+
handleTimeout(startTime, timeout, reportSpinner);
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
};
|
|
48
|
-
|
|
49
|
-
pollForSnapshotCompletion
|
|
50
|
-
};
|
|
46
|
+
//# sourceMappingURL=sendSnapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendSnapshot.js","sourceRoot":"","sources":["../../../src/audit/languageAnalysisEngine/sendSnapshot.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACjC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EACL,aAAa,EACb,UAAU,EACV,aAAa,EACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEpE,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;IAC/D,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,MAAM;SACV,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC;SACvC,IAAI,CAAC,GAAG,CAAC,EAAE;QACV,OAAO,GAAG,CAAA;IACZ,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,yBAAyB,GAAG,KAAK,EAC5C,MAAM,EACN,UAAU,EACV,aAAa,EACb,EAAE;IACF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAElC,IAAI,QAAQ,GAAG,KAAK,CAAA;IACpB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QACtB,OAAO,CAAC,QAAQ,EAAE;YAChB,IAAI,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;YAClE,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,EAAE;gBAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;oBACtC,QAAQ,GAAG,IAAI,CAAA;oBACf,OAAO,MAAM,CAAC,IAAI,CAAA;iBACnB;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;oBACnC,QAAQ,GAAG,IAAI,CAAA;oBACf,IAAI,MAAM,CAAC,KAAK,EAAE;wBAChB,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAA;qBACzD;oBACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;oBACrC,WAAW,CAAC,aAAa,CAAC,CAAA;oBAC1B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;oBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;iBAChB;aACF;YAED,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;SACjD;KACF;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
if (node.rawYarnLockFileContents
|
|
1
|
+
import i18n from 'i18n';
|
|
2
|
+
export default ({ language: { lockFilename }, node }, next) => {
|
|
3
|
+
// If we never read the lock file or its an earlier version then pass priority
|
|
4
|
+
if (node.rawYarnLockFileContents === undefined || node.yarnVersion === 1) {
|
|
5
5
|
next();
|
|
6
6
|
}
|
|
7
7
|
else {
|
|
@@ -26,20 +26,20 @@ module.exports = exports = ({ language: { lockFilename }, node }, next) => {
|
|
|
26
26
|
next();
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
-
function formatKey(keyNames) {
|
|
29
|
+
export function formatKey(keyNames) {
|
|
30
30
|
let name = '';
|
|
31
31
|
let formattedNames = [];
|
|
32
32
|
keyNames.forEach(dummyString => {
|
|
33
33
|
let nameArr = dummyString.split('@');
|
|
34
34
|
if (nameArr.length > 1) {
|
|
35
|
-
if (nameArr.length
|
|
35
|
+
if (nameArr.length === 2) {
|
|
36
36
|
name = nameArr[0];
|
|
37
37
|
}
|
|
38
|
-
if (nameArr.length
|
|
38
|
+
if (nameArr.length === 3) {
|
|
39
39
|
name = '@' + nameArr[1];
|
|
40
40
|
}
|
|
41
41
|
let version = dummyString.split(':').pop('');
|
|
42
|
-
if (version.length
|
|
42
|
+
if (version.length === 1 && version !== '*') {
|
|
43
43
|
version = version + '.0';
|
|
44
44
|
}
|
|
45
45
|
let reformattedKey = name.trim() + '@' + version;
|
|
@@ -48,4 +48,4 @@ function formatKey(keyNames) {
|
|
|
48
48
|
});
|
|
49
49
|
return formattedNames;
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
//# sourceMappingURL=parseYarn2LockFileContents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseYarn2LockFileContents.js","sourceRoot":"","sources":["../../../src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;IAC5D,8EAA8E;IAC9E,IAAI,IAAI,CAAC,uBAAuB,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;QACxE,IAAI,EAAE,CAAA;KACP;SAAM;QACL,IAAI;YACF,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;YACtB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAA;YAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAA;YAC7C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;YAErC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpE,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAA;gBAEvC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;gBACxC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CACF,IAAI,KAAK,CACP,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC,YAAY,CAAC;gBAClD,GAAG,GAAG,CAAC,OAAO,EAAE,CACnB,CACF,CAAA;YAED,OAAM;SACP;QAED,IAAI,EAAE,CAAA;KACP;AACH,CAAC,CAAA;AAED,MAAM,UAAU,SAAS,CAAC,QAAQ;IAChC,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,cAAc,GAAG,EAAE,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QAC7B,IAAI,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;aAClB;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;aACxB;YAED,IAAI,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAE5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,GAAG,EAAE;gBAC3C,OAAO,GAAG,OAAO,GAAG,IAAI,CAAA;aACzB;YACD,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,OAAO,CAAA;YAEhD,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;SACpC;IACH,CAAC,CAAC,CAAA;IACF,OAAO,cAAc,CAAA;AACvB,CAAC"}
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const createSummaryMessageTop = (numberOfVulnerableLibraries, numberOfCves) => {
|
|
1
|
+
import { getHttpClient, handleResponseErrors } from '../../utils/commonApi.js';
|
|
2
|
+
import { ReportCompositeKey, ReportList, ReportModelStructure } from './models/reportListModel.js';
|
|
3
|
+
import { countVulnerableLibrariesBySeverity, findCVESeverity, findHighestSeverityCVE, findNameAndVersion, orderByHighestPriority, severityCountAllCVEs } from './utils/reportUtils.js';
|
|
4
|
+
import { SeverityCountModel } from './models/severityCountModel.js';
|
|
5
|
+
import { orderBy } from 'lodash-es';
|
|
6
|
+
import { ReportOutputBodyModel, ReportOutputHeaderModel, ReportOutputModel } from './models/reportOutputModel.js';
|
|
7
|
+
import { CE_URL, CRITICAL_COLOUR, HIGH_COLOUR, LOW_COLOUR, MEDIUM_COLOUR, NOTE_COLOUR } from '../../constants/constants.js';
|
|
8
|
+
import chalk from 'chalk';
|
|
9
|
+
import Table from 'cli-table3';
|
|
10
|
+
import { ReportGuidanceModel } from './models/reportGuidanceModel.js';
|
|
11
|
+
import i18n from 'i18n';
|
|
12
|
+
export const createSummaryMessageTop = (numberOfVulnerableLibraries, numberOfCves) => {
|
|
14
13
|
numberOfVulnerableLibraries === 1
|
|
15
14
|
? console.log(`Found 1 vulnerable library containing ${numberOfCves} CVE`)
|
|
16
15
|
: console.log(`Found ${numberOfVulnerableLibraries} vulnerable libraries containing ${numberOfCves} CVEs`);
|
|
17
16
|
};
|
|
18
|
-
const createSummaryMessageBottom = numberOfVulnerableLibraries => {
|
|
17
|
+
export const createSummaryMessageBottom = numberOfVulnerableLibraries => {
|
|
19
18
|
numberOfVulnerableLibraries === 1
|
|
20
19
|
? console.log(`Found 1 vulnerability`)
|
|
21
20
|
: console.log(`Found ${numberOfVulnerableLibraries} vulnerabilities`);
|
|
22
21
|
};
|
|
23
|
-
const getReport = async (config, reportId) => {
|
|
24
|
-
const client =
|
|
22
|
+
export const getReport = async (config, reportId) => {
|
|
23
|
+
const client = getHttpClient(config);
|
|
25
24
|
return client
|
|
26
25
|
.getReportById(config, reportId)
|
|
27
26
|
.then(res => {
|
|
@@ -30,14 +29,14 @@ const getReport = async (config, reportId) => {
|
|
|
30
29
|
}
|
|
31
30
|
else {
|
|
32
31
|
console.log(JSON.stringify(res.statusCode));
|
|
33
|
-
|
|
32
|
+
handleResponseErrors(res, 'report');
|
|
34
33
|
}
|
|
35
34
|
})
|
|
36
35
|
.catch(err => {
|
|
37
36
|
console.log(err);
|
|
38
37
|
});
|
|
39
38
|
};
|
|
40
|
-
const printVulnerabilityResponse = (config, vulnerableLibraries, numberOfVulnerableLibraries, numberOfCves, guidance) => {
|
|
39
|
+
export const printVulnerabilityResponse = (config, vulnerableLibraries, numberOfVulnerableLibraries, numberOfCves, guidance) => {
|
|
41
40
|
let hasSomeVulnerabilitiesReported = false;
|
|
42
41
|
printFormattedOutput(config, vulnerableLibraries, numberOfVulnerableLibraries, numberOfCves, guidance);
|
|
43
42
|
if (Object.keys(vulnerableLibraries).length > 0) {
|
|
@@ -45,7 +44,7 @@ const printVulnerabilityResponse = (config, vulnerableLibraries, numberOfVulnera
|
|
|
45
44
|
}
|
|
46
45
|
return hasSomeVulnerabilitiesReported;
|
|
47
46
|
};
|
|
48
|
-
const printFormattedOutput = (config, libraries, numberOfVulnerableLibraries, numberOfCves, guidance) => {
|
|
47
|
+
export const printFormattedOutput = (config, libraries, numberOfVulnerableLibraries, numberOfCves, guidance) => {
|
|
49
48
|
createSummaryMessageTop(numberOfVulnerableLibraries, numberOfCves);
|
|
50
49
|
console.log();
|
|
51
50
|
const report = new ReportList();
|
|
@@ -84,7 +83,7 @@ const printFormattedOutput = (config, libraries, numberOfVulnerableLibraries, nu
|
|
|
84
83
|
console.log(`${config.host}/Contrast/static/ng/index.html#/${config.organizationId}/applications/${config.applicationId}/libs/dependency-tree`);
|
|
85
84
|
}
|
|
86
85
|
};
|
|
87
|
-
function getReportTable() {
|
|
86
|
+
export function getReportTable() {
|
|
88
87
|
return new Table({
|
|
89
88
|
chars: {
|
|
90
89
|
top: '',
|
|
@@ -109,7 +108,7 @@ function getReportTable() {
|
|
|
109
108
|
colWidths: [12, 1, 100]
|
|
110
109
|
});
|
|
111
110
|
}
|
|
112
|
-
function buildHeader(highestSeverity, contrastHeaderNum, libraryName, version, numOfCVEs) {
|
|
111
|
+
export function buildHeader(highestSeverity, contrastHeaderNum, libraryName, version, numOfCVEs) {
|
|
113
112
|
const vulnerabilityPluralised = numOfCVEs > 1 ? 'vulnerabilities' : 'vulnerability';
|
|
114
113
|
const formattedHeaderNum = buildFormattedHeaderNum(contrastHeaderNum);
|
|
115
114
|
const headerColour = chalk.hex(highestSeverity.colour);
|
|
@@ -119,9 +118,11 @@ function buildHeader(highestSeverity, contrastHeaderNum, libraryName, version, n
|
|
|
119
118
|
const introducesMessage = `introduces ${numOfCVEs} ${vulnerabilityPluralised}`;
|
|
120
119
|
return new ReportOutputHeaderModel(vulnMessage, introducesMessage);
|
|
121
120
|
}
|
|
122
|
-
function buildBody(cveArray, advice) {
|
|
121
|
+
export function buildBody(cveArray, advice) {
|
|
123
122
|
const orderedCvesWithSeverityAssigned = orderByHighestPriority(cveArray.map(cve => findCVESeverity(cve)));
|
|
124
123
|
const issueMessage = getIssueRow(orderedCvesWithSeverityAssigned);
|
|
124
|
+
//todo different advice based on remediationGuidance being available or now
|
|
125
|
+
// console.log(advice)
|
|
125
126
|
const minOrMax = advice.minimum ? advice.minimum : advice.maximum;
|
|
126
127
|
const displayAdvice = minOrMax
|
|
127
128
|
? `Change to version ${chalk.bold(minOrMax)}`
|
|
@@ -129,11 +130,11 @@ function buildBody(cveArray, advice) {
|
|
|
129
130
|
const adviceMessage = [chalk.bold('Advice'), ':', displayAdvice];
|
|
130
131
|
return new ReportOutputBodyModel(issueMessage, adviceMessage);
|
|
131
132
|
}
|
|
132
|
-
function getIssueRow(cveArray) {
|
|
133
|
+
export function getIssueRow(cveArray) {
|
|
133
134
|
const cveMessagesList = getIssueCveMsgList(cveArray);
|
|
134
135
|
return [chalk.bold('Issue'), ':', `${cveMessagesList.join(', ')}`];
|
|
135
136
|
}
|
|
136
|
-
function gatherRemediationAdvice(guidance, libraryName, libraryVersion) {
|
|
137
|
+
export function gatherRemediationAdvice(guidance, libraryName, libraryVersion) {
|
|
137
138
|
const guidanceModel = new ReportGuidanceModel();
|
|
138
139
|
const data = guidance[libraryName + '@' + libraryVersion];
|
|
139
140
|
if (data) {
|
|
@@ -142,10 +143,10 @@ function gatherRemediationAdvice(guidance, libraryName, libraryVersion) {
|
|
|
142
143
|
}
|
|
143
144
|
return guidanceModel;
|
|
144
145
|
}
|
|
145
|
-
function buildFormattedHeaderNum(contrastHeaderNum) {
|
|
146
|
+
export function buildFormattedHeaderNum(contrastHeaderNum) {
|
|
146
147
|
return `CONTRAST-${contrastHeaderNum.toString().padStart(3, '0')}`;
|
|
147
148
|
}
|
|
148
|
-
const buildFooter = reportModelStructure => {
|
|
149
|
+
export const buildFooter = reportModelStructure => {
|
|
149
150
|
const { critical, high, medium, low, note } = countVulnerableLibrariesBySeverity(reportModelStructure);
|
|
150
151
|
const criticalMessage = chalk
|
|
151
152
|
.hex(CRITICAL_COLOUR)
|
|
@@ -162,7 +163,7 @@ const buildFooter = reportModelStructure => {
|
|
|
162
163
|
noteMessage
|
|
163
164
|
};
|
|
164
165
|
};
|
|
165
|
-
const getIssueCveMsgList = results => {
|
|
166
|
+
export const getIssueCveMsgList = results => {
|
|
166
167
|
const cveMessages = [];
|
|
167
168
|
results.forEach(reportSeverityModel => {
|
|
168
169
|
const { colour, severity, name } = reportSeverityModel;
|
|
@@ -174,7 +175,7 @@ const getIssueCveMsgList = results => {
|
|
|
174
175
|
});
|
|
175
176
|
return cveMessages;
|
|
176
177
|
};
|
|
177
|
-
const getSeverityCounts = results => {
|
|
178
|
+
export const getSeverityCounts = results => {
|
|
178
179
|
const acc = {
|
|
179
180
|
critical: 0,
|
|
180
181
|
high: 0,
|
|
@@ -192,20 +193,20 @@ const getSeverityCounts = results => {
|
|
|
192
193
|
}
|
|
193
194
|
return acc;
|
|
194
195
|
};
|
|
195
|
-
const printNoVulnFoundMsg = () => {
|
|
196
|
+
export const printNoVulnFoundMsg = () => {
|
|
196
197
|
console.log(i18n.__('scanNoVulnerabilitiesFound'));
|
|
197
198
|
console.log(i18n.__('scanNoVulnerabilitiesFoundSecureCode'));
|
|
198
199
|
console.log(i18n.__('scanNoVulnerabilitiesFoundGoodWork'));
|
|
199
200
|
console.log(chalk.bold(`Found 0 vulnerabilities`));
|
|
200
201
|
console.log(i18n.__('foundDetailedVulnerabilities', String(0), String(0), String(0), String(0), String(0)));
|
|
201
202
|
};
|
|
202
|
-
const printVulnInfo = projectOverview => {
|
|
203
|
+
export const printVulnInfo = projectOverview => {
|
|
203
204
|
const totalVulnerabilities = projectOverview.total;
|
|
204
205
|
createSummaryMessageBottom(totalVulnerabilities);
|
|
205
206
|
const formattedValues = severityFormatted(projectOverview);
|
|
206
207
|
console.log(i18n.__('foundDetailedVulnerabilities', String(formattedValues.criticalFormatted), String(formattedValues.highFormatted), String(formattedValues.mediumFormatted), String(formattedValues.lowFormatted), String(formattedValues.noteFormatted)));
|
|
207
208
|
};
|
|
208
|
-
const severityFormatted = projectOverview => {
|
|
209
|
+
export const severityFormatted = projectOverview => {
|
|
209
210
|
const criticalFormatted = chalk
|
|
210
211
|
.hex(CRITICAL_COLOUR)
|
|
211
212
|
.bold(`${projectOverview.critical} Critical`);
|
|
@@ -227,20 +228,4 @@ const severityFormatted = projectOverview => {
|
|
|
227
228
|
noteFormatted
|
|
228
229
|
};
|
|
229
230
|
};
|
|
230
|
-
|
|
231
|
-
createSummaryMessageTop,
|
|
232
|
-
getReport,
|
|
233
|
-
createSummaryMessageBottom,
|
|
234
|
-
printVulnerabilityResponse,
|
|
235
|
-
printFormattedOutput,
|
|
236
|
-
getReportTable,
|
|
237
|
-
buildHeader,
|
|
238
|
-
buildBody,
|
|
239
|
-
getIssueRow,
|
|
240
|
-
gatherRemediationAdvice,
|
|
241
|
-
buildFormattedHeaderNum,
|
|
242
|
-
getIssueCveMsgList,
|
|
243
|
-
getSeverityCounts,
|
|
244
|
-
printNoVulnFoundMsg,
|
|
245
|
-
printVulnInfo
|
|
246
|
-
};
|
|
231
|
+
//# sourceMappingURL=commonReportingFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commonReportingFunctions.js","sourceRoot":"","sources":["../../../src/audit/report/commonReportingFunctions.js"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReportGuidanceModel = void 0;
|
|
4
|
-
class ReportGuidanceModel {
|
|
1
|
+
export class ReportGuidanceModel {
|
|
5
2
|
}
|
|
6
|
-
|
|
3
|
+
//# sourceMappingURL=reportGuidanceModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportGuidanceModel.js","sourceRoot":"","sources":["../../../../src/audit/report/models/reportGuidanceModel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB;CAI/B"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReportCVEModel = exports.ReportLibraryModel = void 0;
|
|
4
|
-
class ReportLibraryModel {
|
|
1
|
+
export class ReportLibraryModel {
|
|
5
2
|
constructor(name, cveArray) {
|
|
6
3
|
this.name = name;
|
|
7
4
|
this.cveArray = cveArray;
|
|
8
5
|
}
|
|
9
6
|
}
|
|
10
|
-
|
|
11
|
-
class ReportCVEModel {
|
|
7
|
+
export class ReportCVEModel {
|
|
12
8
|
constructor(name, description, severityCode, cvss3SeverityCode) {
|
|
13
9
|
this.name = name;
|
|
14
10
|
this.description = description;
|
|
@@ -16,4 +12,4 @@ class ReportCVEModel {
|
|
|
16
12
|
this.cvss3SeverityCode = cvss3SeverityCode;
|
|
17
13
|
}
|
|
18
14
|
}
|
|
19
|
-
|
|
15
|
+
//# sourceMappingURL=reportLibraryModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportLibraryModel.js","sourceRoot":"","sources":["../../../../src/audit/report/models/reportLibraryModel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,kBAAkB;IAI7B,YAAY,IAAY,EAAE,QAA0B;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IAQzB,YACE,IAAY,EACZ,WAAmB,EACnB,YAAoB,EACpB,iBAAyB;QAEzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;CACF"}
|
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReportCompositeKey = exports.ReportModelStructure = exports.ReportList = void 0;
|
|
4
|
-
class ReportList {
|
|
1
|
+
export class ReportList {
|
|
5
2
|
constructor() {
|
|
6
3
|
this.reportOutputList = [];
|
|
7
4
|
}
|
|
8
5
|
}
|
|
9
|
-
|
|
10
|
-
class ReportModelStructure {
|
|
6
|
+
export class ReportModelStructure {
|
|
11
7
|
constructor(compositeKey, cveArray, remediationAdvice) {
|
|
12
8
|
this.compositeKey = compositeKey;
|
|
13
9
|
this.cveArray = cveArray;
|
|
14
10
|
this.remediationAdvice = remediationAdvice;
|
|
15
11
|
}
|
|
16
12
|
}
|
|
17
|
-
|
|
18
|
-
class ReportCompositeKey {
|
|
13
|
+
export class ReportCompositeKey {
|
|
19
14
|
constructor(libraryName, libraryVersion, highestSeverity, numberOfSeverities) {
|
|
20
15
|
this.libraryName = libraryName;
|
|
21
16
|
this.libraryVersion = libraryVersion;
|
|
@@ -23,4 +18,4 @@ class ReportCompositeKey {
|
|
|
23
18
|
this.numberOfSeverities = numberOfSeverities;
|
|
24
19
|
}
|
|
25
20
|
}
|
|
26
|
-
|
|
21
|
+
//# sourceMappingURL=reportListModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportListModel.js","sourceRoot":"","sources":["../../../../src/audit/report/models/reportListModel.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,UAAU;IAGrB;QACE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IAK/B,YACE,YAAgC,EAChC,QAA0D,EAC1D,iBAAyD;QAEzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAM7B,YACE,WAAmB,EACnB,cAAsB,EACtB,eAAoC,EACpC,kBAA0B;QAE1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;IAC9C,CAAC;CACF"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReportOutputBodyModel = exports.ReportOutputHeaderModel = exports.ReportOutputModel = void 0;
|
|
4
|
-
class ReportOutputModel {
|
|
1
|
+
export class ReportOutputModel {
|
|
5
2
|
constructor(header, body) {
|
|
6
3
|
this.header = header;
|
|
7
4
|
this.body = body;
|
|
8
5
|
}
|
|
9
6
|
}
|
|
10
|
-
|
|
11
|
-
class ReportOutputHeaderModel {
|
|
7
|
+
export class ReportOutputHeaderModel {
|
|
12
8
|
constructor(vulnMessage, introducesMessage) {
|
|
13
9
|
this.vulnMessage = vulnMessage;
|
|
14
10
|
this.introducesMessage = introducesMessage;
|
|
15
11
|
}
|
|
16
12
|
}
|
|
17
|
-
|
|
18
|
-
class ReportOutputBodyModel {
|
|
13
|
+
export class ReportOutputBodyModel {
|
|
19
14
|
constructor(issueMessage, adviceMessage) {
|
|
20
15
|
this.issueMessage = issueMessage;
|
|
21
16
|
this.adviceMessage = adviceMessage;
|
|
22
17
|
}
|
|
23
18
|
}
|
|
24
|
-
|
|
19
|
+
//# sourceMappingURL=reportOutputModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reportOutputModel.js","sourceRoot":"","sources":["../../../../src/audit/report/models/reportOutputModel.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IAI5B,YAAY,MAA+B,EAAE,IAA2B;QACtE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED,MAAM,OAAO,uBAAuB;IAIlC,YAAY,WAAmB,EAAE,iBAAyB;QACxD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IAIhC,YAAY,YAAsB,EAAE,aAAuB;QACzD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACpC,CAAC;CACF"}
|