scanoss 0.7.4 → 0.7.8

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.
Files changed (281) hide show
  1. package/.idea/workspace.xml +22 -20
  2. package/build/main/cli/bin/cli-bin.d.ts +2 -1
  3. package/build/main/cli/bin/cli-bin.js +10 -2
  4. package/build/main/package.json +120 -0
  5. package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
  6. package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
  7. package/build/main/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
  8. package/build/main/sdk/scanner/Fingerprint.d.ts +2 -2
  9. package/build/main/sdk/scanner/Fingerprint.js +26 -8
  10. package/build/main/sdk/scanner/Scanner.js +4 -1
  11. package/build/main/sdk/scanner/ScannerCfg.d.ts +1 -0
  12. package/build/main/sdk/scanner/ScannerCfg.js +6 -3
  13. package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +6 -3
  14. package/build/main/src/cli/bin/cli-bin.d.ts +2 -0
  15. package/build/main/src/cli/bin/cli-bin.js +68 -0
  16. package/build/main/src/cli/commands/dep.d.ts +1 -0
  17. package/build/main/src/cli/commands/dep.js +38 -0
  18. package/build/main/src/cli/commands/helpers.d.ts +2 -0
  19. package/build/main/src/cli/commands/helpers.js +25 -0
  20. package/build/main/src/cli/commands/scan.d.ts +1 -0
  21. package/build/main/src/cli/commands/scan.js +138 -0
  22. package/build/main/src/cli/commands/wfp.d.ts +1 -0
  23. package/build/main/src/cli/commands/wfp.js +54 -0
  24. package/build/main/src/index.d.ts +14 -0
  25. package/build/main/src/index.js +30 -0
  26. package/build/main/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
  27. package/build/main/src/sdk/DataLayer/DataLayerTypes.js +5 -0
  28. package/build/main/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
  29. package/build/main/src/sdk/DataLayer/DataProviderManager.js +24 -0
  30. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
  31. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +164 -0
  32. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
  33. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +37 -0
  34. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
  35. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +148 -0
  36. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
  37. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +33 -0
  38. package/build/main/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
  39. package/build/main/src/sdk/Decompress/DecompressionManager.js +73 -0
  40. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
  41. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.js +22 -0
  42. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
  43. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.js +24 -0
  44. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
  45. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.js +18 -0
  46. package/build/main/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
  47. package/build/main/src/sdk/Dependencies/DependencyScanner.js +96 -0
  48. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
  49. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.js +10 -0
  50. package/build/main/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
  51. package/build/main/src/sdk/Dependencies/DependencyTypes.js +2 -0
  52. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
  53. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
  54. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
  55. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.js +102 -0
  56. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
  57. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +95 -0
  58. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
  59. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +97 -0
  60. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
  61. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +183 -0
  62. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
  63. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +187 -0
  64. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
  65. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +58 -0
  66. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
  67. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +64 -0
  68. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
  69. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +132 -0
  70. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
  71. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.js +19 -0
  72. package/build/main/src/sdk/Report/Report.d.ts +8 -0
  73. package/build/main/src/sdk/Report/Report.js +26 -0
  74. package/build/main/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
  75. package/build/main/src/sdk/filters/DefaultFilterForDependencies.js +145 -0
  76. package/build/main/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
  77. package/build/main/src/sdk/filters/DefaultFilterForScanning.js +194 -0
  78. package/build/main/src/sdk/filters/filtering.d.ts +32 -0
  79. package/build/main/src/sdk/filters/filtering.js +228 -0
  80. package/build/main/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
  81. package/build/main/src/sdk/grpc/GrpcDependencyService.js +86 -0
  82. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  83. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
  84. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
  85. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
  86. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
  87. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
  88. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
  89. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
  90. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
  91. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
  92. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
  93. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
  94. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
  95. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.js +43 -0
  96. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
  97. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.js +160 -0
  98. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
  99. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.js +33 -0
  100. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
  101. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +32 -0
  102. package/build/main/src/sdk/scanner/Fingerprint.d.ts +16 -0
  103. package/build/main/src/sdk/scanner/Fingerprint.js +78 -0
  104. package/build/main/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
  105. package/build/main/src/sdk/scanner/Scannable/ScannableItem.js +27 -0
  106. package/build/main/src/sdk/scanner/Scanner.d.ts +46 -0
  107. package/build/main/src/sdk/scanner/Scanner.js +283 -0
  108. package/build/main/src/sdk/scanner/ScannerCfg.d.ts +16 -0
  109. package/build/main/src/sdk/scanner/ScannerCfg.js +30 -0
  110. package/build/main/src/sdk/scanner/ScannerTypes.d.ts +121 -0
  111. package/build/main/src/sdk/scanner/ScannerTypes.js +48 -0
  112. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
  113. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.js +31 -0
  114. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
  115. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +492 -0
  116. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
  117. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.js +68 -0
  118. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
  119. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +139 -0
  120. package/build/main/src/sdk/tree/File.d.ts +7 -0
  121. package/build/main/src/sdk/tree/File.js +24 -0
  122. package/build/main/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
  123. package/build/main/src/sdk/tree/Filters/DecompressionFilter.js +21 -0
  124. package/build/main/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
  125. package/build/main/src/sdk/tree/Filters/DependencyFilter.js +17 -0
  126. package/build/main/src/sdk/tree/Filters/Filter.d.ts +4 -0
  127. package/build/main/src/sdk/tree/Filters/Filter.js +6 -0
  128. package/build/main/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
  129. package/build/main/src/sdk/tree/Filters/ScanFilter.js +17 -0
  130. package/build/main/src/sdk/tree/Folder.d.ts +12 -0
  131. package/build/main/src/sdk/tree/Folder.js +58 -0
  132. package/build/main/src/sdk/tree/Node.d.ts +17 -0
  133. package/build/main/src/sdk/tree/Node.js +25 -0
  134. package/build/main/src/sdk/tree/Tree.d.ts +18 -0
  135. package/build/main/src/sdk/tree/Tree.js +70 -0
  136. package/build/main/tsconfig.tsbuildinfo +126 -123
  137. package/build/module/cli/bin/cli-bin.d.ts +2 -1
  138. package/build/module/cli/bin/cli-bin.js +6 -2
  139. package/build/module/package.json +120 -0
  140. package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
  141. package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
  142. package/build/module/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
  143. package/build/module/sdk/scanner/Fingerprint.d.ts +2 -2
  144. package/build/module/sdk/scanner/Fingerprint.js +6 -6
  145. package/build/module/sdk/scanner/Scanner.js +4 -1
  146. package/build/module/sdk/scanner/ScannerCfg.d.ts +1 -0
  147. package/build/module/sdk/scanner/ScannerCfg.js +6 -3
  148. package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +6 -3
  149. package/build/module/src/cli/bin/cli-bin.d.ts +2 -0
  150. package/build/module/src/cli/bin/cli-bin.js +67 -0
  151. package/build/module/src/cli/commands/dep.d.ts +1 -0
  152. package/build/module/src/cli/commands/dep.js +32 -0
  153. package/build/module/src/cli/commands/helpers.d.ts +2 -0
  154. package/build/module/src/cli/commands/helpers.js +19 -0
  155. package/build/module/src/cli/commands/scan.d.ts +1 -0
  156. package/build/module/src/cli/commands/scan.js +135 -0
  157. package/build/module/src/cli/commands/wfp.d.ts +1 -0
  158. package/build/module/src/cli/commands/wfp.js +48 -0
  159. package/build/module/src/index.d.ts +14 -0
  160. package/build/module/src/index.js +19 -0
  161. package/build/module/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
  162. package/build/module/src/sdk/DataLayer/DataLayerTypes.js +5 -0
  163. package/build/module/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
  164. package/build/module/src/sdk/DataLayer/DataProviderManager.js +21 -0
  165. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
  166. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +159 -0
  167. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
  168. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +34 -0
  169. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
  170. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +145 -0
  171. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
  172. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +30 -0
  173. package/build/module/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
  174. package/build/module/src/sdk/Decompress/DecompressionManager.js +67 -0
  175. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
  176. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.js +16 -0
  177. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
  178. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.js +18 -0
  179. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
  180. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.js +15 -0
  181. package/build/module/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
  182. package/build/module/src/sdk/Dependencies/DependencyScanner.js +93 -0
  183. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
  184. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.js +7 -0
  185. package/build/module/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
  186. package/build/module/src/sdk/Dependencies/DependencyTypes.js +2 -0
  187. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
  188. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
  189. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
  190. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.js +96 -0
  191. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
  192. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +87 -0
  193. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
  194. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +88 -0
  195. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
  196. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +180 -0
  197. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
  198. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +175 -0
  199. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
  200. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +49 -0
  201. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
  202. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +57 -0
  203. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
  204. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +125 -0
  205. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
  206. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.js +15 -0
  207. package/build/module/src/sdk/Report/Report.d.ts +8 -0
  208. package/build/module/src/sdk/Report/Report.js +20 -0
  209. package/build/module/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
  210. package/build/module/src/sdk/filters/DefaultFilterForDependencies.js +143 -0
  211. package/build/module/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
  212. package/build/module/src/sdk/filters/DefaultFilterForScanning.js +192 -0
  213. package/build/module/src/sdk/filters/filtering.d.ts +32 -0
  214. package/build/module/src/sdk/filters/filtering.js +203 -0
  215. package/build/module/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
  216. package/build/module/src/sdk/grpc/GrpcDependencyService.js +64 -0
  217. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  218. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
  219. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
  220. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
  221. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
  222. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
  223. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
  224. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
  225. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
  226. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
  227. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
  228. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
  229. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
  230. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.js +37 -0
  231. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
  232. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.js +135 -0
  233. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
  234. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.js +30 -0
  235. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
  236. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +26 -0
  237. package/build/module/src/sdk/scanner/Fingerprint.d.ts +16 -0
  238. package/build/module/src/sdk/scanner/Fingerprint.js +54 -0
  239. package/build/module/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
  240. package/build/module/src/sdk/scanner/Scannable/ScannableItem.js +24 -0
  241. package/build/module/src/sdk/scanner/Scanner.d.ts +46 -0
  242. package/build/module/src/sdk/scanner/Scanner.js +275 -0
  243. package/build/module/src/sdk/scanner/ScannerCfg.d.ts +16 -0
  244. package/build/module/src/sdk/scanner/ScannerCfg.js +27 -0
  245. package/build/module/src/sdk/scanner/ScannerTypes.d.ts +121 -0
  246. package/build/module/src/sdk/scanner/ScannerTypes.js +46 -0
  247. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
  248. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.js +28 -0
  249. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
  250. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +486 -0
  251. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
  252. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.js +65 -0
  253. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
  254. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +132 -0
  255. package/build/module/src/sdk/tree/File.d.ts +7 -0
  256. package/build/module/src/sdk/tree/File.js +19 -0
  257. package/build/module/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
  258. package/build/module/src/sdk/tree/Filters/DecompressionFilter.js +18 -0
  259. package/build/module/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
  260. package/build/module/src/sdk/tree/Filters/DependencyFilter.js +14 -0
  261. package/build/module/src/sdk/tree/Filters/Filter.d.ts +4 -0
  262. package/build/module/src/sdk/tree/Filters/Filter.js +3 -0
  263. package/build/module/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
  264. package/build/module/src/sdk/tree/Filters/ScanFilter.js +14 -0
  265. package/build/module/src/sdk/tree/Folder.d.ts +12 -0
  266. package/build/module/src/sdk/tree/Folder.js +53 -0
  267. package/build/module/src/sdk/tree/Node.d.ts +17 -0
  268. package/build/module/src/sdk/tree/Node.js +22 -0
  269. package/build/module/src/sdk/tree/Tree.d.ts +18 -0
  270. package/build/module/src/sdk/tree/Tree.js +64 -0
  271. package/build/module/tsconfig.module.tsbuildinfo +126 -123
  272. package/package-lock.json +17117 -0
  273. package/package.json +1 -1
  274. package/src/cli/bin/cli-bin.ts +7 -4
  275. package/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.ts +10 -9
  276. package/src/sdk/scanner/Dispatcher/Dispatcher.ts +5 -2
  277. package/src/sdk/scanner/Fingerprint.ts +6 -8
  278. package/src/sdk/scanner/Scanner.ts +4 -0
  279. package/src/sdk/scanner/ScannerCfg.ts +8 -2
  280. package/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts +7 -2
  281. package/yarn.lock +4977 -4864
@@ -436,13 +436,16 @@ class WfpCalculator extends WfpProvider_1.WfpProvider {
436
436
  this.sendFingerprint(fingerprint);
437
437
  }
438
438
  async getNextScannableItem() {
439
- if (this.fileListIndex >= this.fileList.length)
439
+ if (this.fileListIndex >= this.fileList.length) {
440
+ this.emit(ScannerTypes_1.ScannerEvents.WINNOWING_STATUS, (this.fileListIndex) % this.scannerCfg.WINNOWING_REPORT_STATUS_AFTER_X);
440
441
  return null;
442
+ }
441
443
  const path = this.fileList[this.fileListIndex];
442
444
  const contentSource = path.replace(`${this.folderRoot}`, '');
443
445
  const content = await fs_1.default.promises.readFile(path);
444
446
  this.fileListIndex += 1;
445
- this.emit(ScannerTypes_1.ScannerEvents.WINNOWING_STATUS, this.fileListIndex);
447
+ if (!(this.fileListIndex % this.scannerCfg.WINNOWING_REPORT_STATUS_AFTER_X))
448
+ this.emit(ScannerTypes_1.ScannerEvents.WINNOWING_STATUS, this.scannerCfg.WINNOWING_REPORT_STATUS_AFTER_X);
446
449
  const scannable = new ScannableItem_1.ScannableItem(content, contentSource, this.winnowingMode, this.scannerCfg.WFP_FILE_MAX_SIZE);
447
450
  return scannable;
448
451
  }
@@ -491,4 +494,4 @@ class WfpCalculator extends WfpProvider_1.WfpProvider {
491
494
  }
492
495
  }
493
496
  exports.WfpCalculator = WfpCalculator;
494
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwQ2FsY3VsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9XZnBQcm92aWRlci9XZnBDYWxjdWxhdG9yL1dmcENhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIsbURBQXdDO0FBRXhDLGlFQUE4RDtBQUM5RCxpREFBOEM7QUFDOUMscURBQWdGO0FBRWhGLDhEQUEyRDtBQUMzRCxnREFBZ0U7QUFFaEUsTUFBTSxZQUFZLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTBYcEIsQ0FBQztBQUVGLE1BQWEsYUFBYyxTQUFRLHlCQUFXO0lBTzVDLFlBQVksVUFBVSxHQUFHLElBQUksdUJBQVUsRUFBRTtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJO1FBQ0YsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEs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
497
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwQ2FsY3VsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9XZnBQcm92aWRlci9XZnBDYWxjdWxhdG9yL1dmcENhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBb0I7QUFDcEIsbURBQXdDO0FBRXhDLGlFQUE4RDtBQUM5RCxpREFBOEM7QUFDOUMscURBQWdGO0FBRWhGLDhEQUEyRDtBQUMzRCxnREFBZ0U7QUFFaEUsTUFBTSxZQUFZLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTBYcEIsQ0FBQztBQUVGLE1BQWEsYUFBYyxTQUFRLHlCQUFXO0lBTzVDLFlBQVksVUFBVSxHQUFHLElBQUksdUJBQVUsRUFBRTtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJO1FBQ0YsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEs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
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,68 @@
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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
@@ -0,0 +1 @@
1
+ export declare function depHandler(rootPath: string, options: any): Promise<void>;
@@ -0,0 +1,38 @@
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=
@@ -0,0 +1,2 @@
1
+ export declare const isFolder: (path: string) => Promise<boolean>;
2
+ export declare function getProjectNameFromPath(path: string): string;
@@ -0,0 +1,25 @@
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=
@@ -0,0 +1 @@
1
+ export declare function scanHandler(rootPath: string, options: any): Promise<void>;
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLDRDQUFvQjtBQUVwQix1REFBb0Q7QUFDcEQsaUVBS3dDO0FBQ3hDLDZEQUEwRDtBQUMxRCw4Q0FBMkM7QUFDM0MsZ0VBQXVDO0FBRXZDLHVDQUE2RDtBQUc3RCxzRkFBbUY7QUFDbkYsZ0ZBQTZFO0FBRTdFLGtFQUErRDtBQUMvRCw4RUFBMkU7QUFDM0Usb0RBQWlEO0FBQ2pELGlGQUE4RTtBQUM5RSxtR0FFaUU7QUFDakUscUdBRWtFO0FBQ2xFLCtGQUUrRDtBQUMvRCwrRkFFK0Q7QUFDL0Qsb0ZBRW9EO0FBQ3BELG9GQUVtRDtBQUc1QyxLQUFLLFVBQVUsV0FBVyxDQUFDLFFBQWdCLEVBQUUsT0FBWTtJQUU5RCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBRSxrQ0FBa0M7SUFDM0UsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSwwQ0FBMEM7SUFDaEcsTUFBTSxZQUFZLEdBQUcsTUFBTSxrQkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRzlDLE1BQU0sV0FBVyxHQUFHLGdDQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRXBELCtDQUErQztJQUMvQyxNQUFNLG9CQUFvQixHQUFHLElBQUksMkNBQW9CLEVBQUUsQ0FBQztJQUN4RCxJQUFJLE9BQU8sQ0FBQyxPQUFPO1FBQUUsb0JBQW9CLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUM5RSxNQUFNLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN0RSxJQUFJLGVBQWUsR0FBa0IsRUFBRSxDQUFDO0lBR3hDLGdEQUFnRDtJQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLHVCQUFVLEVBQUUsQ0FBQztJQUNwQyxJQUFHLE9BQU8sQ0FBQyxXQUFXO1FBQUUsVUFBVSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckYsSUFBRyxPQUFPLENBQUMsUUFBUTtRQUFFLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUN0RixJQUFHLE9BQU8sQ0FBQyxNQUFNO1FBQUUsVUFBVSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3ZELElBQUcsT0FBTyxDQUFDLEdBQUc7UUFBRSxVQUFVLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDakQsSUFBRyxPQUFPLENBQUMsT0FBTztRQUFFLFVBQVUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDaEUsSUFBRyxPQUFPLENBQUMsUUFBUTtRQUFFLFVBQVUsQ0FBQyxtQ0FBbUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3ZGLElBQUcsT0FBTyxDQUFDLEtBQUs7UUFBRSxVQUFVLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDbkQsSUFBRyxPQUFPLENBQUMsTUFBTTtRQUFFLFVBQVUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUN2RCxJQUFHLE9BQU8sQ0FBQyxnQkFBZ0I7UUFBRSxVQUFVLENBQUMsa0JBQWtCLEdBQUMsSUFBSSxDQUFDO0lBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4QyxJQUFJLFlBQVksR0FBaUIsRUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDaEQsWUFBWSxDQUFDLFVBQVUsR0FBRyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsMkRBQTJEO0lBQ3JHLElBQUcsT0FBTyxDQUFDLEtBQUs7UUFBRSxZQUFZLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFJM0QsSUFBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDZixJQUFHLFlBQVksRUFBRTtZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLFdBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFYixJQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSx5Q0FBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7Z0JBQzVDLElBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRTtvQkFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO29CQUN2QyxNQUFNLG9CQUFvQixHQUFHLElBQUksMkNBQW9CLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBQyxPQUFPLENBQUMsYUFBYSxFQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUMxSCxNQUFNLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO29CQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2Q7O29CQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUM1QztZQUVELFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3RCxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLG1DQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FHOUQ7YUFBTTtZQUNMLFlBQVksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxlQUFlLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5QjtLQUNGO1NBQU07UUFDTCxNQUFNLFNBQVMsR0FBRyxZQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBQ2pFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0tBQ3pFO0lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7UUFDcEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUseUVBQXlFLEVBQUUsQ0FBQztRQUN0RyxNQUFNLElBQUksR0FBRyxJQUFJLHNCQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxzQkFBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVDLE9BQU8sQ0FBQyxFQUFFLENBQUMsNEJBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQTRCLEVBQUUsRUFBRTtZQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxFQUFFLENBQUMsNEJBQWEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7S0FDM0U7U0FBTTtRQUNMLE9BQU8sQ0FBQyxFQUFFLENBQUMsNEJBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUM1RTtJQUVELElBQUksT0FBTyxDQUFDLEdBQUc7UUFBRSxZQUFZLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztJQUNqRCxJQUFJLE9BQU8sQ0FBQyxJQUFJO1FBQUUsWUFBWSxDQUFDLGFBQWEsR0FBRyw0QkFBYSxDQUFDLG1CQUFtQixDQUFBO0lBRWhGLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNsQixZQUFZLENBQUMsSUFBSSxHQUFHLFlBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3RCxZQUFZLENBQUMsUUFBUSxHQUFHLHVCQUFRLENBQUMsV0FBVyxDQUFBO0tBQzdDO0lBSUQscUJBQXFCO0lBQ3JCLElBQUksa0JBQWtCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBc0IsRUFBRSxDQUFDLENBQUM7SUFDbEUsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1FBQ3hCLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUM5RDtJQUVELDBCQUEwQjtJQUMxQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUU5QyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtJQUN6RixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sWUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUUxRix3R0FBd0c7SUFDeEcsTUFBTSxlQUFlLG1CQUNuQixPQUFPLEVBQUUsY0FBZ0MsSUFDdEMsQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQ3hELENBQUM7SUFFRixJQUFJLG9CQUFvQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwRSxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLEVBQUU7UUFFN0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixFQUFFLENBQUM7UUFDdEQsbUJBQW1CLENBQUMsZUFBZSxDQUFDLElBQUksNkNBQXFCLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtRQUNySCxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsSUFBSSwrQ0FBc0IsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtRQUM3RixtQkFBbUIsQ0FBQyxlQUFlLENBQUMsSUFBSSx5Q0FBbUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3BILG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxJQUFJLHlDQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQy9HLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0Msb0JBQW9CLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7S0FFL0M7SUFFRCxJQUFHLE9BQU8sQ0FBQyxNQUFNO1FBQ2YsTUFBTSxZQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLENBQUE7O1FBRWpFLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBOUhELGtDQThIQyJ9
@@ -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,7 @@
1
+ import { DataProvider, IDataLayers } from './DataLayerTypes';
2
+ export declare class DataProviderManager {
3
+ private dataLayersProviders;
4
+ constructor();
5
+ addDataProvider(l: DataProvider): void;
6
+ generateData(): IDataLayers;
7
+ }
@@ -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
+ }