scanoss 0.7.8 → 0.7.10
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/build/main/index.d.ts +2 -0
- package/build/main/index.js +3 -1
- 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/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
- package/build/main/sdk/tree/Filters/DependencyFilter.js +4 -4
- package/build/main/sdk/tree/Filters/ScanFilter.js +4 -4
- package/build/main/tsconfig.tsbuildinfo +82 -39
- package/build/module/index.d.ts +2 -0
- package/build/module/index.js +3 -1
- 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/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
- package/build/module/sdk/tree/Filters/DependencyFilter.js +4 -4
- package/build/module/sdk/tree/Filters/ScanFilter.js +4 -4
- package/build/module/tsconfig.module.tsbuildinfo +82 -39
- package/package.json +3 -3
- package/.circleci/config.yml +0 -64
- package/.cspell.json +0 -36
- package/.editorconfig +0 -15
- package/.eslintrc.json +0 -37
- package/.github/workflows/reuse.yml +0 -15
- package/.github/workflows/scanoss.yml +0 -24
- package/.gitignore +0 -10
- package/.idea/.gitignore +0 -5
- package/.idea/codeStyles/Project.xml +0 -61
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/scanoss.js.iml +0 -12
- package/.idea/vcs.xml +0 -6
- package/.idea/workspace.xml +0 -297
- package/.prettierignore +0 -2
- package/.reuse/dep5 +0 -16
- package/.vscode/extensions.json +0 -8
- package/.vscode/launch.json +0 -29
- package/.vscode/settings.json +0 -7
- package/LICENSES/CC0-1.0.txt +0 -121
- package/LICENSES/MIT.txt +0 -9
- package/assets/ReportHTMLTemplate/index.html +0 -1181
- package/build/main/package.json +0 -120
- package/build/main/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
- package/build/main/sdk/filters/DefaultFilterForDependencies.js +0 -145
- package/build/main/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
- package/build/main/sdk/filters/DefaultFilterForScanning.js +0 -194
- package/build/main/sdk/filters/filtering.d.ts +0 -32
- package/build/main/sdk/filters/filtering.js +0 -228
- package/build/main/src/cli/bin/cli-bin.d.ts +0 -2
- package/build/main/src/cli/bin/cli-bin.js +0 -68
- package/build/main/src/cli/commands/dep.d.ts +0 -1
- package/build/main/src/cli/commands/dep.js +0 -38
- package/build/main/src/cli/commands/helpers.d.ts +0 -2
- package/build/main/src/cli/commands/helpers.js +0 -25
- package/build/main/src/cli/commands/scan.d.ts +0 -1
- package/build/main/src/cli/commands/scan.js +0 -138
- package/build/main/src/cli/commands/wfp.d.ts +0 -1
- package/build/main/src/cli/commands/wfp.js +0 -54
- package/build/main/src/index.d.ts +0 -14
- package/build/main/src/index.js +0 -30
- package/build/main/src/sdk/DataLayer/DataLayerTypes.d.ts +0 -108
- package/build/main/src/sdk/DataLayer/DataLayerTypes.js +0 -5
- package/build/main/src/sdk/DataLayer/DataProviderManager.d.ts +0 -7
- package/build/main/src/sdk/DataLayer/DataProviderManager.js +0 -24
- package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +0 -13
- package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +0 -164
- package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +0 -9
- package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +0 -37
- package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +0 -18
- package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +0 -148
- package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +0 -11
- package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +0 -33
- package/build/main/src/sdk/Decompress/DecompressionManager.d.ts +0 -12
- package/build/main/src/sdk/Decompress/DecompressionManager.js +0 -73
- package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +0 -5
- package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.js +0 -22
- package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +0 -5
- package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.js +0 -24
- package/build/main/src/sdk/Decompress/Decompressor/Decompressor.d.ts +0 -10
- package/build/main/src/sdk/Decompress/Decompressor/Decompressor.js +0 -18
- package/build/main/src/sdk/Dependencies/DependencyScanner.d.ts +0 -11
- package/build/main/src/sdk/Dependencies/DependencyScanner.js +0 -96
- package/build/main/src/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -4
- package/build/main/src/sdk/Dependencies/DependencyScannerCfg.js +0 -10
- package/build/main/src/sdk/Dependencies/DependencyTypes.d.ts +0 -21
- package/build/main/src/sdk/Dependencies/DependencyTypes.js +0 -2
- package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +0 -16
- package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +0 -2
- package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +0 -8
- package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.js +0 -102
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +0 -2
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +0 -95
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +0 -3
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +0 -97
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +0 -2
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +0 -183
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +0 -13
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +0 -187
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +0 -3
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +0 -58
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +0 -2
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +0 -64
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +0 -3
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +0 -132
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +0 -2
- package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.js +0 -19
- package/build/main/src/sdk/Report/Report.d.ts +0 -8
- package/build/main/src/sdk/Report/Report.js +0 -26
- package/build/main/src/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
- package/build/main/src/sdk/filters/DefaultFilterForDependencies.js +0 -145
- package/build/main/src/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
- package/build/main/src/sdk/filters/DefaultFilterForScanning.js +0 -194
- package/build/main/src/sdk/filters/filtering.d.ts +0 -32
- package/build/main/src/sdk/filters/filtering.js +0 -228
- package/build/main/src/sdk/grpc/GrpcDependencyService.d.ts +0 -11
- package/build/main/src/sdk/grpc/GrpcDependencyService.js +0 -86
- 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 +0 -2
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
- package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +0 -404
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -39
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
- package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1197
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -19
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -66
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
- package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -14
- package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +0 -19
- package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.js +0 -43
- package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +0 -20
- package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.js +0 -160
- package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +0 -12
- package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.js +0 -33
- package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +0 -10
- package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +0 -32
- package/build/main/src/sdk/scanner/Fingerprint.d.ts +0 -16
- package/build/main/src/sdk/scanner/Fingerprint.js +0 -78
- package/build/main/src/sdk/scanner/Scannable/ScannableItem.d.ts +0 -15
- package/build/main/src/sdk/scanner/Scannable/ScannableItem.js +0 -27
- package/build/main/src/sdk/scanner/Scanner.d.ts +0 -46
- package/build/main/src/sdk/scanner/Scanner.js +0 -283
- package/build/main/src/sdk/scanner/ScannerCfg.d.ts +0 -16
- package/build/main/src/sdk/scanner/ScannerCfg.js +0 -30
- package/build/main/src/sdk/scanner/ScannerTypes.d.ts +0 -121
- package/build/main/src/sdk/scanner/ScannerTypes.js +0 -48
- package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +0 -9
- package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.js +0 -31
- package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +0 -20
- package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +0 -492
- package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +0 -35
- package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.js +0 -68
- package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +0 -21
- package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +0 -139
- package/build/main/src/sdk/tree/File.d.ts +0 -7
- package/build/main/src/sdk/tree/File.js +0 -24
- package/build/main/src/sdk/tree/Filters/DecompressionFilter.d.ts +0 -7
- package/build/main/src/sdk/tree/Filters/DecompressionFilter.js +0 -21
- package/build/main/src/sdk/tree/Filters/DependencyFilter.d.ts +0 -7
- package/build/main/src/sdk/tree/Filters/DependencyFilter.js +0 -17
- package/build/main/src/sdk/tree/Filters/Filter.d.ts +0 -4
- package/build/main/src/sdk/tree/Filters/Filter.js +0 -6
- package/build/main/src/sdk/tree/Filters/ScanFilter.d.ts +0 -7
- package/build/main/src/sdk/tree/Filters/ScanFilter.js +0 -17
- package/build/main/src/sdk/tree/Folder.d.ts +0 -12
- package/build/main/src/sdk/tree/Folder.js +0 -58
- package/build/main/src/sdk/tree/Node.d.ts +0 -17
- package/build/main/src/sdk/tree/Node.js +0 -25
- package/build/main/src/sdk/tree/Tree.d.ts +0 -18
- package/build/main/src/sdk/tree/Tree.js +0 -70
- package/build/module/package.json +0 -120
- package/build/module/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
- package/build/module/sdk/filters/DefaultFilterForDependencies.js +0 -143
- package/build/module/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
- package/build/module/sdk/filters/DefaultFilterForScanning.js +0 -192
- package/build/module/sdk/filters/filtering.d.ts +0 -32
- package/build/module/sdk/filters/filtering.js +0 -203
- package/build/module/src/cli/bin/cli-bin.d.ts +0 -2
- package/build/module/src/cli/bin/cli-bin.js +0 -67
- package/build/module/src/cli/commands/dep.d.ts +0 -1
- package/build/module/src/cli/commands/dep.js +0 -32
- package/build/module/src/cli/commands/helpers.d.ts +0 -2
- package/build/module/src/cli/commands/helpers.js +0 -19
- package/build/module/src/cli/commands/scan.d.ts +0 -1
- package/build/module/src/cli/commands/scan.js +0 -135
- package/build/module/src/cli/commands/wfp.d.ts +0 -1
- package/build/module/src/cli/commands/wfp.js +0 -48
- package/build/module/src/index.d.ts +0 -14
- package/build/module/src/index.js +0 -19
- package/build/module/src/sdk/DataLayer/DataLayerTypes.d.ts +0 -108
- package/build/module/src/sdk/DataLayer/DataLayerTypes.js +0 -5
- package/build/module/src/sdk/DataLayer/DataProviderManager.d.ts +0 -7
- package/build/module/src/sdk/DataLayer/DataProviderManager.js +0 -21
- package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +0 -13
- package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +0 -159
- package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +0 -9
- package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +0 -34
- package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +0 -18
- package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +0 -145
- package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +0 -11
- package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +0 -30
- package/build/module/src/sdk/Decompress/DecompressionManager.d.ts +0 -12
- package/build/module/src/sdk/Decompress/DecompressionManager.js +0 -67
- package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +0 -5
- package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.js +0 -16
- package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +0 -5
- package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.js +0 -18
- package/build/module/src/sdk/Decompress/Decompressor/Decompressor.d.ts +0 -10
- package/build/module/src/sdk/Decompress/Decompressor/Decompressor.js +0 -15
- package/build/module/src/sdk/Dependencies/DependencyScanner.d.ts +0 -11
- package/build/module/src/sdk/Dependencies/DependencyScanner.js +0 -93
- package/build/module/src/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -4
- package/build/module/src/sdk/Dependencies/DependencyScannerCfg.js +0 -7
- package/build/module/src/sdk/Dependencies/DependencyTypes.d.ts +0 -21
- package/build/module/src/sdk/Dependencies/DependencyTypes.js +0 -2
- package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +0 -16
- package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +0 -2
- package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +0 -8
- package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.js +0 -96
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +0 -2
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +0 -87
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +0 -3
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +0 -88
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +0 -2
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +0 -180
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +0 -13
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +0 -175
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +0 -3
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +0 -49
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +0 -2
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +0 -57
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +0 -3
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +0 -125
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +0 -2
- package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.js +0 -15
- package/build/module/src/sdk/Report/Report.d.ts +0 -8
- package/build/module/src/sdk/Report/Report.js +0 -20
- package/build/module/src/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
- package/build/module/src/sdk/filters/DefaultFilterForDependencies.js +0 -143
- package/build/module/src/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
- package/build/module/src/sdk/filters/DefaultFilterForScanning.js +0 -192
- package/build/module/src/sdk/filters/filtering.d.ts +0 -32
- package/build/module/src/sdk/filters/filtering.js +0 -203
- package/build/module/src/sdk/grpc/GrpcDependencyService.d.ts +0 -11
- package/build/module/src/sdk/grpc/GrpcDependencyService.js +0 -64
- 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 +0 -2
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
- package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +0 -404
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -39
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
- package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1197
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -19
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -66
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
- package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -14
- package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +0 -19
- package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.js +0 -37
- package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +0 -20
- package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.js +0 -135
- package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +0 -12
- package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.js +0 -30
- package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +0 -10
- package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +0 -26
- package/build/module/src/sdk/scanner/Fingerprint.d.ts +0 -16
- package/build/module/src/sdk/scanner/Fingerprint.js +0 -54
- package/build/module/src/sdk/scanner/Scannable/ScannableItem.d.ts +0 -15
- package/build/module/src/sdk/scanner/Scannable/ScannableItem.js +0 -24
- package/build/module/src/sdk/scanner/Scanner.d.ts +0 -46
- package/build/module/src/sdk/scanner/Scanner.js +0 -275
- package/build/module/src/sdk/scanner/ScannerCfg.d.ts +0 -16
- package/build/module/src/sdk/scanner/ScannerCfg.js +0 -27
- package/build/module/src/sdk/scanner/ScannerTypes.d.ts +0 -121
- package/build/module/src/sdk/scanner/ScannerTypes.js +0 -46
- package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +0 -9
- package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.js +0 -28
- package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +0 -20
- package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +0 -486
- package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +0 -35
- package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.js +0 -65
- package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +0 -21
- package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +0 -132
- package/build/module/src/sdk/tree/File.d.ts +0 -7
- package/build/module/src/sdk/tree/File.js +0 -19
- package/build/module/src/sdk/tree/Filters/DecompressionFilter.d.ts +0 -7
- package/build/module/src/sdk/tree/Filters/DecompressionFilter.js +0 -18
- package/build/module/src/sdk/tree/Filters/DependencyFilter.d.ts +0 -7
- package/build/module/src/sdk/tree/Filters/DependencyFilter.js +0 -14
- package/build/module/src/sdk/tree/Filters/Filter.d.ts +0 -4
- package/build/module/src/sdk/tree/Filters/Filter.js +0 -3
- package/build/module/src/sdk/tree/Filters/ScanFilter.d.ts +0 -7
- package/build/module/src/sdk/tree/Filters/ScanFilter.js +0 -14
- package/build/module/src/sdk/tree/Folder.d.ts +0 -12
- package/build/module/src/sdk/tree/Folder.js +0 -53
- package/build/module/src/sdk/tree/Node.d.ts +0 -17
- package/build/module/src/sdk/tree/Node.js +0 -22
- package/build/module/src/sdk/tree/Tree.d.ts +0 -18
- package/build/module/src/sdk/tree/Tree.js +0 -64
- package/package-lock.json +0 -17117
- package/src/cli/bin/cli-bin.ts +0 -81
- package/src/cli/commands/dep.ts +0 -37
- package/src/cli/commands/helpers.ts +0 -19
- package/src/cli/commands/scan.ts +0 -173
- package/src/cli/commands/wfp.ts +0 -60
- package/src/index.ts +0 -26
- package/src/sdk/DataLayer/DataLayerTypes.ts +0 -129
- package/src/sdk/DataLayer/DataProviderManager.ts +0 -27
- package/src/sdk/DataLayer/DataProviders/ComponentDataProvider.ts +0 -195
- package/src/sdk/DataLayer/DataProviders/DependencyDataProvider.ts +0 -48
- package/src/sdk/DataLayer/DataProviders/LicenseDataProvider.ts +0 -184
- package/src/sdk/DataLayer/DataProviders/SummaryDataProvider.ts +0 -47
- package/src/sdk/Decompress/DecompressionManager.ts +0 -91
- package/src/sdk/Decompress/Decompressor/DecompressTgz.ts +0 -20
- package/src/sdk/Decompress/Decompressor/DecompressZips.ts +0 -21
- package/src/sdk/Decompress/Decompressor/Decompressor.ts +0 -20
- package/src/sdk/Dependencies/DependencyScanner.ts +0 -108
- package/src/sdk/Dependencies/DependencyScannerCfg.ts +0 -7
- package/src/sdk/Dependencies/DependencyTypes.ts +0 -24
- package/src/sdk/Dependencies/LocalDependency/DependencyTypes.ts +0 -21
- package/src/sdk/Dependencies/LocalDependency/LocalDependency.ts +0 -111
- package/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.ts +0 -115
- package/src/sdk/Dependencies/LocalDependency/parsers/golangParser.ts +0 -130
- package/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.ts +0 -209
- package/src/sdk/Dependencies/LocalDependency/parsers/npmParser.ts +0 -227
- package/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.ts +0 -64
- package/src/sdk/Dependencies/LocalDependency/parsers/pyParser.ts +0 -58
- package/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.ts +0 -174
- package/src/sdk/Dependencies/LocalDependency/parsers/utils.ts +0 -15
- package/src/sdk/Report/Report.ts +0 -30
- package/src/sdk/filters/DefaultFilterForDependencies.ts +0 -149
- package/src/sdk/filters/DefaultFilterForScanning.ts +0 -207
- package/src/sdk/filters/filtering.ts +0 -235
- package/src/sdk/grpc/GrpcDependencyService.ts +0 -72
- package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -1
- package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -1
- package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -79
- package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +0 -482
- package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -30
- package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -109
- package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -206
- package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1489
- package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -25
- package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -73
- package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -6
- package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -15
- package/src/sdk/scanner/Dispatcher/DispatchableItem.ts +0 -62
- package/src/sdk/scanner/Dispatcher/Dispatcher.ts +0 -173
- package/src/sdk/scanner/Dispatcher/DispatcherResponse.ts +0 -40
- package/src/sdk/scanner/Dispatcher/GlobalControllerAborter.ts +0 -33
- package/src/sdk/scanner/Fingerprint.ts +0 -82
- package/src/sdk/scanner/Scannable/ScannableItem.ts +0 -43
- package/src/sdk/scanner/Scanner.ts +0 -360
- package/src/sdk/scanner/ScannerCfg.ts +0 -43
- package/src/sdk/scanner/ScannerTypes.ts +0 -127
- package/src/sdk/scanner/WfpProvider/FingerprintPackage.ts +0 -34
- package/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts +0 -516
- package/src/sdk/scanner/WfpProvider/WfpProvider.ts +0 -105
- package/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.ts +0 -184
- package/src/sdk/tree/File.ts +0 -22
- package/src/sdk/tree/Filters/DecompressionFilter.ts +0 -22
- package/src/sdk/tree/Filters/DependencyFilter.ts +0 -22
- package/src/sdk/tree/Filters/Filter.ts +0 -5
- package/src/sdk/tree/Filters/ScanFilter.ts +0 -22
- package/src/sdk/tree/Folder.ts +0 -57
- package/src/sdk/tree/Node.ts +0 -39
- package/src/sdk/tree/Tree.ts +0 -82
- package/tests/scanoss.sh +0 -56
- package/tests/sdk/DataLayer/DataProviders/ComponentDataProvider.spec.ts +0 -176
- package/tests/sdk/DataLayer/DataProviders/DependencyDataProvider.spec.ts +0 -51
- package/tests/sdk/DataLayer/DataProviders/SummaryDataProvider.spec.ts +0 -35
- package/tests/sdk/DataLayer/DataProviders/samples/results-with-dep.json +0 -665
- package/tests/sdk/DataLayer/DataProviders/samples/results.json +0 -556
- package/tests/sdk/DataLayer/samples/simple/results-with-dep.json +0 -665
- package/tests/sdk/DataLayer/samples/simple-1/output1.json +0 -1196
- package/tests/sdk/Dependencies/LocalDependency/LocalDependency.spec.ts +0 -24
- package/tests/sdk/Dependencies/LocalDependency/Parsers/buildGradle.spec.ts +0 -48
- package/tests/sdk/Dependencies/LocalDependency/Parsers/golangParser.spec.ts +0 -146
- package/tests/sdk/Dependencies/LocalDependency/Parsers/npmParser.spec.ts +0 -135
- package/tests/sdk/Dependencies/LocalDependency/Parsers/nugetParser.spec.ts +0 -73
- package/tests/sdk/Dependencies/LocalDependency/Parsers/pomParser.spec.ts +0 -45
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/1/Gemfile +0 -6
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/1/Gemfile~ +0 -0
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/2/Gemfile +0 -3
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/2/Gemfile~ +0 -6
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/3/Gemfile +0 -7
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/3/Gemfile~ +0 -6
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/4/Gemfile +0 -31
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/4/Gemfile~ +0 -7
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile.lock/1/Gemfile.lock +0 -180
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile.lock/2/Gemfile.lock +0 -60
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile.lock/2/Gemfile.lock~ +0 -0
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/go.sum/1/go.sum +0 -119
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/go.sum/depJSON.sh +0 -23
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/gradle/1/build.gradle +0 -26
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/gradle/2/build.gradle +0 -16
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/NoDependencies.csproj +0 -115
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/netcore-2.csproj +0 -18
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/netcore.csproj +0 -14
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/packageConfig-1/packages.config +0 -5
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/pom.xml/1/pom.xml +0 -670
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/pom.xml/2/pom.xml +0 -780
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/generate_expected_output.sh +0 -4
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1/yarn.lock +0 -50
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1/yarn.lock-expected +0 -13
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1-complex/yarn.lock +0 -27
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1-complex/yarn.lock-expected +0 -8
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1_2/scancode-out.json +0 -149662
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1_2/yarn.lock +0 -8409
- package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1_2/yarn.lock-expected +0 -1153
- package/tests/sdk/Scanner/WfpProvider/WfpCalculator/WfpCalculator.spec.ts +0 -102
- package/tests/sdk/Scanner/WfpProvider/WfpCalculator/samples/file1.c +0 -41
- package/tests/sdk/Scanner/WfpProvider/WfpCalculator/samples/file2.go +0 -87
- package/tests/sdk/Scanner/WfpProvider/WfpSplitter/WfpSplitter.spec.ts +0 -35
- package/tests/sdk/Scanner/WfpProvider/WfpSplitter/samples/wfp.wfp +0 -68
- package/tests/sdk/Scanner/WfpProvider/WfpSplitter/samples/wfp.wfp~ +0 -68
- package/tsconfig.json +0 -31
- package/tsconfig.module.json +0 -11
- package/yarn.lock +0 -5481
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export declare enum FilterType {
|
|
2
|
-
NAME = "NAME",
|
|
3
|
-
CONTENT = "CONTENT",
|
|
4
|
-
EXTENSION = "EXTENSION",
|
|
5
|
-
SIZE = "SIZE",
|
|
6
|
-
DATE = "DATE"
|
|
7
|
-
}
|
|
8
|
-
export declare enum FilterListType {
|
|
9
|
-
BANNED = "BANNED",
|
|
10
|
-
WHITELIST = "WHITELIST"
|
|
11
|
-
}
|
|
12
|
-
declare class AbstractFilter {
|
|
13
|
-
condition: string;
|
|
14
|
-
value: string;
|
|
15
|
-
ftype: string;
|
|
16
|
-
scope: string;
|
|
17
|
-
constructor(condition: string, value: string);
|
|
18
|
-
evaluate(path: string): boolean;
|
|
19
|
-
}
|
|
20
|
-
export declare class FilterList {
|
|
21
|
-
type: FilterListType;
|
|
22
|
-
name: string;
|
|
23
|
-
filters: AbstractFilter[];
|
|
24
|
-
constructor(name: string);
|
|
25
|
-
addFilter(filter: AbstractFilter): void;
|
|
26
|
-
evaluate(path: string): boolean;
|
|
27
|
-
include(path: string): boolean;
|
|
28
|
-
save(path: string): void;
|
|
29
|
-
loadFromFile(path: string): void;
|
|
30
|
-
load(fList: FilterList): void;
|
|
31
|
-
}
|
|
32
|
-
export {};
|
|
@@ -1,228 +0,0 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
9
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
10
|
-
}) : function(o, v) {
|
|
11
|
-
o["default"] = v;
|
|
12
|
-
});
|
|
13
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
14
|
-
if (mod && mod.__esModule) return mod;
|
|
15
|
-
var result = {};
|
|
16
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
17
|
-
__setModuleDefault(result, mod);
|
|
18
|
-
return result;
|
|
19
|
-
};
|
|
20
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
21
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
22
|
-
};
|
|
23
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
-
exports.FilterList = exports.FilterListType = exports.FilterType = void 0;
|
|
25
|
-
const fs_1 = __importDefault(require("fs"));
|
|
26
|
-
const fpath = __importStar(require("path"));
|
|
27
|
-
const isbinaryfile_1 = require("isbinaryfile");
|
|
28
|
-
var FilterType;
|
|
29
|
-
(function (FilterType) {
|
|
30
|
-
FilterType["NAME"] = "NAME";
|
|
31
|
-
FilterType["CONTENT"] = "CONTENT";
|
|
32
|
-
FilterType["EXTENSION"] = "EXTENSION";
|
|
33
|
-
FilterType["SIZE"] = "SIZE";
|
|
34
|
-
FilterType["DATE"] = "DATE";
|
|
35
|
-
})(FilterType = exports.FilterType || (exports.FilterType = {}));
|
|
36
|
-
;
|
|
37
|
-
var FilterListType;
|
|
38
|
-
(function (FilterListType) {
|
|
39
|
-
FilterListType["BANNED"] = "BANNED";
|
|
40
|
-
FilterListType["WHITELIST"] = "WHITELIST";
|
|
41
|
-
})(FilterListType = exports.FilterListType || (exports.FilterListType = {}));
|
|
42
|
-
;
|
|
43
|
-
class AbstractFilter {
|
|
44
|
-
constructor(condition, value) {
|
|
45
|
-
this.condition = condition;
|
|
46
|
-
this.value = value;
|
|
47
|
-
this.ftype = 'NONE';
|
|
48
|
-
this.scope = 'ALL';
|
|
49
|
-
}
|
|
50
|
-
evaluate(path) {
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
class NameFilter extends AbstractFilter {
|
|
55
|
-
constructor(condition, value, scope) {
|
|
56
|
-
super(condition, value);
|
|
57
|
-
this.ftype = 'NAME';
|
|
58
|
-
this.scope = scope || super.scope;
|
|
59
|
-
}
|
|
60
|
-
evaluate(path) {
|
|
61
|
-
this.value = this.value.toLowerCase();
|
|
62
|
-
path = path.toLowerCase();
|
|
63
|
-
if (this.condition === 'contains') {
|
|
64
|
-
return !(path.indexOf(this.value) >= 0);
|
|
65
|
-
}
|
|
66
|
-
if (this.condition === 'fullmatch')
|
|
67
|
-
return fpath.basename(path) !== this.value;
|
|
68
|
-
if (this.condition === 'starts') {
|
|
69
|
-
let filename;
|
|
70
|
-
filename = fpath.basename(path);
|
|
71
|
-
return !filename.startsWith(this.value);
|
|
72
|
-
}
|
|
73
|
-
if (this.condition === 'ends') {
|
|
74
|
-
let filename;
|
|
75
|
-
filename = fpath.basename(path);
|
|
76
|
-
return !filename.endsWith(this.value);
|
|
77
|
-
}
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
class ContentFilter extends AbstractFilter {
|
|
82
|
-
constructor(condition, value, scope) {
|
|
83
|
-
super(condition, value);
|
|
84
|
-
this.ftype = 'CONTENT';
|
|
85
|
-
this.scope = scope || super.scope; // Verificar
|
|
86
|
-
}
|
|
87
|
-
evaluate(path) {
|
|
88
|
-
const binary = isbinaryfile_1.isBinaryFileSync(path);
|
|
89
|
-
if (this.condition === '=' && this.value === 'BINARY' && binary)
|
|
90
|
-
return false;
|
|
91
|
-
if (this.condition === '!=' && this.value === 'TEXT' && binary)
|
|
92
|
-
return false;
|
|
93
|
-
if (this.condition === '=' && this.value === 'TEXT' && !binary)
|
|
94
|
-
return false;
|
|
95
|
-
if (this.condition === '!=' && this.value === 'BINARY' && !binary)
|
|
96
|
-
return false;
|
|
97
|
-
return true;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
class ExtensionFilter extends AbstractFilter {
|
|
101
|
-
constructor(condition, value, scope) {
|
|
102
|
-
super(condition, value);
|
|
103
|
-
this.ftype = 'EXTENSION';
|
|
104
|
-
this.scope = scope || super.scope; // Verificar
|
|
105
|
-
}
|
|
106
|
-
evaluate(path) {
|
|
107
|
-
path = path.toLowerCase();
|
|
108
|
-
this.value = this.value.toLowerCase();
|
|
109
|
-
return !path.endsWith(this.value);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
class SizeFilter extends AbstractFilter {
|
|
113
|
-
constructor(condition, value, scope) {
|
|
114
|
-
super(condition, value);
|
|
115
|
-
this.ftype = 'SIZE';
|
|
116
|
-
this.scope = scope || super.scope; // Verificar
|
|
117
|
-
}
|
|
118
|
-
evaluate(path) {
|
|
119
|
-
const stat = fs_1.default.statSync(path);
|
|
120
|
-
if (this.condition === '>') {
|
|
121
|
-
if (stat.size > parseInt(this.value, 10)) {
|
|
122
|
-
// console.log("NO aceptado por que NO es mayor");
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
|
-
return true;
|
|
126
|
-
}
|
|
127
|
-
if (this.condition === '<') {
|
|
128
|
-
if (stat.size < parseInt(this.value, 10)) {
|
|
129
|
-
return false;
|
|
130
|
-
}
|
|
131
|
-
return true;
|
|
132
|
-
}
|
|
133
|
-
if (this.condition === '=') {
|
|
134
|
-
if (stat.size === parseInt(this.value, 10)) {
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
return true;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
class DateFilter extends AbstractFilter {
|
|
143
|
-
constructor(condition, value, scope) {
|
|
144
|
-
super(condition, value);
|
|
145
|
-
this.ftype = 'DATE';
|
|
146
|
-
this.scope = scope || super.scope; // Verificar
|
|
147
|
-
}
|
|
148
|
-
evaluate(path) {
|
|
149
|
-
const stats = fs_1.default.statSync(path);
|
|
150
|
-
modified = stats.mtime;
|
|
151
|
-
const lDate = new Date(this.value);
|
|
152
|
-
const ms = stats.mtimeMs;
|
|
153
|
-
var modified = new Date(ms);
|
|
154
|
-
// console.log(lDate);
|
|
155
|
-
// console.log(modified);
|
|
156
|
-
if (this.condition === '>') {
|
|
157
|
-
if (modified > lDate) {
|
|
158
|
-
return false;
|
|
159
|
-
}
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
if (this.condition === '<') {
|
|
163
|
-
if (modified < lDate) {
|
|
164
|
-
return false;
|
|
165
|
-
}
|
|
166
|
-
return true;
|
|
167
|
-
}
|
|
168
|
-
return true;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
class FilterList {
|
|
172
|
-
constructor(name) {
|
|
173
|
-
this.name = name;
|
|
174
|
-
this.filters = [];
|
|
175
|
-
}
|
|
176
|
-
addFilter(filter) {
|
|
177
|
-
this.filters.push(filter);
|
|
178
|
-
}
|
|
179
|
-
// Returns false if the path match with some filter in the list
|
|
180
|
-
evaluate(path) {
|
|
181
|
-
const pathStat = fs_1.default.lstatSync(path);
|
|
182
|
-
let i;
|
|
183
|
-
for (i = 0; i < this.filters.length; i += 1) {
|
|
184
|
-
const evaluation = this.filters[i].evaluate(path);
|
|
185
|
-
if (this.filters[i].scope === 'FOLDER' && pathStat.isDirectory() && !evaluation)
|
|
186
|
-
return false;
|
|
187
|
-
if (this.filters[i].scope === 'FILE' && pathStat.isFile() && !evaluation)
|
|
188
|
-
return false;
|
|
189
|
-
if (this.filters[i].scope === 'ALL' && !evaluation)
|
|
190
|
-
return false;
|
|
191
|
-
}
|
|
192
|
-
return true;
|
|
193
|
-
}
|
|
194
|
-
include(path) {
|
|
195
|
-
if (this.type === FilterListType.BANNED)
|
|
196
|
-
return this.evaluate(path);
|
|
197
|
-
return !this.evaluate(path);
|
|
198
|
-
}
|
|
199
|
-
save(path) {
|
|
200
|
-
fs_1.default.writeFileSync(path, JSON.stringify(this.filters).toString());
|
|
201
|
-
}
|
|
202
|
-
loadFromFile(path) {
|
|
203
|
-
const json = fs_1.default.readFileSync(path, 'utf8');
|
|
204
|
-
const filters = JSON.parse(json);
|
|
205
|
-
this.load(filters);
|
|
206
|
-
}
|
|
207
|
-
load(fList) {
|
|
208
|
-
this.name = fList.name;
|
|
209
|
-
this.type = fList.type;
|
|
210
|
-
const a = fList.filters;
|
|
211
|
-
let i;
|
|
212
|
-
for (i = 0; i < a.length; i += 1) {
|
|
213
|
-
const scope = a[i].scope || 'ALL';
|
|
214
|
-
if (a[i].ftype === 'NAME')
|
|
215
|
-
this.addFilter(new NameFilter(a[i].condition, a[i].value, scope));
|
|
216
|
-
if (a[i].ftype === 'DATE')
|
|
217
|
-
this.addFilter(new DateFilter(a[i].condition, a[i].value, scope));
|
|
218
|
-
if (a[i].ftype === 'SIZE')
|
|
219
|
-
this.addFilter(new SizeFilter(a[i].condition, a[i].value, scope));
|
|
220
|
-
if (a[i].ftype === 'EXTENSION')
|
|
221
|
-
this.addFilter(new ExtensionFilter(a[i].condition, a[i].value, scope));
|
|
222
|
-
if (a[i].ftype === 'CONTENT')
|
|
223
|
-
this.addFilter(new ContentFilter(a[i].condition, a[i].value, scope));
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
exports.FilterList = FilterList;
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Nkay9maWx0ZXJzL2ZpbHRlcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIsNENBQThCO0FBQzlCLCtDQUFnRDtBQUVoRCxJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIsMkJBQWEsQ0FBQTtJQUNiLGlDQUFtQixDQUFBO0lBQ25CLHFDQUF1QixDQUFBO0lBQ3ZCLDJCQUFhLENBQUE7SUFDYiwyQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBTXJCO0FBQUEsQ0FBQztBQUVGLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQix5Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSFcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFHekI7QUFBQSxDQUFDO0FBRUYsTUFBTSxjQUFjO0lBU2xCLFlBQVksU0FBaUIsRUFBRSxLQUFhO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVyxTQUFRLGNBQWM7SUFDckMsWUFBWSxTQUFpQixFQUFFLEtBQWEsRUFBRSxLQUFhO1FBQ3pELEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtB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
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const commander_1 = require("commander");
|
|
4
|
-
const dep_1 = require("../commands/dep");
|
|
5
|
-
const wfp_1 = require("../commands/wfp");
|
|
6
|
-
const scan_1 = require("../commands/scan");
|
|
7
|
-
function CLIErrorHandler(e) {
|
|
8
|
-
console.error(' ');
|
|
9
|
-
console.error(e);
|
|
10
|
-
process.exit(1);
|
|
11
|
-
}
|
|
12
|
-
async function main() {
|
|
13
|
-
commander_1.program
|
|
14
|
-
.version("0.6.2")
|
|
15
|
-
.description('The SCANOSS JS package provides a simple, easy to consume module for interacting with SCANOSS APIs/Engine.');
|
|
16
|
-
commander_1.program
|
|
17
|
-
.command('scan <source>')
|
|
18
|
-
.description('Scan a folder/file')
|
|
19
|
-
.option('-w, --wfp', 'Scan a .wfp file instead of a folder')
|
|
20
|
-
.option('-H, --hpsm', 'Scan using winnowing high precision matching')
|
|
21
|
-
.option('-x, --extract', 'Extract compressed files before launch scan in folder <<zip_name>>-unzipped')
|
|
22
|
-
.option(' --extract-overwrite', 'Overwrite folder when decompressing if exists')
|
|
23
|
-
.option(' --extract-deep <number>', 'Sets uncompress recursion level')
|
|
24
|
-
.option(' --extract-suffix <suffix>', 'Sets suffix for the folder name')
|
|
25
|
-
.option('-c, --concurrency <number>', 'Number of concurrent connections to use while scanning (optional -default 10)')
|
|
26
|
-
.option('-n, --ignore <ignore>', 'Ignore components specified in the SBOM file')
|
|
27
|
-
.option('-o, --output <filename>', 'Output result file name (optional - default stdout)')
|
|
28
|
-
.option('-f, --format <format>', 'Result output format. {JSON, HTML} Default: JSON')
|
|
29
|
-
.option('-F, --flags <flags>', 'Scanning engine flags (1: disable snippet matching, 2 enable snippet ids, 4: disable dependencies, 8: disable licenses, 16: disable copyrights,32: disable vulnerabilities, 64: disable quality, 128: disable cryptography,256: disable best match, 512: Report identified files)')
|
|
30
|
-
.option('-P, --post-size <postsize>', 'Number of kilobytes to limit the post to while scanning (optional - default 64)')
|
|
31
|
-
.option('-R, --max-retry <retry>', 'Max number of retries for each POST (optional -default 5)')
|
|
32
|
-
.option('-M, --timeout <timeout>', 'Timeout (in seconds) for API communication (optional -default 120)')
|
|
33
|
-
.option('-D, --dependencies', 'Add dependency scanning')
|
|
34
|
-
.option('-a, --apiurl <apiurl>', 'SCANOSS API URL (optional - default: https://osskb.org/api/scan/direct)')
|
|
35
|
-
.option('-a, --api2url <api2url>', 'SCANOSS gRPC API 2.0 URL (optional - default: scanoss.com)')
|
|
36
|
-
.option('-k, --key <key>', 'SCANOSS API Key token (optional - not required for default OSSKB URL)')
|
|
37
|
-
.option('--ignore-cert-errors', 'Ignore self signed certificate errors')
|
|
38
|
-
.option('--ca-cert <cert>', 'Specify a path for a cert used in SSL/TLS connection')
|
|
39
|
-
.option('--proxy <proxy>', 'Use proxy')
|
|
40
|
-
.option('-v, --verbose', 'Makes scan operation verbose')
|
|
41
|
-
.action((source, options) => { scan_1.scanHandler(source, options).catch((e) => { CLIErrorHandler(e); }); })
|
|
42
|
-
.addHelpText('after', `
|
|
43
|
-
Examples:
|
|
44
|
-
$ scanoss-js scan -o scan-output.json <source-folder>`);
|
|
45
|
-
commander_1.program
|
|
46
|
-
.command('dep <source>')
|
|
47
|
-
.description('Scan for dependencies')
|
|
48
|
-
.option('-o, --output <filename>', 'Output result file name (optional - default stdout)')
|
|
49
|
-
.option('-a, --grpc-host <host>', 'SCANOSS GRPC HOST (optional - default: scanoss.com)')
|
|
50
|
-
.option('-p, --grpc-port <port>', 'SCANOSS GRPC PORT (optional - default: 443)')
|
|
51
|
-
.action((source, options) => { dep_1.depHandler(source, options).catch((e) => { CLIErrorHandler(e); }); });
|
|
52
|
-
commander_1.program
|
|
53
|
-
.command('wfp <source>')
|
|
54
|
-
.description('Generates fingerprints for a folder/file')
|
|
55
|
-
.option('-H, --hpsm', 'Scan using winnowing high precision matching')
|
|
56
|
-
.option('-o, --output <filename>', 'Output result file name (optional - default stdout)')
|
|
57
|
-
.option('-p, --block-size <size>', 'Maximum size in Kb for each fingerprint block (optional - default 64Kb)')
|
|
58
|
-
.action((source, options) => { wfp_1.wfpHandler(source, options).catch((e) => { CLIErrorHandler(e); }); });
|
|
59
|
-
await commander_1.program.parseAsync(process.argv);
|
|
60
|
-
}
|
|
61
|
-
try {
|
|
62
|
-
main();
|
|
63
|
-
}
|
|
64
|
-
catch (e) {
|
|
65
|
-
console.error(e);
|
|
66
|
-
process.exit(1);
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWJpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvYmluL2NsaS1iaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSx5Q0FBb0M7QUFDcEMseUNBQTZDO0FBQzdDLHlDQUE2QztBQUM3QywyQ0FBK0M7QUFFL0MsU0FBUyxlQUFlLENBQUMsQ0FBUTtJQUMvQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBS0QsS0FBSyxVQUFVLElBQUk7SUFDakIsbUJBQU87U0FDSixPQUFPLENBQUMsT0FBTyxDQUFDO1NBQ2hCLFdBQVcsQ0FBQyw0R0FBNEcsQ0FBQyxDQUFBO0lBRTVILG1CQUFPO1NBQ0osT0FBTyxDQUFDLGVBQWUsQ0FBQztTQUN4QixXQUFXLENBQUMsb0JBQW9CLENBQUM7U0FDakMsTUFBTSxDQUFDLFdBQVcsRUFBRSxzQ0FBc0MsQ0FBQztTQUMzRCxNQUFNLENBQUMsWUFBWSxFQUFFLDhDQUE4QyxDQUFDO1NBQ3BFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsNkVBQTZFLENBQUM7U0FDdEcsTUFBTSxDQUFDLHdCQUF3QixFQUFFLCtDQUErQyxDQUFDO1NBQ2pGLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxpQ0FBaUMsQ0FBQztTQUN2RSxNQUFNLENBQUMsOEJBQThCLEVBQUUsaUNBQWlDLENBQUM7U0FDekUsTUFBTSxDQUFDLDRCQUE0QixFQUFFLCtFQUErRSxDQUFDO1NBQ3JILE1BQU0sQ0FBQyx1QkFBdUIsRUFBRyw4Q0FBOEMsQ0FBQztTQUNoRixNQUFNLENBQUMseUJBQXlCLEVBQUUscURBQXFELENBQUM7U0FDeEYsTUFBTSxDQUFDLHVCQUF1QixFQUFFLGtEQUFrRCxDQUFDO1NBQ25GLE1BQU0sQ0FB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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function depHandler(rootPath: string, options: any): Promise<void>;
|
|
@@ -1,38 +0,0 @@
|
|
|
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.depHandler = void 0;
|
|
6
|
-
const fs_1 = __importDefault(require("fs"));
|
|
7
|
-
const DependencyScanner_1 = require("../../sdk/Dependencies/DependencyScanner");
|
|
8
|
-
const DependencyScannerCfg_1 = require("../../sdk/Dependencies/DependencyScannerCfg");
|
|
9
|
-
const Tree_1 = require("../../sdk/tree/Tree");
|
|
10
|
-
const DependencyFilter_1 = require("../../sdk/tree/Filters/DependencyFilter");
|
|
11
|
-
const helpers_1 = require("./helpers");
|
|
12
|
-
async function depHandler(rootPath, options) {
|
|
13
|
-
rootPath = rootPath.replace(/\/$/, ''); // Remove trailing slash if exists
|
|
14
|
-
rootPath = rootPath.replace(/^\./, process.env.PWD); // Convert relative path to absolute path.
|
|
15
|
-
const pathIsFolder = await helpers_1.isFolder(rootPath);
|
|
16
|
-
const dependencyScannerCfg = new DependencyScannerCfg_1.DependencyScannerCfg();
|
|
17
|
-
if (options.grpcHost)
|
|
18
|
-
dependencyScannerCfg.DEFAULT_GRPC_HOST = options.grpcHost;
|
|
19
|
-
if (options.grpcPort)
|
|
20
|
-
dependencyScannerCfg.DEFAULT_GRPC_PORT = options.grpcPort;
|
|
21
|
-
const dependencyScanner = new DependencyScanner_1.DependencyScanner(dependencyScannerCfg);
|
|
22
|
-
let fileList = [];
|
|
23
|
-
fileList.push(rootPath);
|
|
24
|
-
if (pathIsFolder) {
|
|
25
|
-
const tree = new Tree_1.Tree(rootPath);
|
|
26
|
-
tree.build();
|
|
27
|
-
fileList = tree.getFileList(new DependencyFilter_1.DependencyFilter(""));
|
|
28
|
-
}
|
|
29
|
-
const results = await dependencyScanner.scan(fileList);
|
|
30
|
-
if (options.output) {
|
|
31
|
-
fs_1.default.promises.writeFile(options.output, JSON.stringify(results, null, 2));
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
console.log(JSON.stringify(results, null, 2));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.depHandler = depHandler;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaS9jb21tYW5kcy9kZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIsZ0ZBQTZFO0FBQzdFLHNGQUFtRjtBQUNuRiw4Q0FBMkM7QUFDM0MsOEVBQTJFO0FBQzNFLHVDQUFxQztBQUc5QixLQUFLLFVBQVUsVUFBVSxDQUFDLFFBQWdCLEVBQUUsT0FBWTtJQUU3RCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBRSxrQ0FBa0M7SUFDM0UsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSwwQ0FBMEM7SUFDaEcsTUFBTSxZQUFZLEdBQUcsTUFBTSxrQkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSwyQ0FBb0IsRUFBRSxDQUFDO0lBQ3hELElBQUcsT0FBTyxDQUFDLFFBQVE7UUFBRSxvQkFBb0IsQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQy9FLElBQUcsT0FBTyxDQUFDLFFBQVE7UUFBRSxvQkFBb0IsQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBRS9FLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXRFLElBQUksUUFBUSxHQUFrQixFQUFFLENBQUM7SUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV4QixJQUFJLFlBQVksRUFBRTtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLFdBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLG1DQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDdkQ7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV2RCxJQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDakIsWUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6RTtTQUFNO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMvQztBQUVILENBQUM7QUE1QkQsZ0NBNEJDIn0=
|
|
@@ -1,25 +0,0 @@
|
|
|
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.getProjectNameFromPath = exports.isFolder = void 0;
|
|
6
|
-
const path_1 = __importDefault(require("path"));
|
|
7
|
-
const fs_1 = __importDefault(require("fs"));
|
|
8
|
-
// Async function that verify if a path is a folder. If the path is not valid the promise will be rejected
|
|
9
|
-
exports.isFolder = (path) => {
|
|
10
|
-
return new Promise((resolve, reject) => {
|
|
11
|
-
fs_1.default.stat(path, (err, stats) => {
|
|
12
|
-
if (err) {
|
|
13
|
-
reject(err);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
resolve(stats.isDirectory());
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
function getProjectNameFromPath(path) {
|
|
22
|
-
return path_1.default.basename(path, path_1.default.extname(path));
|
|
23
|
-
}
|
|
24
|
-
exports.getProjectNameFromPath = getProjectNameFromPath;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUEyQjtBQUMzQiw0Q0FBb0I7QUFFcEIsMEdBQTBHO0FBQzdGLFFBQUEsUUFBUSxHQUFHLENBQUMsSUFBWSxFQUFvQixFQUFFO0lBQ3pELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsWUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVELFNBQWdCLHNCQUFzQixDQUFDLElBQVk7SUFDakQsT0FBTyxjQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBQyxjQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDckQsQ0FBQztBQUZELHdEQUVDIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function scanHandler(rootPath: string, options: any): Promise<void>;
|
|
@@ -1,138 +0,0 @@
|
|
|
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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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function wfpHandler(rootPath: string, options: any): Promise<void>;
|
|
@@ -1,54 +0,0 @@
|
|
|
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==
|