scanoss 0.7.5 → 0.7.9
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/.idea/workspace.xml +64 -47
- package/.nyc_output/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +1 -0
- package/.nyc_output/processinfo/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/build/main/cli/bin/cli-bin.d.ts +2 -1
- package/build/main/cli/bin/cli-bin.js +10 -2
- package/build/main/index.d.ts +2 -0
- package/build/main/index.js +3 -1
- package/build/main/package.json +120 -0
- package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
- package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
- package/build/main/sdk/FileCount/FileCount.d.ts +6 -0
- package/build/main/sdk/FileCount/FileCount.js +88 -0
- package/build/main/sdk/FileCount/FileCountFilter.d.ts +2 -0
- package/build/main/sdk/FileCount/FileCountFilter.js +10 -0
- package/build/main/sdk/FileCount/Interfaces.d.ts +19 -0
- package/build/main/sdk/FileCount/Interfaces.js +8 -0
- package/build/main/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
- package/build/main/sdk/Filtering/DefaultFilterForDependencies.js +144 -0
- package/build/main/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
- package/build/main/sdk/Filtering/DefaultFilterForScanning.js +193 -0
- package/build/main/sdk/Filtering/Filtering.d.ts +80 -0
- package/build/main/sdk/Filtering/Filtering.js +259 -0
- package/build/main/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
- package/build/main/sdk/scanner/ScannerCfg.js +3 -3
- package/build/main/sdk/tree/Filters/DependencyFilter.js +4 -4
- package/build/main/sdk/tree/Filters/ScanFilter.js +4 -4
- package/build/main/src/cli/bin/cli-bin.d.ts +2 -0
- package/build/main/src/cli/bin/cli-bin.js +68 -0
- package/build/main/src/cli/commands/dep.d.ts +1 -0
- package/build/main/src/cli/commands/dep.js +38 -0
- package/build/main/src/cli/commands/helpers.d.ts +2 -0
- package/build/main/src/cli/commands/helpers.js +25 -0
- package/build/main/src/cli/commands/scan.d.ts +1 -0
- package/build/main/src/cli/commands/scan.js +138 -0
- package/build/main/src/cli/commands/wfp.d.ts +1 -0
- package/build/main/src/cli/commands/wfp.js +54 -0
- package/build/main/src/index.d.ts +14 -0
- package/build/main/src/index.js +30 -0
- package/build/main/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
- package/build/main/src/sdk/DataLayer/DataLayerTypes.js +5 -0
- package/build/main/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
- package/build/main/src/sdk/DataLayer/DataProviderManager.js +24 -0
- package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
- package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +164 -0
- package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
- package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +37 -0
- package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
- package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +148 -0
- package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
- package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +33 -0
- package/build/main/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
- package/build/main/src/sdk/Decompress/DecompressionManager.js +73 -0
- package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
- package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.js +22 -0
- package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
- package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.js +24 -0
- package/build/main/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
- package/build/main/src/sdk/Decompress/Decompressor/Decompressor.js +18 -0
- package/build/main/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
- package/build/main/src/sdk/Dependencies/DependencyScanner.js +96 -0
- package/build/main/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
- package/build/main/src/sdk/Dependencies/DependencyScannerCfg.js +10 -0
- package/build/main/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
- package/build/main/src/sdk/Dependencies/DependencyTypes.js +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.js +102 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +95 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +97 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +183 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +187 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +58 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +64 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +132 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.js +19 -0
- package/build/main/src/sdk/Report/Report.d.ts +8 -0
- package/build/main/src/sdk/Report/Report.js +26 -0
- package/build/main/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
- package/build/main/src/sdk/filters/DefaultFilterForDependencies.js +145 -0
- package/build/main/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
- package/build/main/src/sdk/filters/DefaultFilterForScanning.js +194 -0
- package/build/main/src/sdk/filters/filtering.d.ts +32 -0
- package/build/main/src/sdk/filters/filtering.js +228 -0
- package/build/main/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
- package/build/main/src/sdk/grpc/GrpcDependencyService.js +86 -0
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
- package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
- package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.js +43 -0
- package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
- package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.js +160 -0
- package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
- package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.js +33 -0
- package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
- package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +32 -0
- package/build/main/src/sdk/scanner/Fingerprint.d.ts +16 -0
- package/build/main/src/sdk/scanner/Fingerprint.js +78 -0
- package/build/main/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
- package/build/main/src/sdk/scanner/Scannable/ScannableItem.js +27 -0
- package/build/main/src/sdk/scanner/Scanner.d.ts +46 -0
- package/build/main/src/sdk/scanner/Scanner.js +283 -0
- package/build/main/src/sdk/scanner/ScannerCfg.d.ts +16 -0
- package/build/main/src/sdk/scanner/ScannerCfg.js +30 -0
- package/build/main/src/sdk/scanner/ScannerTypes.d.ts +121 -0
- package/build/main/src/sdk/scanner/ScannerTypes.js +48 -0
- package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
- package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.js +31 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +492 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.js +68 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
- package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +139 -0
- package/build/main/src/sdk/tree/File.d.ts +7 -0
- package/build/main/src/sdk/tree/File.js +24 -0
- package/build/main/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
- package/build/main/src/sdk/tree/Filters/DecompressionFilter.js +21 -0
- package/build/main/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
- package/build/main/src/sdk/tree/Filters/DependencyFilter.js +17 -0
- package/build/main/src/sdk/tree/Filters/Filter.d.ts +4 -0
- package/build/main/src/sdk/tree/Filters/Filter.js +6 -0
- package/build/main/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
- package/build/main/src/sdk/tree/Filters/ScanFilter.js +17 -0
- package/build/main/src/sdk/tree/Folder.d.ts +12 -0
- package/build/main/src/sdk/tree/Folder.js +58 -0
- package/build/main/src/sdk/tree/Node.d.ts +17 -0
- package/build/main/src/sdk/tree/Node.js +25 -0
- package/build/main/src/sdk/tree/Tree.d.ts +18 -0
- package/build/main/src/sdk/tree/Tree.js +70 -0
- package/build/main/tsconfig.tsbuildinfo +190 -144
- package/build/module/cli/bin/cli-bin.d.ts +2 -1
- package/build/module/cli/bin/cli-bin.js +6 -2
- package/build/module/index.d.ts +2 -0
- package/build/module/index.js +3 -1
- package/build/module/package.json +120 -0
- package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
- package/build/module/sdk/FileCount/FileCount.d.ts +6 -0
- package/build/module/sdk/FileCount/FileCount.js +63 -0
- package/build/module/sdk/FileCount/FileCountFilter.d.ts +2 -0
- package/build/module/sdk/FileCount/FileCountFilter.js +8 -0
- package/build/module/sdk/FileCount/Interfaces.d.ts +19 -0
- package/build/module/sdk/FileCount/Interfaces.js +6 -0
- package/build/module/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
- package/build/module/sdk/Filtering/DefaultFilterForDependencies.js +142 -0
- package/build/module/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
- package/build/module/sdk/Filtering/DefaultFilterForScanning.js +191 -0
- package/build/module/sdk/Filtering/Filtering.d.ts +80 -0
- package/build/module/sdk/Filtering/Filtering.js +229 -0
- package/build/module/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
- package/build/module/sdk/scanner/ScannerCfg.js +3 -3
- package/build/module/sdk/tree/Filters/DependencyFilter.js +4 -4
- package/build/module/sdk/tree/Filters/ScanFilter.js +4 -4
- package/build/module/src/cli/bin/cli-bin.d.ts +2 -0
- package/build/module/src/cli/bin/cli-bin.js +67 -0
- package/build/module/src/cli/commands/dep.d.ts +1 -0
- package/build/module/src/cli/commands/dep.js +32 -0
- package/build/module/src/cli/commands/helpers.d.ts +2 -0
- package/build/module/src/cli/commands/helpers.js +19 -0
- package/build/module/src/cli/commands/scan.d.ts +1 -0
- package/build/module/src/cli/commands/scan.js +135 -0
- package/build/module/src/cli/commands/wfp.d.ts +1 -0
- package/build/module/src/cli/commands/wfp.js +48 -0
- package/build/module/src/index.d.ts +14 -0
- package/build/module/src/index.js +19 -0
- package/build/module/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
- package/build/module/src/sdk/DataLayer/DataLayerTypes.js +5 -0
- package/build/module/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
- package/build/module/src/sdk/DataLayer/DataProviderManager.js +21 -0
- package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
- package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +159 -0
- package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
- package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +34 -0
- package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
- package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +145 -0
- package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
- package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +30 -0
- package/build/module/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
- package/build/module/src/sdk/Decompress/DecompressionManager.js +67 -0
- package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
- package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.js +16 -0
- package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
- package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.js +18 -0
- package/build/module/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
- package/build/module/src/sdk/Decompress/Decompressor/Decompressor.js +15 -0
- package/build/module/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
- package/build/module/src/sdk/Dependencies/DependencyScanner.js +93 -0
- package/build/module/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
- package/build/module/src/sdk/Dependencies/DependencyScannerCfg.js +7 -0
- package/build/module/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
- package/build/module/src/sdk/Dependencies/DependencyTypes.js +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.js +96 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +87 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +88 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +180 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +175 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +49 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +57 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +125 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.js +15 -0
- package/build/module/src/sdk/Report/Report.d.ts +8 -0
- package/build/module/src/sdk/Report/Report.js +20 -0
- package/build/module/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
- package/build/module/src/sdk/filters/DefaultFilterForDependencies.js +143 -0
- package/build/module/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
- package/build/module/src/sdk/filters/DefaultFilterForScanning.js +192 -0
- package/build/module/src/sdk/filters/filtering.d.ts +32 -0
- package/build/module/src/sdk/filters/filtering.js +203 -0
- package/build/module/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
- package/build/module/src/sdk/grpc/GrpcDependencyService.js +64 -0
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
- package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
- package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.js +37 -0
- package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
- package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.js +135 -0
- package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
- package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.js +30 -0
- package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
- package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +26 -0
- package/build/module/src/sdk/scanner/Fingerprint.d.ts +16 -0
- package/build/module/src/sdk/scanner/Fingerprint.js +54 -0
- package/build/module/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
- package/build/module/src/sdk/scanner/Scannable/ScannableItem.js +24 -0
- package/build/module/src/sdk/scanner/Scanner.d.ts +46 -0
- package/build/module/src/sdk/scanner/Scanner.js +275 -0
- package/build/module/src/sdk/scanner/ScannerCfg.d.ts +16 -0
- package/build/module/src/sdk/scanner/ScannerCfg.js +27 -0
- package/build/module/src/sdk/scanner/ScannerTypes.d.ts +121 -0
- package/build/module/src/sdk/scanner/ScannerTypes.js +46 -0
- package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
- package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.js +28 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +486 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.js +65 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
- package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +132 -0
- package/build/module/src/sdk/tree/File.d.ts +7 -0
- package/build/module/src/sdk/tree/File.js +19 -0
- package/build/module/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
- package/build/module/src/sdk/tree/Filters/DecompressionFilter.js +18 -0
- package/build/module/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
- package/build/module/src/sdk/tree/Filters/DependencyFilter.js +14 -0
- package/build/module/src/sdk/tree/Filters/Filter.d.ts +4 -0
- package/build/module/src/sdk/tree/Filters/Filter.js +3 -0
- package/build/module/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
- package/build/module/src/sdk/tree/Filters/ScanFilter.js +14 -0
- package/build/module/src/sdk/tree/Folder.d.ts +12 -0
- package/build/module/src/sdk/tree/Folder.js +53 -0
- package/build/module/src/sdk/tree/Node.d.ts +17 -0
- package/build/module/src/sdk/tree/Node.js +22 -0
- package/build/module/src/sdk/tree/Tree.d.ts +18 -0
- package/build/module/src/sdk/tree/Tree.js +64 -0
- package/build/module/tsconfig.module.tsbuildinfo +190 -144
- package/package-lock.json +17116 -0
- package/package.json +3 -3
- package/src/cli/bin/cli-bin.ts +7 -4
- package/src/index.ts +5 -0
- package/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.ts +10 -9
- package/src/sdk/FileCount/FileCount.ts +81 -0
- package/src/sdk/FileCount/FileCountFilter.ts +14 -0
- package/src/sdk/FileCount/Interfaces.ts +23 -0
- package/src/sdk/Filtering/DefaultFilterForDependencies.ts +148 -0
- package/src/sdk/Filtering/DefaultFilterForScanning.ts +206 -0
- package/src/sdk/Filtering/Filtering.ts +273 -0
- package/src/sdk/scanner/Dispatcher/Dispatcher.ts +5 -2
- package/src/sdk/scanner/ScannerCfg.ts +2 -2
- package/src/sdk/tree/Filters/DependencyFilter.ts +4 -4
- package/src/sdk/tree/Filters/ScanFilter.ts +4 -4
- package/src/sdk/tree/Node.ts +1 -1
- package/src/sdk/tree/Tree.ts +1 -1
- package/tests/sdk/FileCount/FileCount.spec.ts +35 -0
- package/tests/sdk/FileCount/samples/16557/.y.ts +27 -0
- package/tests/sdk/FileCount/samples/16557/.z.ts +129 -0
- package/tests/sdk/FileCount/samples/16557/files/a.ts +195 -0
- package/tests/sdk/FileCount/samples/16557/files/b.ts +184 -0
- package/tests/sdk/FileCount/samples/16557/files/c.ts +47 -0
- package/tests/sdk/FileCount/samples/22036/files/a.ts +195 -0
- package/tests/sdk/FileCount/samples/22036/files/b.ts +184 -0
- package/tests/sdk/FileCount/samples/22036/files/c.ts +47 -0
- package/tests/sdk/FileCount/samples/22036/files/d.ts +48 -0
- package/tests/sdk/FileCount/samples/22036/y.ts +27 -0
- package/tests/sdk/FileCount/samples/22036/z.ts +129 -0
- package/yarn.lock +316 -203
- package/src/sdk/filters/DefaultFilterForDependencies.ts +0 -149
- package/src/sdk/filters/DefaultFilterForScanning.ts +0 -207
- package/src/sdk/filters/filtering.ts +0 -235
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.scanHandler = void 0;
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const Scanner_1 = require("../../sdk/scanner/Scanner");
|
|
8
|
+
const ScannerTypes_1 = require("../../sdk/scanner/ScannerTypes");
|
|
9
|
+
const ScannerCfg_1 = require("../../sdk/scanner/ScannerCfg");
|
|
10
|
+
const Tree_1 = require("../../sdk/tree/Tree");
|
|
11
|
+
const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
12
|
+
const helpers_1 = require("./helpers");
|
|
13
|
+
const DependencyScannerCfg_1 = require("../../sdk/Dependencies/DependencyScannerCfg");
|
|
14
|
+
const DependencyScanner_1 = require("../../sdk/Dependencies/DependencyScanner");
|
|
15
|
+
const ScanFilter_1 = require("../../sdk/tree/Filters/ScanFilter");
|
|
16
|
+
const DependencyFilter_1 = require("../../sdk/tree/Filters/DependencyFilter");
|
|
17
|
+
const Report_1 = require("../../sdk/Report/Report");
|
|
18
|
+
const DataProviderManager_1 = require("../../sdk/DataLayer/DataProviderManager");
|
|
19
|
+
const ComponentDataProvider_1 = require("../../sdk/DataLayer/DataProviders/ComponentDataProvider");
|
|
20
|
+
const DependencyDataProvider_1 = require("../../sdk/DataLayer/DataProviders/DependencyDataProvider");
|
|
21
|
+
const LicenseDataProvider_1 = require("../../sdk/DataLayer/DataProviders/LicenseDataProvider");
|
|
22
|
+
const SummaryDataProvider_1 = require("../../sdk/DataLayer/DataProviders/SummaryDataProvider");
|
|
23
|
+
const DecompressionFilter_1 = require("../../sdk/tree/Filters/DecompressionFilter");
|
|
24
|
+
const DecompressionManager_1 = require("../../sdk/Decompress/DecompressionManager");
|
|
25
|
+
async function scanHandler(rootPath, options) {
|
|
26
|
+
rootPath = rootPath.replace(/\/$/, ''); // Remove trailing slash if exists
|
|
27
|
+
rootPath = rootPath.replace(/^\./, process.env.PWD); // Convert relative path to absolute path.
|
|
28
|
+
const pathIsFolder = await helpers_1.isFolder(rootPath);
|
|
29
|
+
const projectName = helpers_1.getProjectNameFromPath(rootPath);
|
|
30
|
+
// Create dependency scanner and set parameters
|
|
31
|
+
const dependencyScannerCfg = new DependencyScannerCfg_1.DependencyScannerCfg();
|
|
32
|
+
if (options.api2url)
|
|
33
|
+
dependencyScannerCfg.DEFAULT_GRPC_HOST = options.api2url;
|
|
34
|
+
const dependencyScanner = new DependencyScanner_1.DependencyScanner(dependencyScannerCfg);
|
|
35
|
+
let dependencyInput = [];
|
|
36
|
+
// Create scanner and set connections parameters
|
|
37
|
+
const scannerCfg = new ScannerCfg_1.ScannerCfg();
|
|
38
|
+
if (options.concurrency)
|
|
39
|
+
scannerCfg.CONCURRENCY_LIMIT = parseInt(options.concurrency);
|
|
40
|
+
if (options.postSize)
|
|
41
|
+
scannerCfg.WFP_FILE_MAX_SIZE = parseInt(options.postSize) * 1024;
|
|
42
|
+
if (options.apiurl)
|
|
43
|
+
scannerCfg.API_URL = options.apiurl;
|
|
44
|
+
if (options.key)
|
|
45
|
+
scannerCfg.API_KEY = options.key;
|
|
46
|
+
if (options.timeout)
|
|
47
|
+
scannerCfg.TIMEOUT = options.timeout * 1000;
|
|
48
|
+
if (options.maxRetry)
|
|
49
|
+
scannerCfg.MAX_RETRIES_FOR_RECOVERABLES_ERRORS = options.maxRetry;
|
|
50
|
+
if (options.proxy)
|
|
51
|
+
scannerCfg.PROXY = options.proxy;
|
|
52
|
+
if (options.caCert)
|
|
53
|
+
scannerCfg.CA_CERT = options.caCert;
|
|
54
|
+
if (options.ignoreCertErrors)
|
|
55
|
+
scannerCfg.IGNORE_CERT_ERRORS = true;
|
|
56
|
+
const scanner = new Scanner_1.Scanner(scannerCfg);
|
|
57
|
+
let scannerInput = { fileList: [] };
|
|
58
|
+
scannerInput.folderRoot = rootPath + '/'; // This will remove the project root path from the results.
|
|
59
|
+
if (options.flags)
|
|
60
|
+
scannerInput.engineFlags = options.flags;
|
|
61
|
+
if (!options.wfp) {
|
|
62
|
+
if (pathIsFolder) {
|
|
63
|
+
console.error('Reading directory... ');
|
|
64
|
+
const tree = new Tree_1.Tree(rootPath);
|
|
65
|
+
tree.build();
|
|
66
|
+
if (options.extract) {
|
|
67
|
+
const archives = tree.getFileList(new DecompressionFilter_1.DecompressionFilter(""));
|
|
68
|
+
console.error("Searching archives files...");
|
|
69
|
+
if (archives.length) {
|
|
70
|
+
console.error("Extracting archives...");
|
|
71
|
+
const decompressionManager = new DecompressionManager_1.DecompressionManager(options.extractDeep, options.extractSuffix, options.extractOverwrite);
|
|
72
|
+
await decompressionManager.decompress(archives);
|
|
73
|
+
console.error("Reindexing files...");
|
|
74
|
+
tree.build();
|
|
75
|
+
}
|
|
76
|
+
else
|
|
77
|
+
console.error("No archives found.");
|
|
78
|
+
}
|
|
79
|
+
scannerInput.fileList = tree.getFileList(new ScanFilter_1.ScanFilter(""));
|
|
80
|
+
dependencyInput = tree.getFileList(new DependencyFilter_1.DependencyFilter(""));
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
scannerInput.fileList = [rootPath];
|
|
84
|
+
dependencyInput = [rootPath];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const winnowing = fs_1.default.readFileSync(rootPath, { encoding: 'utf-8' });
|
|
89
|
+
scannerInput.fileList.length = [...winnowing.matchAll(/file=/g)].length;
|
|
90
|
+
}
|
|
91
|
+
if (!options.verbose) {
|
|
92
|
+
const optBar1 = { format: 'Scan Progress: [{bar}] {percentage}% | Scanned {value} files of {total}' };
|
|
93
|
+
const bar1 = new cli_progress_1.default.SingleBar(optBar1, cli_progress_1.default.Presets.shades_classic);
|
|
94
|
+
bar1.start(scannerInput.fileList.length, 0);
|
|
95
|
+
scanner.on(ScannerTypes_1.ScannerEvents.DISPATCHER_NEW_DATA, (dispResp) => {
|
|
96
|
+
bar1.increment(dispResp.getFilesScanned().length);
|
|
97
|
+
});
|
|
98
|
+
scanner.on(ScannerTypes_1.ScannerEvents.SCAN_DONE, async (resultPath) => { bar1.stop(); });
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
scanner.on(ScannerTypes_1.ScannerEvents.SCANNER_LOG, (logText) => console.error(logText));
|
|
102
|
+
}
|
|
103
|
+
if (options.wfp)
|
|
104
|
+
scannerInput.wfpPath = rootPath;
|
|
105
|
+
if (options.hpsm)
|
|
106
|
+
scannerInput.winnowingMode = ScannerTypes_1.WinnowingMode.FULL_WINNOWING_HPSM;
|
|
107
|
+
if (options.ignore) {
|
|
108
|
+
scannerInput.sbom = fs_1.default.readFileSync(options.ignore, 'utf-8');
|
|
109
|
+
scannerInput.sbomMode = ScannerTypes_1.SbomMode.SBOM_IGNORE;
|
|
110
|
+
}
|
|
111
|
+
// Dependency scanner
|
|
112
|
+
let pDependencyScanner = Promise.resolve({});
|
|
113
|
+
if (options.dependencies) {
|
|
114
|
+
pDependencyScanner = dependencyScanner.scan(dependencyInput);
|
|
115
|
+
}
|
|
116
|
+
//Launch parallel scanners
|
|
117
|
+
const pScanner = scanner.scan([scannerInput]);
|
|
118
|
+
const [scannerResultPath, depResults] = await Promise.all([pScanner, pDependencyScanner]);
|
|
119
|
+
const scannerResults = JSON.parse(await fs_1.default.promises.readFile(scannerResultPath, 'utf-8'));
|
|
120
|
+
//TODO Unify results.json and dependency.json. What happens with result.json that includes dependencies?
|
|
121
|
+
const scannersResults = Object.assign({ scanner: scannerResults }, (options.dependencies && { dependencies: depResults }));
|
|
122
|
+
let scannerResultsString = JSON.stringify(scannersResults, null, 2);
|
|
123
|
+
if (options.format && options.format.toLowerCase() === "html") {
|
|
124
|
+
const dataProviderManager = new DataProviderManager_1.DataProviderManager();
|
|
125
|
+
dataProviderManager.addDataProvider(new ComponentDataProvider_1.ComponentDataProvider(scannersResults.scanner, scannersResults.dependencies));
|
|
126
|
+
dataProviderManager.addDataProvider(new DependencyDataProvider_1.DependencyDataProvider(scannersResults.dependencies));
|
|
127
|
+
dataProviderManager.addDataProvider(new LicenseDataProvider_1.LicenseDataProvider(scannersResults.scanner, scannersResults.dependencies));
|
|
128
|
+
dataProviderManager.addDataProvider(new SummaryDataProvider_1.SummaryDataProvider(projectName, new Date(), scannersResults.scanner));
|
|
129
|
+
const report = new Report_1.Report(dataProviderManager);
|
|
130
|
+
scannerResultsString = await report.getHTML();
|
|
131
|
+
}
|
|
132
|
+
if (options.output)
|
|
133
|
+
await fs_1.default.promises.writeFile(options.output, scannerResultsString);
|
|
134
|
+
else
|
|
135
|
+
console.log(scannerResultsString);
|
|
136
|
+
}
|
|
137
|
+
exports.scanHandler = scanHandler;
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLDRDQUFvQjtBQUVwQix1REFBb0Q7QUFDcEQsaUVBS3dDO0FBQ3hDLDZEQUEwRDtBQUMxRCw4Q0FBMkM7QUFDM0MsZ0VBQXVDO0FBRXZDLHVDQUE2RDtBQUc3RCxzRkFBbUY7QUFDbkYsZ0ZBQTZFO0FBRTdFLGtFQUErRDtBQUMvRCw4RUFBMkU7QUFDM0Usb0RBQWlEO0FBQ2pELGlGQUE4RTtBQUM5RSxtR0FFaUU7QUFDakUscUdBRWtFO0FBQ2xFLCtGQUUrRDtBQUMvRCwrRkFFK0Q7QUFDL0Qsb0ZBRW9EO0FBQ3BELG9GQUVtRDtBQUc1QyxLQUFLLFVBQVUsV0FBVyxDQUFDLFFBQWdCLEVBQUUsT0FBWTtJQUU5RCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBRSxrQ0FBa0M7SUFDM0UsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSwwQ0FBMEM7SUFDaEcsTUFBTSxZQUFZLEdBQUcsTUFBTSxrQkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRzlDLE1BQU0sV0FBVyxHQUFHLGdDQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRXBELCtDQUErQztJQUMvQyxNQUFNLG9CQUFvQixHQUFHLElBQUksMkNBQW9CLEVBQUUsQ0FBQztJQUN4RCxJQUFJLE9BQU8sQ0FBQyxPQUFPO1FBQUUsb0JBQW9CLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUM5RSxNQUFNLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN0RSxJQUFJLGVBQWUsR0FBa0IsRUFBRSxD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function wfpHandler(rootPath: string, options: any): Promise<void>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.wfpHandler = void 0;
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
8
|
+
const helpers_1 = require("./helpers");
|
|
9
|
+
const ScannerTypes_1 = require("../../sdk/scanner/ScannerTypes");
|
|
10
|
+
const WfpCalculator_1 = require("../../sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator");
|
|
11
|
+
const Tree_1 = require("../../sdk/tree/Tree");
|
|
12
|
+
const DependencyFilter_1 = require("../../sdk/tree/Filters/DependencyFilter");
|
|
13
|
+
async function wfpHandler(rootPath, options) {
|
|
14
|
+
rootPath = rootPath.replace(/\/$/, ''); // Remove trailing slash if exists
|
|
15
|
+
rootPath = rootPath.replace(/^\./, process.env.PWD); // Convert relative path to absolute path.
|
|
16
|
+
const pathIsFolder = await helpers_1.isFolder(rootPath);
|
|
17
|
+
const wfpCalculator = new WfpCalculator_1.WfpCalculator();
|
|
18
|
+
let filesToFingerprint = [];
|
|
19
|
+
if (pathIsFolder) {
|
|
20
|
+
const tree = new Tree_1.Tree(rootPath);
|
|
21
|
+
tree.build();
|
|
22
|
+
filesToFingerprint = tree.getFileList(new DependencyFilter_1.DependencyFilter(""));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
filesToFingerprint.push(rootPath);
|
|
26
|
+
}
|
|
27
|
+
const optBar1 = { format: 'Fingerprinting Progress: [{bar}] {percentage}% | Fingerprinted {value} files of {total}' };
|
|
28
|
+
const bar1 = new cli_progress_1.default.SingleBar(optBar1, cli_progress_1.default.Presets.shades_classic);
|
|
29
|
+
bar1.start(filesToFingerprint.length, 0);
|
|
30
|
+
let fingerprints = '';
|
|
31
|
+
wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPackage) => {
|
|
32
|
+
bar1.increment(fingerprintPackage.getNumberFilesFingerprinted());
|
|
33
|
+
fingerprints = fingerprints.concat(fingerprintPackage.getContent());
|
|
34
|
+
});
|
|
35
|
+
if (options.verbose)
|
|
36
|
+
wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWER_LOG, (log) => {
|
|
37
|
+
console.error(log);
|
|
38
|
+
});
|
|
39
|
+
wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWING_FINISHED, () => {
|
|
40
|
+
bar1.stop();
|
|
41
|
+
if (options.output) {
|
|
42
|
+
fs_1.default.writeFileSync(options.output, fingerprints);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.log(fingerprints);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const wfpInput = { fileList: filesToFingerprint, folderRoot: rootPath };
|
|
49
|
+
if (options.hpsm)
|
|
50
|
+
wfpInput.winnowingMode = ScannerTypes_1.WinnowingMode.FULL_WINNOWING_HPSM;
|
|
51
|
+
wfpCalculator.start(wfpInput);
|
|
52
|
+
}
|
|
53
|
+
exports.wfpHandler = wfpHandler;
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaS9jb21tYW5kcy93ZnAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBb0I7QUFFcEIsZ0VBQXVDO0FBRXZDLHVDQUFxQztBQUNyQyxpRUFBOEU7QUFFOUUsNkZBQTBGO0FBRTFGLDhDQUEyQztBQUMzQyw4RUFBMkU7QUFHcEUsS0FBSyxVQUFVLFVBQVUsQ0FBQyxRQUFnQixFQUFFLE9BQVk7SUFFN0QsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUUsa0NBQWtDO0lBQzNFLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsMENBQTBDO0lBQ2hHLE1BQU0sWUFBWSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxNQUFNLGFBQWEsR0FBRyxJQUFJLDZCQUFhLEVBQUUsQ0FBQztJQUUxQyxJQUFJLGtCQUFrQixHQUFhLEVBQUUsQ0FBQztJQUN0QyxJQUFJLFlBQVksRUFBRTtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLFdBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksbUNBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNqRTtTQUFNO1FBQ0wsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0tBQ2xDO0lBR0QsTUFBTSxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUseUZBQXlGLEVBQUUsQ0FBQztJQUN0SCxNQUFNLElBQUksR0FBRyxJQUFJLHNCQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxzQkFBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV6QyxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDdEIsYUFBYSxDQUFDLEVBQUUsQ0FBQyw0QkFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsa0JBQXNDLEVBQUUsRUFBRTtRQUMvRixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQztRQUNqRSxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBRSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBRSxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxPQUFPLENBQUMsT0FBTztRQUNqQixhQUFhLENBQUMsRUFBRSxDQUFDLDRCQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDM0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUVMLGFBQWEsQ0FBQyxFQUFFLENBQUMsNEJBQWEsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7UUFDdEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBRyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2pCLFlBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNoRDthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQXNCLEVBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsQ0FBQTtJQUN4RixJQUFHLE9BQU8sQ0FBQyxJQUFJO1FBQUUsUUFBUSxDQUFDLGFBQWEsR0FBRyw0QkFBYSxDQUFDLG1CQUFtQixDQUFDO0lBQzVFLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFHaEMsQ0FBQztBQTlDRCxnQ0E4Q0MifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './sdk/scanner/Scanner';
|
|
2
|
+
export * from './sdk/scanner/ScannerTypes';
|
|
3
|
+
export * from './sdk/scanner/ScannerCfg';
|
|
4
|
+
export * from './sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
5
|
+
export * from './sdk/Dependencies/DependencyTypes';
|
|
6
|
+
export * from './sdk/Dependencies/DependencyScannerCfg';
|
|
7
|
+
export * from './sdk/Dependencies/DependencyScanner';
|
|
8
|
+
export * from './sdk/DataLayer/DataLayerTypes';
|
|
9
|
+
export * from './sdk/DataLayer/DataProviderManager';
|
|
10
|
+
export * from './sdk/DataLayer/DataProviders/LicenseDataProvider';
|
|
11
|
+
export * from './sdk/DataLayer/DataProviders/SummaryDataProvider';
|
|
12
|
+
export * from './sdk/DataLayer/DataProviders/DependencyDataProvider';
|
|
13
|
+
export * from './sdk/DataLayer/DataProviders/ComponentDataProvider';
|
|
14
|
+
export * from './sdk/Decompress/DecompressionManager';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
|
+
if (k2 === undefined) k2 = k;
|
|
3
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
4
|
+
}) : (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
o[k2] = m[k];
|
|
7
|
+
}));
|
|
8
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
9
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
// *** Code scanner exports *** //
|
|
13
|
+
__exportStar(require("./sdk/scanner/Scanner"), exports);
|
|
14
|
+
__exportStar(require("./sdk/scanner/ScannerTypes"), exports);
|
|
15
|
+
__exportStar(require("./sdk/scanner/ScannerCfg"), exports);
|
|
16
|
+
__exportStar(require("./sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator"), exports);
|
|
17
|
+
// *** Dependency scanner exports *** //
|
|
18
|
+
__exportStar(require("./sdk/Dependencies/DependencyTypes"), exports);
|
|
19
|
+
__exportStar(require("./sdk/Dependencies/DependencyScannerCfg"), exports);
|
|
20
|
+
__exportStar(require("./sdk/Dependencies/DependencyScanner"), exports);
|
|
21
|
+
// *** Data layers export *** //
|
|
22
|
+
__exportStar(require("./sdk/DataLayer/DataLayerTypes"), exports);
|
|
23
|
+
__exportStar(require("./sdk/DataLayer/DataProviderManager"), exports);
|
|
24
|
+
__exportStar(require("./sdk/DataLayer/DataProviders/LicenseDataProvider"), exports);
|
|
25
|
+
__exportStar(require("./sdk/DataLayer/DataProviders/SummaryDataProvider"), exports);
|
|
26
|
+
__exportStar(require("./sdk/DataLayer/DataProviders/DependencyDataProvider"), exports);
|
|
27
|
+
__exportStar(require("./sdk/DataLayer/DataProviders/ComponentDataProvider"), exports);
|
|
28
|
+
// *** Unzip *** //
|
|
29
|
+
__exportStar(require("./sdk/Decompress/DecompressionManager"), exports);
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxrQ0FBa0M7QUFDbEMsd0RBQXNDO0FBQ3RDLDZEQUEyQztBQUMzQywyREFBeUM7QUFDekMsd0ZBQXNFO0FBRXRFLHdDQUF3QztBQUN4QyxxRUFBbUQ7QUFDbkQsMEVBQXdEO0FBQ3hELHVFQUFxRDtBQUdyRCxnQ0FBZ0M7QUFDaEMsaUVBQStDO0FBQy9DLHNFQUFvRDtBQUNwRCxvRkFBa0U7QUFDbEUsb0ZBQWtFO0FBQ2xFLHVGQUFxRTtBQUNyRSxzRkFBb0U7QUFFcEUsbUJBQW1CO0FBQ25CLHdFQUFzRCJ9
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/************* Component interface definition *************/
|
|
2
|
+
export interface ComponentDataLayer {
|
|
3
|
+
key: string;
|
|
4
|
+
purls: string[];
|
|
5
|
+
name: string;
|
|
6
|
+
vendor: string;
|
|
7
|
+
url: string;
|
|
8
|
+
health: Health;
|
|
9
|
+
versions: Version[];
|
|
10
|
+
}
|
|
11
|
+
export interface Version {
|
|
12
|
+
version: string;
|
|
13
|
+
licenses: string[];
|
|
14
|
+
copyrights: Copyright[];
|
|
15
|
+
cryptography: Cryptography[];
|
|
16
|
+
quality: Quality;
|
|
17
|
+
}
|
|
18
|
+
export interface Copyright {
|
|
19
|
+
name: string;
|
|
20
|
+
source: string;
|
|
21
|
+
}
|
|
22
|
+
export interface Cryptography {
|
|
23
|
+
algorithm: string;
|
|
24
|
+
strength: string;
|
|
25
|
+
}
|
|
26
|
+
export interface Quality {
|
|
27
|
+
scoreAvg: number;
|
|
28
|
+
count: number;
|
|
29
|
+
sum: number;
|
|
30
|
+
}
|
|
31
|
+
export interface Health {
|
|
32
|
+
creation_date: string;
|
|
33
|
+
issues: number;
|
|
34
|
+
last_push: string;
|
|
35
|
+
last_update: string;
|
|
36
|
+
watchers: number;
|
|
37
|
+
country: string;
|
|
38
|
+
stars: number;
|
|
39
|
+
forks: number;
|
|
40
|
+
}
|
|
41
|
+
/************* Component interface definition *************/
|
|
42
|
+
/************* Dependency interface definition *************/
|
|
43
|
+
export interface DependencyDataLayer {
|
|
44
|
+
file: string;
|
|
45
|
+
dependencies: Dependency[];
|
|
46
|
+
}
|
|
47
|
+
export interface License {
|
|
48
|
+
name: string;
|
|
49
|
+
spdxid: string;
|
|
50
|
+
}
|
|
51
|
+
export interface Dependency {
|
|
52
|
+
purl: string;
|
|
53
|
+
component: string;
|
|
54
|
+
version: string;
|
|
55
|
+
licenses: License[];
|
|
56
|
+
}
|
|
57
|
+
/************* Dependency interface definition *************/
|
|
58
|
+
/************* Vulnerability interface definition *************/
|
|
59
|
+
export interface Vulnerability {
|
|
60
|
+
id: string;
|
|
61
|
+
cve: string;
|
|
62
|
+
url: string;
|
|
63
|
+
summary: string;
|
|
64
|
+
severity: string;
|
|
65
|
+
published: string;
|
|
66
|
+
modified: string;
|
|
67
|
+
source: string;
|
|
68
|
+
}
|
|
69
|
+
export interface VulnerabilityDataLayer {
|
|
70
|
+
purl: string;
|
|
71
|
+
vulnerability: Vulnerability[];
|
|
72
|
+
}
|
|
73
|
+
/************* Vulnerability interface definition *************/
|
|
74
|
+
/************* License interface definition *************/
|
|
75
|
+
export interface LicenseDataLayer {
|
|
76
|
+
label: string;
|
|
77
|
+
value: number;
|
|
78
|
+
components: Array<LicenseComponent>;
|
|
79
|
+
incompatibleWith: Array<string>;
|
|
80
|
+
hasIncompatibles: Array<string>;
|
|
81
|
+
copyleft: boolean;
|
|
82
|
+
}
|
|
83
|
+
export interface LicenseComponent {
|
|
84
|
+
purl: string;
|
|
85
|
+
name: string;
|
|
86
|
+
versions: Array<string>;
|
|
87
|
+
url: string;
|
|
88
|
+
vendor: string;
|
|
89
|
+
}
|
|
90
|
+
/************* License interface definition *************/
|
|
91
|
+
export interface SummaryDataLayer {
|
|
92
|
+
projectName: string;
|
|
93
|
+
timestamp: Date;
|
|
94
|
+
matchedFiles: number;
|
|
95
|
+
noMatchFiles: number;
|
|
96
|
+
totalFiles: number;
|
|
97
|
+
}
|
|
98
|
+
export interface IDataLayers {
|
|
99
|
+
licenses: LicenseDataLayer[];
|
|
100
|
+
component: ComponentDataLayer[];
|
|
101
|
+
dependencies: DependencyDataLayer[];
|
|
102
|
+
vulnerabilities: VulnerabilityDataLayer[];
|
|
103
|
+
summary: SummaryDataLayer;
|
|
104
|
+
}
|
|
105
|
+
export interface DataProvider {
|
|
106
|
+
getData(): IDataLayers;
|
|
107
|
+
getLayerName(): string;
|
|
108
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
;
|
|
3
|
+
;
|
|
4
|
+
;
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxheWVyVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0RhdGFMYXllci9EYXRhTGF5ZXJUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBc0JDLENBQUM7QUFLRCxDQUFDO0FBTUQsQ0FBQyJ9
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.DataProviderManager = void 0;
|
|
3
|
+
class DataProviderManager {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.dataLayersProviders = [];
|
|
6
|
+
}
|
|
7
|
+
addDataProvider(l) {
|
|
8
|
+
this.dataLayersProviders.push(l);
|
|
9
|
+
}
|
|
10
|
+
generateData() {
|
|
11
|
+
let dataLayer = {
|
|
12
|
+
component: null,
|
|
13
|
+
dependencies: null,
|
|
14
|
+
vulnerabilities: null,
|
|
15
|
+
summary: null,
|
|
16
|
+
licenses: null
|
|
17
|
+
};
|
|
18
|
+
for (const layer of this.dataLayersProviders)
|
|
19
|
+
Object.assign(dataLayer, layer.getData());
|
|
20
|
+
return dataLayer;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.DataProviderManager = DataProviderManager;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVByb3ZpZGVyTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvRGF0YUxheWVyL0RhdGFQcm92aWRlck1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxNQUFhLG1CQUFtQjtJQUc5QjtRQUNFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLGVBQWUsQ0FBQyxDQUFlO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbEMsQ0FBQztJQUVNLFlBQVk7UUFFakIsSUFBSSxTQUFTLEdBQWdCO1lBQzNCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsWUFBWSxFQUFFLElBQUk7WUFDbEIsZUFBZSxFQUFFLElBQUk7WUFDckIsT0FBTyxFQUFFLElBQUk7WUFDYixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7UUFFRixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxtQkFBbUI7WUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUF4QkQsa0RBd0JDIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DataProvider, IDataLayers } from '../DataLayerTypes';
|
|
2
|
+
import { ScannerResults } from '../../scanner/ScannerTypes';
|
|
3
|
+
import { IDependencyResponse } from '../../Dependencies/DependencyTypes';
|
|
4
|
+
export declare class ComponentDataProvider implements DataProvider {
|
|
5
|
+
private scanRawResults;
|
|
6
|
+
private componentList;
|
|
7
|
+
private dependencies;
|
|
8
|
+
constructor(scanRawResults: ScannerResults, dependencies?: IDependencyResponse);
|
|
9
|
+
getLayerName(): string;
|
|
10
|
+
getData(): IDataLayers;
|
|
11
|
+
private parseComponentsFromDependencies;
|
|
12
|
+
private parseComponentsFromScanner;
|
|
13
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.ComponentDataProvider = void 0;
|
|
3
|
+
class ComponentDataProvider {
|
|
4
|
+
constructor(scanRawResults, dependencies) {
|
|
5
|
+
this.scanRawResults = scanRawResults;
|
|
6
|
+
this.dependencies = dependencies;
|
|
7
|
+
}
|
|
8
|
+
getLayerName() {
|
|
9
|
+
return this.constructor.name;
|
|
10
|
+
}
|
|
11
|
+
getData() {
|
|
12
|
+
const componentLayer = { component: null };
|
|
13
|
+
if (!this.scanRawResults && !this.dependencies)
|
|
14
|
+
return componentLayer;
|
|
15
|
+
//Extract all components from scanRawResults, does not matter if there are duplicated
|
|
16
|
+
//And removes all no match results.
|
|
17
|
+
this.componentList = Object.values(this.scanRawResults).flat();
|
|
18
|
+
this.componentList = this.componentList.filter(component => component.id !== 'none');
|
|
19
|
+
const scannerComponentLayer = this.parseComponentsFromScanner(this.componentList);
|
|
20
|
+
const dependenciesComponentLayer = this.parseComponentsFromDependencies(this.dependencies);
|
|
21
|
+
componentLayer.component = [...scannerComponentLayer, ...dependenciesComponentLayer].sort((itemA, itemB) => {
|
|
22
|
+
if (itemA.name < itemB.name)
|
|
23
|
+
return -1;
|
|
24
|
+
else if (itemA.name > itemB.name)
|
|
25
|
+
return 1;
|
|
26
|
+
return 0;
|
|
27
|
+
});
|
|
28
|
+
if (!componentLayer.component.length)
|
|
29
|
+
componentLayer.component = null;
|
|
30
|
+
return componentLayer;
|
|
31
|
+
}
|
|
32
|
+
parseComponentsFromDependencies(dependencies) {
|
|
33
|
+
const componentLayer = [];
|
|
34
|
+
if (!dependencies)
|
|
35
|
+
return componentLayer;
|
|
36
|
+
dependencies.filesList.forEach(file => {
|
|
37
|
+
file.dependenciesList.forEach(dependency => {
|
|
38
|
+
const newComponent = {};
|
|
39
|
+
newComponent.key = dependency.purl;
|
|
40
|
+
newComponent.purls = [dependency.purl];
|
|
41
|
+
newComponent.name = dependency.component;
|
|
42
|
+
newComponent.url = null;
|
|
43
|
+
newComponent.vendor = null;
|
|
44
|
+
newComponent.health = null;
|
|
45
|
+
newComponent.versions = [{
|
|
46
|
+
version: dependency.version,
|
|
47
|
+
licenses: dependency.licensesList.map(license => license.spdxId),
|
|
48
|
+
copyrights: null,
|
|
49
|
+
cryptography: null,
|
|
50
|
+
quality: null,
|
|
51
|
+
}];
|
|
52
|
+
const existingComponent = componentLayer.find(component => component.key === newComponent.key);
|
|
53
|
+
if (existingComponent) {
|
|
54
|
+
const existingVersion = existingComponent.versions.find(version => version.version === newComponent.versions[0].version);
|
|
55
|
+
if (!existingVersion)
|
|
56
|
+
existingComponent.versions.push({
|
|
57
|
+
version: newComponent.versions[0].version,
|
|
58
|
+
licenses: newComponent.versions[0].licenses,
|
|
59
|
+
copyrights: newComponent.versions[0].copyrights,
|
|
60
|
+
quality: null,
|
|
61
|
+
cryptography: null,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
else { //Component does not exist, insert as it is.
|
|
65
|
+
componentLayer.push(newComponent);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
return componentLayer;
|
|
70
|
+
}
|
|
71
|
+
parseComponentsFromScanner(scanComponents) {
|
|
72
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
73
|
+
const componentLayer = [];
|
|
74
|
+
if (!scanComponents)
|
|
75
|
+
return componentLayer;
|
|
76
|
+
for (let i = 0; i < scanComponents.length; i++) {
|
|
77
|
+
try {
|
|
78
|
+
// qualityValue would have a number from 0 to 5 or undefined.
|
|
79
|
+
const qualityValue = Number((_d = (_c = (_b = (_a = scanComponents[i]) === null || _a === void 0 ? void 0 : _a.quality) === null || _b === void 0 ? void 0 : _b.shift()) === null || _c === void 0 ? void 0 : _c.score) === null || _d === void 0 ? void 0 : _d.split("/").shift());
|
|
80
|
+
//Generates a new component
|
|
81
|
+
const newComponent = {
|
|
82
|
+
key: scanComponents[i].purl[0],
|
|
83
|
+
purls: scanComponents[i].purl,
|
|
84
|
+
name: scanComponents[i].component,
|
|
85
|
+
url: scanComponents[i].url,
|
|
86
|
+
vendor: scanComponents[i].vendor,
|
|
87
|
+
health: scanComponents[i].health,
|
|
88
|
+
versions: [{
|
|
89
|
+
version: scanComponents[i].version,
|
|
90
|
+
licenses: scanComponents[i].licenses.map(license => license.name),
|
|
91
|
+
copyrights: scanComponents[i].copyrights,
|
|
92
|
+
quality: { sum: 0, scoreAvg: 0, count: 0 },
|
|
93
|
+
cryptography: (_e = scanComponents[i]) === null || _e === void 0 ? void 0 : _e.cryptography,
|
|
94
|
+
}]
|
|
95
|
+
};
|
|
96
|
+
//Removes duplicated licenses
|
|
97
|
+
newComponent.versions[0].licenses = [...new Set(newComponent.versions[0].licenses)];
|
|
98
|
+
if (qualityValue) {
|
|
99
|
+
newComponent.versions[0].quality.count = 1;
|
|
100
|
+
newComponent.versions[0].quality.sum = qualityValue;
|
|
101
|
+
newComponent.versions[0].quality.scoreAvg = qualityValue;
|
|
102
|
+
}
|
|
103
|
+
//Merge new component in componentList
|
|
104
|
+
const componentTarget = componentLayer.find(component => component.key === newComponent.key);
|
|
105
|
+
if (componentTarget) {
|
|
106
|
+
const versionTarget = componentTarget.versions.find(item => item.version === newComponent.versions[0].version);
|
|
107
|
+
if (versionTarget) {
|
|
108
|
+
//Insert licenses
|
|
109
|
+
newComponent.versions[0].licenses.forEach(licence => {
|
|
110
|
+
if (!versionTarget.licenses.includes(licence))
|
|
111
|
+
versionTarget.licenses.push(licence);
|
|
112
|
+
});
|
|
113
|
+
//Insert copyright
|
|
114
|
+
(_g = (_f = newComponent.versions[0]) === null || _f === void 0 ? void 0 : _f.copyrights) === null || _g === void 0 ? void 0 : _g.forEach(newCopyright => {
|
|
115
|
+
if (versionTarget.copyrights.every(copyright => newCopyright.name != copyright.name)) {
|
|
116
|
+
versionTarget.copyrights.push(newCopyright);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
//Insert cryptography
|
|
120
|
+
(_j = (_h = newComponent.versions[0]) === null || _h === void 0 ? void 0 : _h.cryptography) === null || _j === void 0 ? void 0 : _j.forEach(newCryptoAlgo => {
|
|
121
|
+
if (versionTarget.cryptography.every(cryptoAlgorithm => cryptoAlgorithm.algorithm != newCryptoAlgo.algorithm)) {
|
|
122
|
+
versionTarget.cryptography.push(newCryptoAlgo);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
//recalculate quality average in case we have a quality value
|
|
126
|
+
if (qualityValue) {
|
|
127
|
+
versionTarget.quality.count++;
|
|
128
|
+
versionTarget.quality.sum += Number(qualityValue);
|
|
129
|
+
versionTarget.quality.scoreAvg = versionTarget.quality.sum / versionTarget.quality.count;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
//newComponent version is not included in the component with same purl key
|
|
134
|
+
componentTarget.versions = componentTarget.versions.concat(newComponent.versions);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else
|
|
138
|
+
componentLayer.push(newComponent);
|
|
139
|
+
}
|
|
140
|
+
catch (e) {
|
|
141
|
+
console.error(`Problem inserting new component building Component Data Layer - `, e);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//Replace [] for null in versions
|
|
145
|
+
for (let i = 0; i < componentLayer.length; i++) {
|
|
146
|
+
if (!componentLayer[i].health)
|
|
147
|
+
componentLayer[i].health = null;
|
|
148
|
+
componentLayer[i].versions.forEach(version => {
|
|
149
|
+
var _a, _b, _c;
|
|
150
|
+
if (((_a = version.copyrights) === null || _a === void 0 ? void 0 : _a.length) == 0)
|
|
151
|
+
version.copyrights = null;
|
|
152
|
+
if (((_b = version.licenses) === null || _b === void 0 ? void 0 : _b.length) == 0)
|
|
153
|
+
version.licenses = null;
|
|
154
|
+
if (((_c = version.cryptography) === null || _c === void 0 ? void 0 : _c.length) === 0)
|
|
155
|
+
version.cryptography = null;
|
|
156
|
+
if (version.quality.count === 0)
|
|
157
|
+
version.quality = null;
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
return componentLayer;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
exports.ComponentDataProvider = ComponentDataProvider;
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50RGF0YVByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9EYXRhTGF5ZXIvRGF0YVByb3ZpZGVycy9Db21wb25lbnREYXRhUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFZQSxNQUFhLHFCQUFxQjtJQVFoQyxZQUFZLGNBQThCLEVBQUUsWUFBa0M7UUFDNUUsSUFBSSxDQUFDLGNBQWMsR0FBQyxjQUFjLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRU0sT0FBTztRQUNaLE1BQU0sY0FBYyxHQUFnQixFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTyxjQUFjLENBQUM7UUFHdEUscUZBQXFGO1FBQ3JGLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFHLE1BQU0sQ0FBQyxDQUFBO1FBQ2xGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRixNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFM0YsY0FBYyxDQUFDLFNBQVMsR0FBSSxDQUFDLEdB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
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataProvider, IDataLayers, DependencyDataLayer } from '../DataLayerTypes';
|
|
2
|
+
import { IDependencyResponse } from '../../Dependencies/DependencyTypes';
|
|
3
|
+
export declare class DependencyDataProvider implements DataProvider {
|
|
4
|
+
private dependencies;
|
|
5
|
+
constructor(dependencies: IDependencyResponse);
|
|
6
|
+
getLayerName(): string;
|
|
7
|
+
getData(): IDataLayers;
|
|
8
|
+
parseDependencyData(dependencies: IDependencyResponse): DependencyDataLayer[];
|
|
9
|
+
}
|