@contrast/contrast 2.0.2-beta.3 → 2.0.2-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -1
- package/dist/audit/catalogueApplication/catalogueApplication.js +6 -10
- package/dist/audit/catalogueApplication/catalogueApplication.js.map +1 -0
- package/dist/audit/languageAnalysisEngine/commonApi.js +3 -6
- package/dist/audit/languageAnalysisEngine/commonApi.js.map +1 -0
- package/dist/audit/languageAnalysisEngine/filterProjectPath.js +1 -0
- package/dist/audit/languageAnalysisEngine/filterProjectPath.js.map +1 -0
- package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js +9 -12
- package/dist/audit/languageAnalysisEngine/getProjectRootFilenames.js.map +1 -0
- package/dist/audit/languageAnalysisEngine/sendSnapshot.js +15 -19
- package/dist/audit/languageAnalysisEngine/sendSnapshot.js.map +1 -0
- package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +9 -9
- package/dist/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js.map +1 -0
- package/dist/audit/report/commonReportingFunctions.js +33 -48
- package/dist/audit/report/commonReportingFunctions.js.map +1 -0
- package/dist/audit/report/models/reportGuidanceModel.js +2 -5
- package/dist/audit/report/models/reportGuidanceModel.js.map +1 -0
- package/dist/audit/report/models/reportLibraryModel.js +3 -7
- package/dist/audit/report/models/reportLibraryModel.js.map +1 -0
- package/dist/audit/report/models/reportListModel.js +4 -9
- package/dist/audit/report/models/reportListModel.js.map +1 -0
- package/dist/audit/report/models/reportOutputModel.js +4 -9
- package/dist/audit/report/models/reportOutputModel.js.map +1 -0
- package/dist/audit/report/models/reportSeverityModel.js +2 -5
- package/dist/audit/report/models/reportSeverityModel.js.map +1 -0
- package/dist/audit/report/models/severityCountModel.js +3 -5
- package/dist/audit/report/models/severityCountModel.js.map +1 -0
- package/dist/audit/report/reportingFeature.js +27 -55
- package/dist/audit/report/reportingFeature.js.map +1 -0
- package/dist/audit/report/utils/reportUtils.js +28 -59
- package/dist/audit/report/utils/reportUtils.js.map +1 -0
- package/dist/audit/save.js +14 -16
- package/dist/audit/save.js.map +1 -0
- package/dist/cliConstants.js +17 -18
- package/dist/cliConstants.js.map +1 -0
- package/dist/commands/audit/auditConfig.js +7 -10
- package/dist/commands/audit/auditConfig.js.map +1 -0
- package/dist/commands/audit/auditController.js +9 -13
- package/dist/commands/audit/auditController.js.map +1 -0
- package/dist/commands/audit/help.js +23 -25
- package/dist/commands/audit/help.js.map +1 -0
- package/dist/commands/audit/processAudit.js +9 -12
- package/dist/commands/audit/processAudit.js.map +1 -0
- package/dist/commands/audit/saveFile.js +3 -6
- package/dist/commands/audit/saveFile.js.map +1 -0
- package/dist/commands/auth/auth.js +25 -24
- package/dist/commands/auth/auth.js.map +1 -0
- package/dist/commands/config/config.js +12 -13
- package/dist/commands/config/config.js.map +1 -0
- package/dist/commands/github/fingerprintConfig.js +8 -11
- package/dist/commands/github/fingerprintConfig.js.map +1 -0
- package/dist/commands/github/processFingerprint.js +12 -15
- package/dist/commands/github/processFingerprint.js.map +1 -0
- package/dist/commands/github/projectGroup.js +25 -32
- package/dist/commands/github/projectGroup.js.map +1 -0
- package/dist/commands/github/repoServices.js +11 -21
- package/dist/commands/github/repoServices.js.map +1 -0
- package/dist/commands/learn/learn.js +3 -6
- package/dist/commands/learn/learn.js.map +1 -0
- package/dist/commands/learn/processLearn.js +3 -6
- package/dist/commands/learn/processLearn.js.map +1 -0
- package/dist/commands/scan/processScan.js +11 -14
- package/dist/commands/scan/processScan.js.map +1 -0
- package/dist/common/HTTPClient.js +123 -94
- package/dist/common/HTTPClient.js.map +1 -0
- package/dist/common/autoDetection.js +26 -33
- package/dist/common/autoDetection.js.map +1 -0
- package/dist/common/baseRequest.js +14 -18
- package/dist/common/baseRequest.js.map +1 -0
- package/dist/common/commonHelp.js +13 -13
- package/dist/common/commonHelp.js.map +1 -0
- package/dist/common/errorHandling.js +30 -39
- package/dist/common/errorHandling.js.map +1 -0
- package/dist/common/fail.js +6 -12
- package/dist/common/fail.js.map +1 -0
- package/dist/common/versionChecker.js +16 -19
- package/dist/common/versionChecker.js.map +1 -0
- package/dist/constants/constants.js +44 -65
- package/dist/constants/constants.js.map +1 -0
- package/dist/constants/lambda.js +8 -5
- package/dist/constants/lambda.js.map +1 -0
- package/dist/constants/locales.js +6 -9
- package/dist/constants/locales.js.map +1 -0
- package/dist/index.js +36 -39
- package/dist/index.js.map +1 -0
- package/dist/lambda/analytics.js +6 -9
- package/dist/lambda/analytics.js.map +1 -0
- package/dist/lambda/arn.js +6 -9
- package/dist/lambda/arn.js.map +1 -0
- package/dist/lambda/aws.js +29 -34
- package/dist/lambda/aws.js.map +1 -0
- package/dist/lambda/cliError.js +13 -41
- package/dist/lambda/cliError.js.map +1 -0
- package/dist/lambda/constants.js +3 -4
- package/dist/lambda/constants.js.map +1 -0
- package/dist/lambda/help.js +39 -44
- package/dist/lambda/help.js.map +1 -0
- package/dist/lambda/lambda.js +61 -65
- package/dist/lambda/lambda.js.map +1 -0
- package/dist/lambda/lambdaUtils.js +38 -32
- package/dist/lambda/lambdaUtils.js.map +1 -0
- package/dist/lambda/logUtils.js +21 -17
- package/dist/lambda/logUtils.js.map +1 -0
- package/dist/lambda/scanDetailCompletion.js +19 -25
- package/dist/lambda/scanDetailCompletion.js.map +1 -0
- package/dist/lambda/scanRequest.js +34 -41
- package/dist/lambda/scanRequest.js.map +1 -0
- package/dist/lambda/scanResults.js +8 -10
- package/dist/lambda/scanResults.js.map +1 -0
- package/dist/lambda/types.js +5 -7
- package/dist/lambda/types.js.map +1 -0
- package/dist/lambda/utils.js +33 -35
- package/dist/lambda/utils.js.map +1 -0
- package/dist/sbom/generateSbom.js +6 -10
- package/dist/sbom/generateSbom.js.map +1 -0
- package/dist/scaAnalysis/common/auditReport.js +8 -12
- package/dist/scaAnalysis/common/auditReport.js.map +1 -0
- package/dist/scaAnalysis/common/commonReportingFunctionsSca.js +26 -32
- package/dist/scaAnalysis/common/commonReportingFunctionsSca.js.map +1 -0
- package/dist/scaAnalysis/common/formatMessage.js +8 -17
- package/dist/scaAnalysis/common/formatMessage.js.map +1 -0
- package/dist/scaAnalysis/common/models/ScaReportModel.js +4 -9
- package/dist/scaAnalysis/common/models/ScaReportModel.js.map +1 -0
- package/dist/scaAnalysis/common/scaParserForGoAndJava.js +10 -9
- package/dist/scaAnalysis/common/scaParserForGoAndJava.js.map +1 -0
- package/dist/scaAnalysis/common/scaServicesUpload.js +21 -22
- package/dist/scaAnalysis/common/scaServicesUpload.js.map +1 -0
- package/dist/scaAnalysis/common/treeUpload.js +7 -10
- package/dist/scaAnalysis/common/treeUpload.js.map +1 -0
- package/dist/scaAnalysis/common/utils/reportUtilsSca.js +21 -29
- package/dist/scaAnalysis/common/utils/reportUtilsSca.js.map +1 -0
- package/dist/scaAnalysis/dotnet/analysis.js +12 -18
- package/dist/scaAnalysis/dotnet/analysis.js.map +1 -0
- package/dist/scaAnalysis/dotnet/index.js +4 -7
- package/dist/scaAnalysis/dotnet/index.js.map +1 -0
- package/dist/scaAnalysis/go/goAnalysis.js +8 -11
- package/dist/scaAnalysis/go/goAnalysis.js.map +1 -0
- package/dist/scaAnalysis/go/goParseDeps.js +9 -7
- package/dist/scaAnalysis/go/goParseDeps.js.map +1 -0
- package/dist/scaAnalysis/go/goReadDepFile.js +10 -8
- package/dist/scaAnalysis/go/goReadDepFile.js.map +1 -0
- package/dist/scaAnalysis/java/analysis.js +23 -20
- package/dist/scaAnalysis/java/analysis.js.map +1 -0
- package/dist/scaAnalysis/java/index.js +7 -10
- package/dist/scaAnalysis/java/index.js.map +1 -0
- package/dist/scaAnalysis/java/javaBuildDepsParser.js +43 -43
- package/dist/scaAnalysis/java/javaBuildDepsParser.js.map +1 -0
- package/dist/scaAnalysis/javascript/analysis.js +16 -20
- package/dist/scaAnalysis/javascript/analysis.js.map +1 -0
- package/dist/scaAnalysis/javascript/index.js +17 -19
- package/dist/scaAnalysis/javascript/index.js.map +1 -0
- package/dist/scaAnalysis/javascript/scaServiceParser.js +8 -15
- package/dist/scaAnalysis/javascript/scaServiceParser.js.map +1 -0
- package/dist/scaAnalysis/legacy/legacyFlow.js +13 -15
- package/dist/scaAnalysis/legacy/legacyFlow.js.map +1 -0
- package/dist/scaAnalysis/php/analysis.js +15 -16
- package/dist/scaAnalysis/php/analysis.js.map +1 -0
- package/dist/scaAnalysis/php/index.js +5 -8
- package/dist/scaAnalysis/php/index.js.map +1 -0
- package/dist/scaAnalysis/php/phpNewServicesMapper.js +9 -12
- package/dist/scaAnalysis/php/phpNewServicesMapper.js.map +1 -0
- package/dist/scaAnalysis/processServicesFlow.js +50 -25
- package/dist/scaAnalysis/processServicesFlow.js.map +1 -0
- package/dist/scaAnalysis/python/analysis.js +16 -23
- package/dist/scaAnalysis/python/analysis.js.map +1 -0
- package/dist/scaAnalysis/python/index.js +4 -7
- package/dist/scaAnalysis/python/index.js.map +1 -0
- package/dist/scaAnalysis/repoMode/gradleParser.js +7 -13
- package/dist/scaAnalysis/repoMode/gradleParser.js.map +1 -0
- package/dist/scaAnalysis/repoMode/index.js +9 -12
- package/dist/scaAnalysis/repoMode/index.js.map +1 -0
- package/dist/scaAnalysis/repoMode/mavenParser.js +12 -12
- package/dist/scaAnalysis/repoMode/mavenParser.js.map +1 -0
- package/dist/scaAnalysis/ruby/analysis.js +32 -46
- package/dist/scaAnalysis/ruby/analysis.js.map +1 -0
- package/dist/scaAnalysis/ruby/index.js +5 -8
- package/dist/scaAnalysis/ruby/index.js.map +1 -0
- package/dist/scaAnalysis/scaAnalysis.js +49 -51
- package/dist/scaAnalysis/scaAnalysis.js.map +1 -0
- package/dist/scan/fileUtils.js +27 -36
- package/dist/scan/fileUtils.js.map +1 -0
- package/dist/scan/formatScanOutput.js +47 -61
- package/dist/scan/formatScanOutput.js.map +1 -0
- package/dist/scan/help.js +8 -11
- package/dist/scan/help.js.map +1 -0
- package/dist/scan/models/groupedResultsModel.js +2 -5
- package/dist/scan/models/groupedResultsModel.js.map +1 -0
- package/dist/scan/models/resultContentModel.js +2 -2
- package/dist/scan/models/resultContentModel.js.map +1 -0
- package/dist/scan/models/scanResultsModel.js +2 -5
- package/dist/scan/models/scanResultsModel.js.map +1 -0
- package/dist/scan/populateProjectIdAndProjectName.js +9 -12
- package/dist/scan/populateProjectIdAndProjectName.js.map +1 -0
- package/dist/scan/saveResults.js +3 -6
- package/dist/scan/saveResults.js.map +1 -0
- package/dist/scan/scan.js +24 -31
- package/dist/scan/scan.js.map +1 -0
- package/dist/scan/scanConfig.js +14 -12
- package/dist/scan/scanConfig.js.map +1 -0
- package/dist/scan/scanController.js +17 -20
- package/dist/scan/scanController.js.map +1 -0
- package/dist/scan/scanResults.js +27 -34
- package/dist/scan/scanResults.js.map +1 -0
- package/dist/telemetry/telemetry.js +29 -59
- package/dist/telemetry/telemetry.js.map +1 -0
- package/dist/utils/capabilities.js +1 -0
- package/dist/utils/capabilities.js.map +1 -0
- package/dist/utils/commonApi.js +15 -24
- package/dist/utils/commonApi.js.map +1 -0
- package/dist/utils/filterProjectPath.js +1 -0
- package/dist/utils/filterProjectPath.js.map +1 -0
- package/dist/utils/generalAPI.js +11 -17
- package/dist/utils/generalAPI.js.map +1 -0
- package/dist/utils/getConfig.js +7 -13
- package/dist/utils/getConfig.js.map +1 -0
- package/dist/utils/oraWrapper.js +7 -14
- package/dist/utils/oraWrapper.js.map +1 -0
- package/dist/utils/paramsUtil/commandlineParams.js +2 -5
- package/dist/utils/paramsUtil/commandlineParams.js.map +1 -0
- package/dist/utils/paramsUtil/configStoreParams.js +9 -10
- package/dist/utils/paramsUtil/configStoreParams.js.map +1 -0
- package/dist/utils/paramsUtil/envVariableParams.js +2 -3
- package/dist/utils/paramsUtil/envVariableParams.js.map +1 -0
- package/dist/utils/paramsUtil/paramHandler.js +12 -13
- package/dist/utils/paramsUtil/paramHandler.js.map +1 -0
- package/dist/utils/parsedCLIOptions.js +4 -7
- package/dist/utils/parsedCLIOptions.js.map +1 -0
- package/dist/utils/requestUtils.js +7 -13
- package/dist/utils/requestUtils.js.map +1 -0
- package/dist/utils/saveFile.js +8 -11
- package/dist/utils/saveFile.js.map +1 -0
- package/dist/utils/validationCheck.js +5 -11
- package/dist/utils/validationCheck.js.map +1 -0
- package/package.json +32 -41
- package/.prettierignore +0 -1
- package/bin/contrast.js +0 -2
- package/dist/audit/languageAnalysisEngine/util/requestUtils.js +0 -14
- package/dist/lambda/__mocks__/aws.js +0 -21
- package/dist/lambda/__mocks__/lambdaConfig.json +0 -42
- package/src/audit/catalogueApplication/catalogueApplication.js +0 -51
- package/src/audit/languageAnalysisEngine/commonApi.js +0 -20
- package/src/audit/languageAnalysisEngine/filterProjectPath.js +0 -21
- package/src/audit/languageAnalysisEngine/getProjectRootFilenames.js +0 -36
- package/src/audit/languageAnalysisEngine/sendSnapshot.js +0 -57
- package/src/audit/languageAnalysisEngine/util/requestUtils.js +0 -17
- package/src/audit/nodeAnalysisEngine/parseYarn2LockFileContents.js +0 -63
- package/src/audit/report/commonReportingFunctions.js +0 -412
- package/src/audit/report/models/reportGuidanceModel.ts +0 -5
- package/src/audit/report/models/reportLibraryModel.ts +0 -30
- package/src/audit/report/models/reportListModel.ts +0 -49
- package/src/audit/report/models/reportOutputModel.ts +0 -29
- package/src/audit/report/models/reportSeverityModel.ts +0 -18
- package/src/audit/report/models/severityCountModel.ts +0 -22
- package/src/audit/report/reportingFeature.ts +0 -110
- package/src/audit/report/utils/reportUtils.ts +0 -165
- package/src/audit/save.js +0 -67
- package/src/cliConstants.js +0 -523
- package/src/commands/audit/auditConfig.js +0 -18
- package/src/commands/audit/auditController.js +0 -50
- package/src/commands/audit/help.js +0 -72
- package/src/commands/audit/processAudit.js +0 -34
- package/src/commands/audit/saveFile.js +0 -15
- package/src/commands/auth/auth.js +0 -146
- package/src/commands/config/config.js +0 -41
- package/src/commands/github/fingerprintConfig.js +0 -19
- package/src/commands/github/processFingerprint.js +0 -37
- package/src/commands/github/projectGroup.js +0 -298
- package/src/commands/github/repoServices.js +0 -122
- package/src/commands/learn/learn.js +0 -10
- package/src/commands/learn/processLearn.js +0 -13
- package/src/commands/scan/processScan.js +0 -42
- package/src/common/HTTPClient.js +0 -775
- package/src/common/autoDetection.js +0 -209
- package/src/common/baseRequest.ts +0 -83
- package/src/common/commonHelp.js +0 -53
- package/src/common/errorHandling.js +0 -157
- package/src/common/fail.js +0 -79
- package/src/common/versionChecker.js +0 -75
- package/src/constants/constants.js +0 -71
- package/src/constants/lambda.js +0 -85
- package/src/constants/locales.js +0 -365
- package/src/index.ts +0 -142
- package/src/lambda/__mocks__/aws.ts +0 -32
- package/src/lambda/__mocks__/lambdaConfig.json +0 -42
- package/src/lambda/analytics.ts +0 -9
- package/src/lambda/arn.ts +0 -33
- package/src/lambda/aws.ts +0 -248
- package/src/lambda/cliError.ts +0 -72
- package/src/lambda/constants.ts +0 -11
- package/src/lambda/help.ts +0 -92
- package/src/lambda/lambda.ts +0 -230
- package/src/lambda/lambdaUtils.ts +0 -111
- package/src/lambda/logUtils.ts +0 -64
- package/src/lambda/scanDetailCompletion.ts +0 -78
- package/src/lambda/scanRequest.ts +0 -169
- package/src/lambda/scanResults.ts +0 -29
- package/src/lambda/types.ts +0 -36
- package/src/lambda/utils.ts +0 -188
- package/src/sbom/generateSbom.ts +0 -45
- package/src/scaAnalysis/common/auditReport.js +0 -59
- package/src/scaAnalysis/common/commonReportingFunctionsSca.js +0 -276
- package/src/scaAnalysis/common/formatMessage.js +0 -67
- package/src/scaAnalysis/common/models/ScaReportModel.ts +0 -81
- package/src/scaAnalysis/common/scaParserForGoAndJava.js +0 -41
- package/src/scaAnalysis/common/scaServicesUpload.js +0 -159
- package/src/scaAnalysis/common/treeUpload.js +0 -51
- package/src/scaAnalysis/common/utils/reportUtilsSca.ts +0 -123
- package/src/scaAnalysis/dotnet/analysis.js +0 -72
- package/src/scaAnalysis/dotnet/index.js +0 -11
- package/src/scaAnalysis/go/goAnalysis.js +0 -26
- package/src/scaAnalysis/go/goParseDeps.js +0 -203
- package/src/scaAnalysis/go/goReadDepFile.js +0 -34
- package/src/scaAnalysis/java/analysis.js +0 -148
- package/src/scaAnalysis/java/index.js +0 -29
- package/src/scaAnalysis/java/javaBuildDepsParser.js +0 -439
- package/src/scaAnalysis/javascript/analysis.js +0 -111
- package/src/scaAnalysis/javascript/index.js +0 -104
- package/src/scaAnalysis/javascript/scaServiceParser.js +0 -151
- package/src/scaAnalysis/legacy/legacyFlow.js +0 -43
- package/src/scaAnalysis/php/analysis.js +0 -78
- package/src/scaAnalysis/php/index.js +0 -28
- package/src/scaAnalysis/php/phpNewServicesMapper.js +0 -77
- package/src/scaAnalysis/processServicesFlow.js +0 -126
- package/src/scaAnalysis/python/analysis.js +0 -93
- package/src/scaAnalysis/python/index.js +0 -16
- package/src/scaAnalysis/repoMode/gradleParser.js +0 -88
- package/src/scaAnalysis/repoMode/index.js +0 -21
- package/src/scaAnalysis/repoMode/mavenParser.js +0 -138
- package/src/scaAnalysis/ruby/analysis.js +0 -413
- package/src/scaAnalysis/ruby/index.js +0 -16
- package/src/scaAnalysis/scaAnalysis.js +0 -172
- package/src/scan/fileUtils.js +0 -218
- package/src/scan/formatScanOutput.ts +0 -225
- package/src/scan/help.js +0 -56
- package/src/scan/models/groupedResultsModel.ts +0 -20
- package/src/scan/models/resultContentModel.ts +0 -86
- package/src/scan/models/scanResultsModel.ts +0 -55
- package/src/scan/populateProjectIdAndProjectName.js +0 -73
- package/src/scan/saveResults.js +0 -14
- package/src/scan/scan.ts +0 -68
- package/src/scan/scanConfig.js +0 -58
- package/src/scan/scanController.js +0 -98
- package/src/scan/scanResults.js +0 -171
- package/src/telemetry/telemetry.ts +0 -154
- package/src/utils/capabilities.js +0 -12
- package/src/utils/commonApi.js +0 -103
- package/src/utils/filterProjectPath.js +0 -25
- package/src/utils/generalAPI.js +0 -52
- package/src/utils/getConfig.ts +0 -34
- package/src/utils/oraWrapper.js +0 -29
- package/src/utils/paramsUtil/commandlineParams.js +0 -12
- package/src/utils/paramsUtil/configStoreParams.js +0 -19
- package/src/utils/paramsUtil/envVariableParams.js +0 -10
- package/src/utils/paramsUtil/paramHandler.js +0 -38
- package/src/utils/parsedCLIOptions.js +0 -32
- package/src/utils/requestUtils.js +0 -29
- package/src/utils/saveFile.js +0 -20
- package/src/utils/validationCheck.js +0 -39
package/dist/scan/fileUtils.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const findFile = async () => {
|
|
1
|
+
import fg from 'fast-glob';
|
|
2
|
+
import { accessSync, constants, existsSync, readFileSync } from 'fs';
|
|
3
|
+
import i18n from 'i18n';
|
|
4
|
+
export const findFile = async () => {
|
|
6
5
|
console.log(i18n.__('searchingScanFileDirectory', process.cwd()));
|
|
7
6
|
return fg(['**/*.jar', '**/*.war', '**/*.zip', '**/*.dll', '**/*.exe'], {
|
|
8
7
|
dot: false,
|
|
@@ -10,12 +9,18 @@ const findFile = async () => {
|
|
|
10
9
|
onlyFiles: true
|
|
11
10
|
});
|
|
12
11
|
};
|
|
13
|
-
const findAllFiles = async (filePath, depth = 3) => {
|
|
12
|
+
export const findAllFiles = async (filePath, depth = 3) => {
|
|
14
13
|
const result = await fg([
|
|
15
14
|
'**/pom.xml',
|
|
15
|
+
// '**/build.gradle',
|
|
16
|
+
// '**/build.gradle.kts',
|
|
16
17
|
'**/package.json',
|
|
17
18
|
'**/package-lock.json',
|
|
18
19
|
'**/yarn.lock'
|
|
20
|
+
// '**/Pipfile',
|
|
21
|
+
// '**/*.csproj',
|
|
22
|
+
// '**/Gemfile',
|
|
23
|
+
// '**/go.mod'
|
|
19
24
|
], {
|
|
20
25
|
ignore: ['**/node_modules/**', '**/target/**', '**/bin/**'],
|
|
21
26
|
dot: false,
|
|
@@ -29,7 +34,7 @@ const findAllFiles = async (filePath, depth = 3) => {
|
|
|
29
34
|
}
|
|
30
35
|
return [];
|
|
31
36
|
};
|
|
32
|
-
const findFilesJava = async (languagesFound, filePath, depth = 1) => {
|
|
37
|
+
export const findFilesJava = async (languagesFound, filePath, depth = 1) => {
|
|
33
38
|
const result = await fg(['**/pom.xml', '**/build.gradle', '**/build.gradle.kts'], {
|
|
34
39
|
dot: false,
|
|
35
40
|
deep: depth,
|
|
@@ -46,7 +51,7 @@ const findFilesJava = async (languagesFound, filePath, depth = 1) => {
|
|
|
46
51
|
}
|
|
47
52
|
return languagesFound;
|
|
48
53
|
};
|
|
49
|
-
const findFilesJavascript = async (languagesFound, filePath, depth = 1) => {
|
|
54
|
+
export const findFilesJavascript = async (languagesFound, filePath, depth = 1) => {
|
|
50
55
|
const result = await fg(['**/package.json', '**/yarn.lock', '**/package-lock.json'], {
|
|
51
56
|
dot: false,
|
|
52
57
|
deep: depth,
|
|
@@ -63,7 +68,7 @@ const findFilesJavascript = async (languagesFound, filePath, depth = 1) => {
|
|
|
63
68
|
}
|
|
64
69
|
return languagesFound;
|
|
65
70
|
};
|
|
66
|
-
const findFilesPython = async (languagesFound, filePath, depth = 1) => {
|
|
71
|
+
export const findFilesPython = async (languagesFound, filePath, depth = 1) => {
|
|
67
72
|
const result = await fg(['**/Pipfile.lock', '**/Pipfile'], {
|
|
68
73
|
dot: false,
|
|
69
74
|
deep: depth,
|
|
@@ -75,7 +80,7 @@ const findFilesPython = async (languagesFound, filePath, depth = 1) => {
|
|
|
75
80
|
}
|
|
76
81
|
return languagesFound;
|
|
77
82
|
};
|
|
78
|
-
const findFilesGo = async (languagesFound, filePath, depth = 1) => {
|
|
83
|
+
export const findFilesGo = async (languagesFound, filePath, depth = 1) => {
|
|
79
84
|
const result = await fg(['**/go.mod'], {
|
|
80
85
|
dot: false,
|
|
81
86
|
deep: depth,
|
|
@@ -87,7 +92,7 @@ const findFilesGo = async (languagesFound, filePath, depth = 1) => {
|
|
|
87
92
|
}
|
|
88
93
|
return languagesFound;
|
|
89
94
|
};
|
|
90
|
-
const findFilesRuby = async (languagesFound, filePath, depth = 1) => {
|
|
95
|
+
export const findFilesRuby = async (languagesFound, filePath, depth = 1) => {
|
|
91
96
|
const result = await fg(['**/Gemfile', '**/Gemfile.lock'], {
|
|
92
97
|
dot: false,
|
|
93
98
|
deep: depth,
|
|
@@ -99,7 +104,7 @@ const findFilesRuby = async (languagesFound, filePath, depth = 1) => {
|
|
|
99
104
|
}
|
|
100
105
|
return languagesFound;
|
|
101
106
|
};
|
|
102
|
-
const findFilesPhp = async (languagesFound, filePath, depth = 1) => {
|
|
107
|
+
export const findFilesPhp = async (languagesFound, filePath, depth = 1) => {
|
|
103
108
|
const result = await fg(['**/composer.json', '**/composer.lock'], {
|
|
104
109
|
dot: false,
|
|
105
110
|
deep: depth,
|
|
@@ -111,7 +116,7 @@ const findFilesPhp = async (languagesFound, filePath, depth = 1) => {
|
|
|
111
116
|
}
|
|
112
117
|
return languagesFound;
|
|
113
118
|
};
|
|
114
|
-
const findFilesDotNet = async (languagesFound, filePath, depth = 1) => {
|
|
119
|
+
export const findFilesDotNet = async (languagesFound, filePath, depth = 1) => {
|
|
115
120
|
const result = await fg(['**/*.csproj', '**/packages.lock.json'], {
|
|
116
121
|
dot: false,
|
|
117
122
|
deep: depth,
|
|
@@ -126,24 +131,24 @@ const findFilesDotNet = async (languagesFound, filePath, depth = 1) => {
|
|
|
126
131
|
}
|
|
127
132
|
return languagesFound;
|
|
128
133
|
};
|
|
129
|
-
const checkFilePermissions = file => {
|
|
134
|
+
export const checkFilePermissions = file => {
|
|
130
135
|
let readableFile = false;
|
|
131
136
|
try {
|
|
132
|
-
|
|
133
|
-
return (readableFile = true);
|
|
137
|
+
accessSync(file, constants.R_OK);
|
|
138
|
+
return (readableFile = true); // testing purposes
|
|
134
139
|
}
|
|
135
140
|
catch (err) {
|
|
136
141
|
console.log('Invalid permissions found on ', file);
|
|
137
142
|
process.exit(0);
|
|
138
143
|
}
|
|
139
144
|
};
|
|
140
|
-
const fileExists = path => {
|
|
141
|
-
return
|
|
145
|
+
export const fileExists = path => {
|
|
146
|
+
return existsSync(path);
|
|
142
147
|
};
|
|
143
|
-
const fileIsEmpty = path => {
|
|
148
|
+
export const fileIsEmpty = path => {
|
|
144
149
|
if (fileExists(path) && checkFilePermissions(path)) {
|
|
145
150
|
try {
|
|
146
|
-
return
|
|
151
|
+
return readFileSync(path).length === 0;
|
|
147
152
|
}
|
|
148
153
|
catch (e) {
|
|
149
154
|
if (e.message.toString().includes('illegal operation on a directory, read')) {
|
|
@@ -157,7 +162,7 @@ const fileIsEmpty = path => {
|
|
|
157
162
|
}
|
|
158
163
|
return false;
|
|
159
164
|
};
|
|
160
|
-
const shortenFilePath = filePath => {
|
|
165
|
+
export const shortenFilePath = filePath => {
|
|
161
166
|
let splitPath = filePath.split('home/runner/work/');
|
|
162
167
|
if (splitPath.length > 1) {
|
|
163
168
|
let splitPath2 = splitPath[1].split('/');
|
|
@@ -166,18 +171,4 @@ const shortenFilePath = filePath => {
|
|
|
166
171
|
}
|
|
167
172
|
return filePath;
|
|
168
173
|
};
|
|
169
|
-
|
|
170
|
-
findFile,
|
|
171
|
-
fileExists,
|
|
172
|
-
checkFilePermissions,
|
|
173
|
-
findFilesJava,
|
|
174
|
-
findFilesJavascript,
|
|
175
|
-
findFilesPython,
|
|
176
|
-
findFilesGo,
|
|
177
|
-
findFilesPhp,
|
|
178
|
-
findFilesRuby,
|
|
179
|
-
findFilesDotNet,
|
|
180
|
-
fileIsEmpty,
|
|
181
|
-
findAllFiles,
|
|
182
|
-
shortenFilePath
|
|
183
|
-
};
|
|
174
|
+
//# sourceMappingURL=fileUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["../../src/scan/fileUtils.js"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const groupedResultsModel_1 = require("./models/groupedResultsModel");
|
|
10
|
-
const lodash_1 = require("lodash");
|
|
11
|
-
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
12
|
-
const constants_1 = require("../constants/constants");
|
|
13
|
-
const commonReportingFunctions_1 = require("../audit/report/commonReportingFunctions");
|
|
14
|
-
function formatScanOutput(scanResults) {
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { GroupedResultsModel } from './models/groupedResultsModel.js';
|
|
3
|
+
import { sortBy } from 'lodash-es';
|
|
4
|
+
import Table from 'cli-table3';
|
|
5
|
+
import { CRITICAL_COLOUR, HIGH_COLOUR, LOW_COLOUR, MEDIUM_COLOUR, NOTE_COLOUR, supportedLanguagesScan } from '../constants/constants.js';
|
|
6
|
+
import { getSeverityCounts, printVulnInfo } from '../audit/report/commonReportingFunctions.js';
|
|
7
|
+
import i18n from 'i18n';
|
|
8
|
+
export function formatScanOutput(scanResults) {
|
|
15
9
|
const { content } = scanResults.scanResultsInstances;
|
|
16
10
|
const { language } = scanResults.scanDetail;
|
|
17
|
-
const severityCounts =
|
|
11
|
+
const severityCounts = getSeverityCounts(content);
|
|
18
12
|
if (content.length === 0) {
|
|
19
|
-
console.log(
|
|
20
|
-
console.log(
|
|
21
|
-
console.log(
|
|
13
|
+
console.log(i18n.__('scanNoVulnerabilitiesFound'));
|
|
14
|
+
console.log(i18n.__('scanNoVulnerabilitiesFoundSecureCode'));
|
|
15
|
+
console.log(i18n.__('scanNoVulnerabilitiesFoundGoodWork'));
|
|
22
16
|
}
|
|
23
17
|
else {
|
|
24
18
|
const message = severityCounts.critical || severityCounts.high
|
|
25
19
|
? 'Here are your top priorities to fix'
|
|
26
20
|
: "No major issues, here's what we found";
|
|
27
|
-
console.log(
|
|
21
|
+
console.log(chalk.bold(message));
|
|
28
22
|
console.log();
|
|
29
23
|
const defaultView = getDefaultView(content, language);
|
|
30
24
|
let count = 0;
|
|
31
25
|
defaultView.forEach(entry => {
|
|
32
26
|
count++;
|
|
33
|
-
const table = new
|
|
27
|
+
const table = new Table({
|
|
34
28
|
chars: {
|
|
35
29
|
top: '',
|
|
36
30
|
'top-mid': '',
|
|
@@ -55,7 +49,7 @@ function formatScanOutput(scanResults) {
|
|
|
55
49
|
});
|
|
56
50
|
let learnRow = [];
|
|
57
51
|
let adviceRow = [];
|
|
58
|
-
const headerColour =
|
|
52
|
+
const headerColour = chalk.hex(entry.colour);
|
|
59
53
|
const headerRow = [
|
|
60
54
|
headerColour(`CONTRAST-${count.toString().padStart(3, '0')}`),
|
|
61
55
|
headerColour(`-`),
|
|
@@ -65,25 +59,25 @@ function formatScanOutput(scanResults) {
|
|
|
65
59
|
];
|
|
66
60
|
const codePath = entry.codePath?.replace(/^@/, '');
|
|
67
61
|
const codeRow = [
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
62
|
+
chalk.hex('#F6F5F5').bold(`Code`),
|
|
63
|
+
chalk.hex('#F6F5F5').bold(`:`),
|
|
64
|
+
chalk.hex('#F6F5F5').bold(`${codePath}`)
|
|
71
65
|
];
|
|
72
|
-
const issueRow = [
|
|
66
|
+
const issueRow = [chalk.bold(`Issue`), chalk.bold(`:`), `${entry.issue}`];
|
|
73
67
|
table.push(headerRow, codeRow, issueRow);
|
|
74
68
|
if (entry?.advice) {
|
|
75
69
|
adviceRow = [
|
|
76
|
-
|
|
77
|
-
|
|
70
|
+
chalk.bold('Advice'),
|
|
71
|
+
chalk.bold(`:`),
|
|
78
72
|
stripTags(entry.advice)
|
|
79
73
|
];
|
|
80
74
|
table.push(adviceRow);
|
|
81
75
|
}
|
|
82
76
|
if (entry?.learn && entry?.learn.length > 0) {
|
|
83
77
|
learnRow = [
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
78
|
+
chalk.bold('Learn'),
|
|
79
|
+
chalk.bold(`:`),
|
|
80
|
+
chalk.hex('#97f7f7').bold.underline(entry.learn[0])
|
|
87
81
|
];
|
|
88
82
|
table.push(learnRow);
|
|
89
83
|
}
|
|
@@ -91,27 +85,25 @@ function formatScanOutput(scanResults) {
|
|
|
91
85
|
console.log();
|
|
92
86
|
});
|
|
93
87
|
}
|
|
94
|
-
|
|
88
|
+
printVulnInfo(severityCounts);
|
|
95
89
|
return severityCounts;
|
|
96
90
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const line = chalk_1.default.bold(objName + ' : ');
|
|
91
|
+
export function formatLinks(objName, entry) {
|
|
92
|
+
const line = chalk.bold(objName + ' : ');
|
|
100
93
|
if (entry.length === 1) {
|
|
101
|
-
console.log(line +
|
|
94
|
+
console.log(line + chalk.hex('#97DCF7').bold.underline(entry[0]));
|
|
102
95
|
}
|
|
103
96
|
else {
|
|
104
97
|
console.log(line);
|
|
105
98
|
entry.forEach(link => {
|
|
106
|
-
console.log(
|
|
99
|
+
console.log(chalk.hex('#97DCF7').bold.underline(link));
|
|
107
100
|
});
|
|
108
101
|
}
|
|
109
102
|
}
|
|
110
|
-
|
|
111
|
-
function getDefaultView(content, language) {
|
|
103
|
+
export function getDefaultView(content, language) {
|
|
112
104
|
const groupTypeResults = [];
|
|
113
105
|
content.forEach(resultEntry => {
|
|
114
|
-
const groupResultsObj = new
|
|
106
|
+
const groupResultsObj = new GroupedResultsModel(resultEntry.ruleId);
|
|
115
107
|
groupResultsObj.severity = resultEntry.severity;
|
|
116
108
|
groupResultsObj.ruleId = resultEntry.ruleId;
|
|
117
109
|
groupResultsObj.issue = stripTags(resultEntry.issue);
|
|
@@ -125,20 +117,18 @@ function getDefaultView(content, language) {
|
|
|
125
117
|
groupTypeResults.push(groupResultsObj);
|
|
126
118
|
assignBySeverity(resultEntry, groupResultsObj);
|
|
127
119
|
});
|
|
128
|
-
return
|
|
120
|
+
return sortBy(groupTypeResults, ['priority']);
|
|
129
121
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
return language !==
|
|
122
|
+
export function doAddSourceLineNumber(resultEntry, language) {
|
|
123
|
+
//only add source line num if not JS
|
|
124
|
+
return language !== supportedLanguagesScan.JAVASCRIPT
|
|
133
125
|
? ':' + getSourceLineNumber(resultEntry)
|
|
134
126
|
: '';
|
|
135
127
|
}
|
|
136
|
-
|
|
137
|
-
function editVulName(message) {
|
|
128
|
+
export function editVulName(message) {
|
|
138
129
|
return message.substring(message.indexOf(' in '));
|
|
139
130
|
}
|
|
140
|
-
|
|
141
|
-
function getLocationsSyncInfo(resultEntry) {
|
|
131
|
+
export function getLocationsSyncInfo(resultEntry) {
|
|
142
132
|
const locationsMessage = resultEntry.locations[0]?.physicalLocation?.artifactLocation?.uri || '';
|
|
143
133
|
const locationsLineNumber = resultEntry.locations[0]?.physicalLocation?.region?.startLine || '';
|
|
144
134
|
if (!locationsLineNumber) {
|
|
@@ -146,50 +136,46 @@ function getLocationsSyncInfo(resultEntry) {
|
|
|
146
136
|
}
|
|
147
137
|
return '@' + locationsMessage + ':' + locationsLineNumber;
|
|
148
138
|
}
|
|
149
|
-
|
|
150
|
-
function getSourceLineNumber(resultEntry) {
|
|
139
|
+
export function getSourceLineNumber(resultEntry) {
|
|
151
140
|
const locationsLineNumber = resultEntry.locations[0]?.physicalLocation?.region?.startLine || '';
|
|
152
141
|
const codeFlowLineNumber = getCodeFlowInfo(resultEntry);
|
|
153
142
|
return codeFlowLineNumber ? codeFlowLineNumber : locationsLineNumber;
|
|
154
143
|
}
|
|
155
|
-
|
|
156
|
-
function getCodeFlowInfo(resultEntry) {
|
|
144
|
+
export function getCodeFlowInfo(resultEntry) {
|
|
157
145
|
let result;
|
|
158
146
|
resultEntry.codeFlows[0]?.threadFlows.forEach((i) => {
|
|
159
147
|
return (result = i.locations.find((locations) => locations.importance === 'essential'));
|
|
160
148
|
});
|
|
161
149
|
return result?.location?.physicalLocation?.region?.startLine;
|
|
162
150
|
}
|
|
163
|
-
|
|
164
|
-
function stripTags(oldString) {
|
|
151
|
+
export function stripTags(oldString) {
|
|
165
152
|
return oldString.replace(/\n/g, ' ').replace(/\s+/g, ' ').trim();
|
|
166
153
|
}
|
|
167
|
-
|
|
168
|
-
function assignBySeverity(entry, assignedObj) {
|
|
154
|
+
export function assignBySeverity(entry, assignedObj) {
|
|
169
155
|
if (entry.severity.toUpperCase() === 'CRITICAL') {
|
|
170
156
|
assignedObj.priority = 1;
|
|
171
|
-
assignedObj.colour =
|
|
157
|
+
assignedObj.colour = CRITICAL_COLOUR;
|
|
172
158
|
return assignedObj;
|
|
173
159
|
}
|
|
174
160
|
else if (entry.severity.toUpperCase() === 'HIGH') {
|
|
175
161
|
assignedObj.priority = 2;
|
|
176
|
-
assignedObj.colour =
|
|
162
|
+
assignedObj.colour = HIGH_COLOUR;
|
|
177
163
|
return assignedObj;
|
|
178
164
|
}
|
|
179
165
|
else if (entry.severity.toUpperCase() === 'MEDIUM') {
|
|
180
166
|
assignedObj.priority = 3;
|
|
181
|
-
assignedObj.colour =
|
|
167
|
+
assignedObj.colour = MEDIUM_COLOUR;
|
|
182
168
|
return assignedObj;
|
|
183
169
|
}
|
|
184
170
|
else if (entry.severity.toUpperCase() === 'LOW') {
|
|
185
171
|
assignedObj.priority = 4;
|
|
186
|
-
assignedObj.colour =
|
|
172
|
+
assignedObj.colour = LOW_COLOUR;
|
|
187
173
|
return assignedObj;
|
|
188
174
|
}
|
|
189
175
|
else if (entry.severity.toUpperCase() === 'NOTE') {
|
|
190
176
|
assignedObj.priority = 5;
|
|
191
|
-
assignedObj.colour =
|
|
177
|
+
assignedObj.colour = NOTE_COLOUR;
|
|
192
178
|
return assignedObj;
|
|
193
179
|
}
|
|
194
180
|
}
|
|
195
|
-
|
|
181
|
+
//# sourceMappingURL=formatScanOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatScanOutput.js","sourceRoot":"","sources":["../../src/scan/formatScanOutput.ts"],"names":[],"mappings":"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"}
|
package/dist/scan/help.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const scanUsageGuide = commandLineUsage([
|
|
1
|
+
import i18n from 'i18n';
|
|
2
|
+
import { commandLineDefinitions } from '../cliConstants.js';
|
|
3
|
+
import { commonHelpLinks } from '../common/commonHelp.js';
|
|
4
|
+
import commandLineUsage from 'command-line-usage';
|
|
5
|
+
export const scanUsageGuide = commandLineUsage([
|
|
7
6
|
{
|
|
8
7
|
header: i18n.__('constantsHeader')
|
|
9
8
|
},
|
|
@@ -22,7 +21,7 @@ const scanUsageGuide = commandLineUsage([
|
|
|
22
21
|
},
|
|
23
22
|
{
|
|
24
23
|
header: i18n.__('constantsScanOptions'),
|
|
25
|
-
optionList:
|
|
24
|
+
optionList: commandLineDefinitions.scanOptionDefinitions,
|
|
26
25
|
hide: [
|
|
27
26
|
'project-id',
|
|
28
27
|
'organization-id',
|
|
@@ -43,12 +42,10 @@ const scanUsageGuide = commandLineUsage([
|
|
|
43
42
|
},
|
|
44
43
|
{
|
|
45
44
|
header: i18n.__('constantsAdvancedOptions'),
|
|
46
|
-
optionList:
|
|
45
|
+
optionList: commandLineDefinitions.scanAdvancedOptionDefinitionsForHelp
|
|
47
46
|
},
|
|
48
47
|
commonHelpLinks()[0],
|
|
49
48
|
commonHelpLinks()[1],
|
|
50
49
|
commonHelpLinks()[2]
|
|
51
50
|
]);
|
|
52
|
-
|
|
53
|
-
scanUsageGuide
|
|
54
|
-
};
|
|
51
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -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,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
const populateProjectId = async (config) => {
|
|
1
|
+
import i18n from 'i18n';
|
|
2
|
+
import * as commonApi from '../utils/commonApi.js';
|
|
3
|
+
export const populateProjectId = async (config) => {
|
|
5
4
|
const client = commonApi.getHttpClient(config);
|
|
6
5
|
let proj = await createProjectId(config, client);
|
|
7
6
|
if (proj === undefined) {
|
|
@@ -12,23 +11,23 @@ const populateProjectId = async (config) => {
|
|
|
12
11
|
}
|
|
13
12
|
return { projectId: proj, isNewProject: true };
|
|
14
13
|
};
|
|
15
|
-
const createProjectId = async (config, client) => {
|
|
14
|
+
export const createProjectId = async (config, client) => {
|
|
16
15
|
return client
|
|
17
16
|
.createProjectId(config)
|
|
18
17
|
.then(res => {
|
|
19
18
|
if (res.statusCode === 409) {
|
|
20
19
|
console.log(i18n.__('foundExistingProjectScan'));
|
|
21
|
-
return;
|
|
20
|
+
return undefined;
|
|
22
21
|
}
|
|
23
22
|
if (res.statusCode === 403) {
|
|
24
23
|
console.log(i18n.__('permissionsError'));
|
|
25
24
|
process.exit(1);
|
|
26
|
-
return;
|
|
25
|
+
return undefined;
|
|
27
26
|
}
|
|
28
27
|
if (res.statusCode === 429) {
|
|
29
28
|
console.log(i18n.__('exceededFreeTier'));
|
|
30
29
|
process.exit(1);
|
|
31
|
-
return;
|
|
30
|
+
return undefined;
|
|
32
31
|
}
|
|
33
32
|
if (res.statusCode === 201) {
|
|
34
33
|
console.log(i18n.__('projectCreatedScan'));
|
|
@@ -46,7 +45,7 @@ const createProjectId = async (config, client) => {
|
|
|
46
45
|
process.exit(0);
|
|
47
46
|
});
|
|
48
47
|
};
|
|
49
|
-
const getExistingProjectIdByName = async (config, client) => {
|
|
48
|
+
export const getExistingProjectIdByName = async (config, client) => {
|
|
50
49
|
return client
|
|
51
50
|
.getProjectIdByName(config)
|
|
52
51
|
.then(res => {
|
|
@@ -61,6 +60,4 @@ const getExistingProjectIdByName = async (config, client) => {
|
|
|
61
60
|
console.log(err);
|
|
62
61
|
});
|
|
63
62
|
};
|
|
64
|
-
|
|
65
|
-
populateProjectId: populateProjectId
|
|
66
|
-
};
|
|
63
|
+
//# sourceMappingURL=populateProjectIdAndProjectName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"populateProjectIdAndProjectName.js","sourceRoot":"","sources":["../../src/scan/populateProjectIdAndProjectName.js"],"names":[],"mappings":"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"}
|
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"}
|