scanoss 0.7.5 → 0.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/.idea/workspace.xml +64 -47
  2. package/.nyc_output/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +1 -0
  3. package/.nyc_output/processinfo/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +1 -0
  4. package/.nyc_output/processinfo/index.json +1 -0
  5. package/build/main/cli/bin/cli-bin.d.ts +2 -1
  6. package/build/main/cli/bin/cli-bin.js +10 -2
  7. package/build/main/index.d.ts +2 -0
  8. package/build/main/index.js +3 -1
  9. package/build/main/package.json +120 -0
  10. package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
  11. package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
  12. package/build/main/sdk/FileCount/FileCount.d.ts +6 -0
  13. package/build/main/sdk/FileCount/FileCount.js +88 -0
  14. package/build/main/sdk/FileCount/FileCountFilter.d.ts +2 -0
  15. package/build/main/sdk/FileCount/FileCountFilter.js +10 -0
  16. package/build/main/sdk/FileCount/Interfaces.d.ts +19 -0
  17. package/build/main/sdk/FileCount/Interfaces.js +8 -0
  18. package/build/main/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
  19. package/build/main/sdk/Filtering/DefaultFilterForDependencies.js +144 -0
  20. package/build/main/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
  21. package/build/main/sdk/Filtering/DefaultFilterForScanning.js +193 -0
  22. package/build/main/sdk/Filtering/Filtering.d.ts +80 -0
  23. package/build/main/sdk/Filtering/Filtering.js +259 -0
  24. package/build/main/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
  25. package/build/main/sdk/scanner/ScannerCfg.js +3 -3
  26. package/build/main/sdk/tree/Filters/DependencyFilter.js +4 -4
  27. package/build/main/sdk/tree/Filters/ScanFilter.js +4 -4
  28. package/build/main/src/cli/bin/cli-bin.d.ts +2 -0
  29. package/build/main/src/cli/bin/cli-bin.js +68 -0
  30. package/build/main/src/cli/commands/dep.d.ts +1 -0
  31. package/build/main/src/cli/commands/dep.js +38 -0
  32. package/build/main/src/cli/commands/helpers.d.ts +2 -0
  33. package/build/main/src/cli/commands/helpers.js +25 -0
  34. package/build/main/src/cli/commands/scan.d.ts +1 -0
  35. package/build/main/src/cli/commands/scan.js +138 -0
  36. package/build/main/src/cli/commands/wfp.d.ts +1 -0
  37. package/build/main/src/cli/commands/wfp.js +54 -0
  38. package/build/main/src/index.d.ts +14 -0
  39. package/build/main/src/index.js +30 -0
  40. package/build/main/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
  41. package/build/main/src/sdk/DataLayer/DataLayerTypes.js +5 -0
  42. package/build/main/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
  43. package/build/main/src/sdk/DataLayer/DataProviderManager.js +24 -0
  44. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
  45. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +164 -0
  46. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
  47. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +37 -0
  48. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
  49. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +148 -0
  50. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
  51. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +33 -0
  52. package/build/main/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
  53. package/build/main/src/sdk/Decompress/DecompressionManager.js +73 -0
  54. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
  55. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.js +22 -0
  56. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
  57. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.js +24 -0
  58. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
  59. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.js +18 -0
  60. package/build/main/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
  61. package/build/main/src/sdk/Dependencies/DependencyScanner.js +96 -0
  62. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
  63. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.js +10 -0
  64. package/build/main/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
  65. package/build/main/src/sdk/Dependencies/DependencyTypes.js +2 -0
  66. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
  67. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
  68. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
  69. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.js +102 -0
  70. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
  71. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +95 -0
  72. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
  73. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +97 -0
  74. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
  75. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +183 -0
  76. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
  77. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +187 -0
  78. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
  79. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +58 -0
  80. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
  81. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +64 -0
  82. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
  83. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +132 -0
  84. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
  85. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.js +19 -0
  86. package/build/main/src/sdk/Report/Report.d.ts +8 -0
  87. package/build/main/src/sdk/Report/Report.js +26 -0
  88. package/build/main/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
  89. package/build/main/src/sdk/filters/DefaultFilterForDependencies.js +145 -0
  90. package/build/main/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
  91. package/build/main/src/sdk/filters/DefaultFilterForScanning.js +194 -0
  92. package/build/main/src/sdk/filters/filtering.d.ts +32 -0
  93. package/build/main/src/sdk/filters/filtering.js +228 -0
  94. package/build/main/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
  95. package/build/main/src/sdk/grpc/GrpcDependencyService.js +86 -0
  96. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  97. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
  98. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
  99. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
  100. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
  101. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
  102. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
  103. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
  104. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
  105. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
  106. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
  107. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
  108. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
  109. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.js +43 -0
  110. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
  111. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.js +160 -0
  112. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
  113. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.js +33 -0
  114. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
  115. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +32 -0
  116. package/build/main/src/sdk/scanner/Fingerprint.d.ts +16 -0
  117. package/build/main/src/sdk/scanner/Fingerprint.js +78 -0
  118. package/build/main/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
  119. package/build/main/src/sdk/scanner/Scannable/ScannableItem.js +27 -0
  120. package/build/main/src/sdk/scanner/Scanner.d.ts +46 -0
  121. package/build/main/src/sdk/scanner/Scanner.js +283 -0
  122. package/build/main/src/sdk/scanner/ScannerCfg.d.ts +16 -0
  123. package/build/main/src/sdk/scanner/ScannerCfg.js +30 -0
  124. package/build/main/src/sdk/scanner/ScannerTypes.d.ts +121 -0
  125. package/build/main/src/sdk/scanner/ScannerTypes.js +48 -0
  126. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
  127. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.js +31 -0
  128. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
  129. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +492 -0
  130. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
  131. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.js +68 -0
  132. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
  133. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +139 -0
  134. package/build/main/src/sdk/tree/File.d.ts +7 -0
  135. package/build/main/src/sdk/tree/File.js +24 -0
  136. package/build/main/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
  137. package/build/main/src/sdk/tree/Filters/DecompressionFilter.js +21 -0
  138. package/build/main/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
  139. package/build/main/src/sdk/tree/Filters/DependencyFilter.js +17 -0
  140. package/build/main/src/sdk/tree/Filters/Filter.d.ts +4 -0
  141. package/build/main/src/sdk/tree/Filters/Filter.js +6 -0
  142. package/build/main/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
  143. package/build/main/src/sdk/tree/Filters/ScanFilter.js +17 -0
  144. package/build/main/src/sdk/tree/Folder.d.ts +12 -0
  145. package/build/main/src/sdk/tree/Folder.js +58 -0
  146. package/build/main/src/sdk/tree/Node.d.ts +17 -0
  147. package/build/main/src/sdk/tree/Node.js +25 -0
  148. package/build/main/src/sdk/tree/Tree.d.ts +18 -0
  149. package/build/main/src/sdk/tree/Tree.js +70 -0
  150. package/build/main/tsconfig.tsbuildinfo +190 -144
  151. package/build/module/cli/bin/cli-bin.d.ts +2 -1
  152. package/build/module/cli/bin/cli-bin.js +6 -2
  153. package/build/module/index.d.ts +2 -0
  154. package/build/module/index.js +3 -1
  155. package/build/module/package.json +120 -0
  156. package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +1 -1
  157. package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
  158. package/build/module/sdk/FileCount/FileCount.d.ts +6 -0
  159. package/build/module/sdk/FileCount/FileCount.js +63 -0
  160. package/build/module/sdk/FileCount/FileCountFilter.d.ts +2 -0
  161. package/build/module/sdk/FileCount/FileCountFilter.js +8 -0
  162. package/build/module/sdk/FileCount/Interfaces.d.ts +19 -0
  163. package/build/module/sdk/FileCount/Interfaces.js +6 -0
  164. package/build/module/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
  165. package/build/module/sdk/Filtering/DefaultFilterForDependencies.js +142 -0
  166. package/build/module/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
  167. package/build/module/sdk/Filtering/DefaultFilterForScanning.js +191 -0
  168. package/build/module/sdk/Filtering/Filtering.d.ts +80 -0
  169. package/build/module/sdk/Filtering/Filtering.js +229 -0
  170. package/build/module/sdk/scanner/Dispatcher/Dispatcher.js +5 -2
  171. package/build/module/sdk/scanner/ScannerCfg.js +3 -3
  172. package/build/module/sdk/tree/Filters/DependencyFilter.js +4 -4
  173. package/build/module/sdk/tree/Filters/ScanFilter.js +4 -4
  174. package/build/module/src/cli/bin/cli-bin.d.ts +2 -0
  175. package/build/module/src/cli/bin/cli-bin.js +67 -0
  176. package/build/module/src/cli/commands/dep.d.ts +1 -0
  177. package/build/module/src/cli/commands/dep.js +32 -0
  178. package/build/module/src/cli/commands/helpers.d.ts +2 -0
  179. package/build/module/src/cli/commands/helpers.js +19 -0
  180. package/build/module/src/cli/commands/scan.d.ts +1 -0
  181. package/build/module/src/cli/commands/scan.js +135 -0
  182. package/build/module/src/cli/commands/wfp.d.ts +1 -0
  183. package/build/module/src/cli/commands/wfp.js +48 -0
  184. package/build/module/src/index.d.ts +14 -0
  185. package/build/module/src/index.js +19 -0
  186. package/build/module/src/sdk/DataLayer/DataLayerTypes.d.ts +108 -0
  187. package/build/module/src/sdk/DataLayer/DataLayerTypes.js +5 -0
  188. package/build/module/src/sdk/DataLayer/DataProviderManager.d.ts +7 -0
  189. package/build/module/src/sdk/DataLayer/DataProviderManager.js +21 -0
  190. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +13 -0
  191. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +159 -0
  192. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +9 -0
  193. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +34 -0
  194. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +18 -0
  195. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +145 -0
  196. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +11 -0
  197. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +30 -0
  198. package/build/module/src/sdk/Decompress/DecompressionManager.d.ts +12 -0
  199. package/build/module/src/sdk/Decompress/DecompressionManager.js +67 -0
  200. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
  201. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.js +16 -0
  202. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
  203. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.js +18 -0
  204. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
  205. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.js +15 -0
  206. package/build/module/src/sdk/Dependencies/DependencyScanner.d.ts +11 -0
  207. package/build/module/src/sdk/Dependencies/DependencyScanner.js +93 -0
  208. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.d.ts +4 -0
  209. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.js +7 -0
  210. package/build/module/src/sdk/Dependencies/DependencyTypes.d.ts +21 -0
  211. package/build/module/src/sdk/Dependencies/DependencyTypes.js +2 -0
  212. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +16 -0
  213. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +2 -0
  214. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +8 -0
  215. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.js +96 -0
  216. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +2 -0
  217. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +87 -0
  218. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +3 -0
  219. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +88 -0
  220. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +2 -0
  221. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +180 -0
  222. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +13 -0
  223. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +175 -0
  224. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +3 -0
  225. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +49 -0
  226. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +2 -0
  227. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +57 -0
  228. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +3 -0
  229. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +125 -0
  230. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +2 -0
  231. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.js +15 -0
  232. package/build/module/src/sdk/Report/Report.d.ts +8 -0
  233. package/build/module/src/sdk/Report/Report.js +20 -0
  234. package/build/module/src/sdk/filters/DefaultFilterForDependencies.d.ts +16 -0
  235. package/build/module/src/sdk/filters/DefaultFilterForDependencies.js +143 -0
  236. package/build/module/src/sdk/filters/DefaultFilterForScanning.d.ts +16 -0
  237. package/build/module/src/sdk/filters/DefaultFilterForScanning.js +192 -0
  238. package/build/module/src/sdk/filters/filtering.d.ts +32 -0
  239. package/build/module/src/sdk/filters/filtering.js +203 -0
  240. package/build/module/src/sdk/grpc/GrpcDependencyService.d.ts +11 -0
  241. package/build/module/src/sdk/grpc/GrpcDependencyService.js +64 -0
  242. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  243. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +2 -0
  244. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +1 -0
  245. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +404 -0
  246. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +39 -0
  247. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +98 -0
  248. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +1 -0
  249. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1197 -0
  250. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +19 -0
  251. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +66 -0
  252. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +1 -0
  253. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +14 -0
  254. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +19 -0
  255. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.js +37 -0
  256. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +20 -0
  257. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.js +135 -0
  258. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +12 -0
  259. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.js +30 -0
  260. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +10 -0
  261. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +26 -0
  262. package/build/module/src/sdk/scanner/Fingerprint.d.ts +16 -0
  263. package/build/module/src/sdk/scanner/Fingerprint.js +54 -0
  264. package/build/module/src/sdk/scanner/Scannable/ScannableItem.d.ts +15 -0
  265. package/build/module/src/sdk/scanner/Scannable/ScannableItem.js +24 -0
  266. package/build/module/src/sdk/scanner/Scanner.d.ts +46 -0
  267. package/build/module/src/sdk/scanner/Scanner.js +275 -0
  268. package/build/module/src/sdk/scanner/ScannerCfg.d.ts +16 -0
  269. package/build/module/src/sdk/scanner/ScannerCfg.js +27 -0
  270. package/build/module/src/sdk/scanner/ScannerTypes.d.ts +121 -0
  271. package/build/module/src/sdk/scanner/ScannerTypes.js +46 -0
  272. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +9 -0
  273. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.js +28 -0
  274. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +20 -0
  275. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +486 -0
  276. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +35 -0
  277. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.js +65 -0
  278. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +21 -0
  279. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +132 -0
  280. package/build/module/src/sdk/tree/File.d.ts +7 -0
  281. package/build/module/src/sdk/tree/File.js +19 -0
  282. package/build/module/src/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
  283. package/build/module/src/sdk/tree/Filters/DecompressionFilter.js +18 -0
  284. package/build/module/src/sdk/tree/Filters/DependencyFilter.d.ts +7 -0
  285. package/build/module/src/sdk/tree/Filters/DependencyFilter.js +14 -0
  286. package/build/module/src/sdk/tree/Filters/Filter.d.ts +4 -0
  287. package/build/module/src/sdk/tree/Filters/Filter.js +3 -0
  288. package/build/module/src/sdk/tree/Filters/ScanFilter.d.ts +7 -0
  289. package/build/module/src/sdk/tree/Filters/ScanFilter.js +14 -0
  290. package/build/module/src/sdk/tree/Folder.d.ts +12 -0
  291. package/build/module/src/sdk/tree/Folder.js +53 -0
  292. package/build/module/src/sdk/tree/Node.d.ts +17 -0
  293. package/build/module/src/sdk/tree/Node.js +22 -0
  294. package/build/module/src/sdk/tree/Tree.d.ts +18 -0
  295. package/build/module/src/sdk/tree/Tree.js +64 -0
  296. package/build/module/tsconfig.module.tsbuildinfo +190 -144
  297. package/package-lock.json +17116 -0
  298. package/package.json +3 -3
  299. package/src/cli/bin/cli-bin.ts +7 -4
  300. package/src/index.ts +5 -0
  301. package/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.ts +10 -9
  302. package/src/sdk/FileCount/FileCount.ts +81 -0
  303. package/src/sdk/FileCount/FileCountFilter.ts +14 -0
  304. package/src/sdk/FileCount/Interfaces.ts +23 -0
  305. package/src/sdk/Filtering/DefaultFilterForDependencies.ts +148 -0
  306. package/src/sdk/Filtering/DefaultFilterForScanning.ts +206 -0
  307. package/src/sdk/Filtering/Filtering.ts +273 -0
  308. package/src/sdk/scanner/Dispatcher/Dispatcher.ts +5 -2
  309. package/src/sdk/scanner/ScannerCfg.ts +2 -2
  310. package/src/sdk/tree/Filters/DependencyFilter.ts +4 -4
  311. package/src/sdk/tree/Filters/ScanFilter.ts +4 -4
  312. package/src/sdk/tree/Node.ts +1 -1
  313. package/src/sdk/tree/Tree.ts +1 -1
  314. package/tests/sdk/FileCount/FileCount.spec.ts +35 -0
  315. package/tests/sdk/FileCount/samples/16557/.y.ts +27 -0
  316. package/tests/sdk/FileCount/samples/16557/.z.ts +129 -0
  317. package/tests/sdk/FileCount/samples/16557/files/a.ts +195 -0
  318. package/tests/sdk/FileCount/samples/16557/files/b.ts +184 -0
  319. package/tests/sdk/FileCount/samples/16557/files/c.ts +47 -0
  320. package/tests/sdk/FileCount/samples/22036/files/a.ts +195 -0
  321. package/tests/sdk/FileCount/samples/22036/files/b.ts +184 -0
  322. package/tests/sdk/FileCount/samples/22036/files/c.ts +47 -0
  323. package/tests/sdk/FileCount/samples/22036/files/d.ts +48 -0
  324. package/tests/sdk/FileCount/samples/22036/y.ts +27 -0
  325. package/tests/sdk/FileCount/samples/22036/z.ts +129 -0
  326. package/yarn.lock +316 -203
  327. package/src/sdk/filters/DefaultFilterForDependencies.ts +0 -149
  328. package/src/sdk/filters/DefaultFilterForScanning.ts +0 -207
  329. package/src/sdk/filters/filtering.ts +0 -235
@@ -0,0 +1,273 @@
1
+ import fs from 'fs';
2
+ import * as fpath from 'path';
3
+ import { isBinaryFileSync } from 'isbinaryfile';
4
+
5
+
6
+
7
+ export interface IFilter {
8
+ type: FilterListType.ALLOW | FilterListType.BANNED;
9
+ filters: Array<{
10
+ ftype: FilterType;
11
+ scope: FilterScope;
12
+ condition: string;
13
+ value: string;
14
+ }>;
15
+ }
16
+
17
+ export enum FilterType {
18
+ NAME = 'NAME',
19
+ CONTENT = 'CONTENT',
20
+ EXTENSION = 'EXTENSION',
21
+ SIZE = 'SIZE',
22
+ DATE = 'DATE',
23
+ NULL = 'NONE'
24
+ };
25
+
26
+ export enum FilterListType {
27
+ BANNED = 'BANNED',
28
+ ALLOW = 'ALLOW',
29
+ };
30
+
31
+ export enum FilterScope {
32
+ FOLDER = 'FOLDER',
33
+ FILE = 'FILE',
34
+ ALL = 'ALL',
35
+ }
36
+
37
+ class AbstractFilter {
38
+ condition: string;
39
+
40
+ value: string;
41
+
42
+ ftype: FilterType;
43
+
44
+ scope: FilterScope;
45
+
46
+ constructor(condition: string, value: string) {
47
+ this.condition = condition;
48
+ this.value = value;
49
+ this.ftype = FilterType.NULL;
50
+ this.scope = FilterScope.ALL;
51
+ }
52
+
53
+ evaluate(path: string): boolean {
54
+ return true;
55
+ }
56
+ }
57
+
58
+ export class NameFilter extends AbstractFilter {
59
+ static CONTAINS = 'contains';
60
+ static FULLMATCH = 'fullmatch';
61
+ static STARTS = 'starts';
62
+ static ENDS = 'ends';
63
+
64
+ constructor(condition: string, value: string, scope: FilterScope) {
65
+ super(condition, value);
66
+ this.ftype = FilterType.NAME;
67
+ this.scope = scope || super.scope;
68
+ }
69
+
70
+ evaluate(path: string): boolean {
71
+ this.value = this.value.toLowerCase();
72
+ path = path.toLowerCase();
73
+
74
+ if (this.condition === NameFilter.CONTAINS) {
75
+ return !(path.indexOf(this.value) >= 0);
76
+ }
77
+ if (this.condition === NameFilter.FULLMATCH) return fpath.basename(path) !== this.value;
78
+ if (this.condition === NameFilter.STARTS) {
79
+ let filename: string;
80
+ filename = fpath.basename(path);
81
+ return !filename.startsWith(this.value);
82
+ }
83
+ if (this.condition === NameFilter.ENDS) {
84
+ let filename: string;
85
+ filename = fpath.basename(path);
86
+ return !filename.endsWith(this.value);
87
+ }
88
+
89
+ return true;
90
+ }
91
+ }
92
+
93
+ export class ContentFilter extends AbstractFilter {
94
+ static VALUE_BINARY = 'BINARY';
95
+ static VALUE_TEXT = 'TEXT';
96
+ static EQUAL = '=';
97
+ static NOT_EQUAL = '!=';
98
+
99
+ constructor(condition: string, value: string, scope: FilterScope) {
100
+ super(condition, value);
101
+ this.ftype = FilterType.CONTENT;
102
+ this.scope = scope || super.scope; // Verificar
103
+ }
104
+
105
+ evaluate(path: string): boolean {
106
+ const binary = isBinaryFileSync(path);
107
+
108
+ if (this.condition === ContentFilter.EQUAL && this.value === ContentFilter.VALUE_BINARY && binary) return false;
109
+ if (this.condition === ContentFilter.NOT_EQUAL && this.value === ContentFilter.VALUE_TEXT && binary) return false;
110
+ if (this.condition === ContentFilter.EQUAL && this.value === ContentFilter.VALUE_TEXT && !binary) return false;
111
+ if (this.condition === ContentFilter.NOT_EQUAL && this.value === ContentFilter.VALUE_BINARY && !binary) return false;
112
+ return true;
113
+ }
114
+ }
115
+
116
+ export class ExtensionFilter extends AbstractFilter {
117
+
118
+ constructor(condition: string, value: string, scope: FilterScope) {
119
+ super(condition, value);
120
+ this.ftype = FilterType.EXTENSION;
121
+ this.scope = scope || super.scope; // Verificar
122
+ }
123
+
124
+ evaluate(path: string): boolean {
125
+ path = path.toLowerCase();
126
+ this.value = this.value.toLowerCase();
127
+ return !path.endsWith(this.value);
128
+ }
129
+ }
130
+
131
+ export class SizeFilter extends AbstractFilter {
132
+ static BIGGER = '>'
133
+ static SMALLER = '<'
134
+ static EQUAL = '='
135
+ constructor(condition: string, value: string, scope: FilterScope) {
136
+ super(condition, value);
137
+ this.ftype = FilterType.SIZE;
138
+ this.scope = scope || super.scope; // Verificar
139
+ }
140
+
141
+ evaluate(path: string): boolean {
142
+ const stat = fs.statSync(path);
143
+
144
+ if (this.condition === SizeFilter.BIGGER) {
145
+ if (stat.size > parseInt(this.value, 10)) {
146
+ // console.log("NO aceptado por que NO es mayor");
147
+ return false;
148
+ }
149
+ return true;
150
+ }
151
+ if (this.condition === SizeFilter.SMALLER) {
152
+ if (stat.size < parseInt(this.value, 10)) {
153
+ return false;
154
+ }
155
+ return true;
156
+ }
157
+ if (this.condition === SizeFilter.EQUAL) {
158
+ if (stat.size === parseInt(this.value, 10)) {
159
+ return false;
160
+ }
161
+
162
+ return true;
163
+ }
164
+
165
+ return true;
166
+ }
167
+ }
168
+ export class DateFilter extends AbstractFilter {
169
+ static BIGGER = '>'
170
+ static SMALLER = '<'
171
+ constructor(condition: string, value: string, scope: FilterScope) {
172
+ super(condition, value);
173
+ this.ftype = FilterType.NAME;
174
+ this.scope = scope || super.scope; // Verificar
175
+ }
176
+
177
+ evaluate(path: string): boolean {
178
+ const stats = fs.statSync(path);
179
+
180
+ modified = stats.mtime;
181
+
182
+ const lDate = new Date(this.value);
183
+
184
+ const ms: number = stats.mtimeMs;
185
+ var modified = new Date(ms);
186
+ // console.log(lDate);
187
+ // console.log(modified);
188
+ if (this.condition === DateFilter.BIGGER) {
189
+ if (modified > lDate) {
190
+ return false;
191
+ }
192
+ return true;
193
+ }
194
+ if (this.condition === DateFilter.SMALLER) {
195
+ if (modified < lDate) {
196
+ return false;
197
+ }
198
+ return true;
199
+ }
200
+ return true;
201
+ }
202
+ }
203
+
204
+ export class FilterList {
205
+ type: FilterListType;
206
+
207
+ filters: AbstractFilter[];
208
+
209
+ constructor(fList?: IFilter) {
210
+ this.filters = [];
211
+ if (fList) this.load(fList);
212
+ }
213
+
214
+ public addFilter(filter: AbstractFilter): void {
215
+ this.filters.push(filter);
216
+ }
217
+
218
+ // Returns false if the path match with some filter in the list
219
+ // IMPORTANT: This method DOES NOT honor the FilterType (BANNED | ALLOW)
220
+ // Use the method include to honor the FilterType
221
+ public evaluate(path: string): boolean {
222
+ const pathStat = fs.lstatSync(path);
223
+
224
+ let i: number;
225
+ for (i = 0; i < this.filters.length; i += 1) {
226
+ const evaluation = this.filters[i].evaluate(path);
227
+
228
+ if (this.filters[i].scope === FilterScope.FOLDER && pathStat.isDirectory() && !evaluation) return false;
229
+
230
+ if (this.filters[i].scope === FilterScope.FILE && pathStat.isFile() && !evaluation) return false;
231
+
232
+ if (this.filters[i].scope === FilterScope.ALL && !evaluation) return false;
233
+ }
234
+ return true;
235
+ }
236
+
237
+ //
238
+ public include(path: string): boolean {
239
+ if(this.type === FilterListType.BANNED) return this.evaluate(path);
240
+ return !this.evaluate(path);
241
+ }
242
+
243
+ public save(path: string) {
244
+ fs.writeFileSync(path, JSON.stringify(this.filters).toString());
245
+ }
246
+
247
+ public loadFromFile(path: string) {
248
+ const json = fs.readFileSync(path, 'utf8');
249
+ const filters = JSON.parse(json);
250
+ this.load(filters);
251
+ }
252
+
253
+ public unload() {
254
+ this.filters = [];
255
+ }
256
+
257
+ public load(fList: IFilter) {
258
+ this.type = fList.type;
259
+ const a = fList.filters;
260
+
261
+ let i: number;
262
+ for (i = 0; i < a.length; i += 1) {
263
+ const scope = a[i].scope || FilterScope.ALL;
264
+ if (a[i].ftype === FilterType.NAME) this.addFilter(new NameFilter(a[i].condition, a[i].value, scope));
265
+ if (a[i].ftype === FilterType.DATE) this.addFilter(new DateFilter(a[i].condition, a[i].value, scope));
266
+ if (a[i].ftype === FilterType.SIZE) this.addFilter(new SizeFilter(a[i].condition, a[i].value, scope));
267
+ if (a[i].ftype === FilterType.EXTENSION) this.addFilter(new ExtensionFilter(a[i].condition, a[i].value, scope));
268
+ if (a[i].ftype === FilterType.CONTENT) this.addFilter(new ContentFilter(a[i].condition, a[i].value, scope));
269
+ }
270
+ }
271
+ }
272
+
273
+
@@ -4,7 +4,6 @@ import EventEmitter from 'eventemitter3';
4
4
  import fetch from 'node-fetch';
5
5
  import PQueue from "p-queue";
6
6
 
7
-
8
7
  import { ScannerEvents } from "../ScannerTypes";
9
8
  import { DispatcherResponse } from "./DispatcherResponse";
10
9
  import { ScannerCfg } from "../ScannerCfg";
@@ -13,6 +12,8 @@ import { DispatchableItem } from './DispatchableItem';
13
12
  import { HttpsProxyAgent } from 'https-proxy-agent';
14
13
  import * as syswideCa from "syswide-cas";
15
14
 
15
+ import { PackageJSON } from '../../../cli/bin/cli-bin';
16
+
16
17
  const MAX_CONCURRENT_REQUEST = 30;
17
18
 
18
19
  export class Dispatcher extends EventEmitter {
@@ -139,7 +140,9 @@ export class Dispatcher extends EventEmitter {
139
140
  agent: this.proxy,
140
141
  method: 'post',
141
142
  body: item.getForm(),
142
- headers: { 'User-Agent': this.scannerCfg.CLIENT_TIMESTAMP, 'X-Session': this.scannerCfg.API_KEY },
143
+ headers: { 'User-Agent': this.scannerCfg.CLIENT_TIMESTAMP ? this.scannerCfg.CLIENT_TIMESTAMP : `scanoss-js/v${PackageJSON.version}`,
144
+ 'X-Session': this.scannerCfg.API_KEY,
145
+ },
143
146
  signal: timeoutController.signal,
144
147
  });
145
148
 
@@ -1,6 +1,6 @@
1
1
  export class ScannerCfg {
2
- // Client Timestamp
3
- CLIENT_TIMESTAMP = "SCANNER JS"
2
+ // Client Timestamp, default value is scanoss-js/${version}
3
+ CLIENT_TIMESTAMP = ""
4
4
 
5
5
  // API URL
6
6
  API_URL = 'https://osskb.org/api/scan/direct';
@@ -1,9 +1,9 @@
1
1
  import { Filter } from './Filter';
2
2
  import Node from '../Node'
3
- import { FilterList } from '../../filters/filtering';
3
+ import { FilterList, IFilter} from '../../Filtering/Filtering';
4
4
  import {
5
5
  defaultFilterForDependencies
6
- } from '../../filters/DefaultFilterForDependencies';
6
+ } from '../../Filtering/DefaultFilterForDependencies';
7
7
 
8
8
  export class DependencyFilter extends Filter {
9
9
 
@@ -11,8 +11,8 @@ export class DependencyFilter extends Filter {
11
11
 
12
12
  public constructor(filterName: string) {
13
13
  super();
14
- this.filter = new FilterList(filterName);
15
- this.filter.load(defaultFilterForDependencies as FilterList)
14
+ this.filter = new FilterList();
15
+ this.filter.load(defaultFilterForDependencies)
16
16
  }
17
17
 
18
18
  public evaluate(node: Node): boolean {
@@ -1,9 +1,9 @@
1
1
  import { Filter } from './Filter';
2
2
  import Node from '../Node'
3
- import { FilterList } from '../../filters/filtering';
3
+ import { FilterList } from '../../Filtering/Filtering';
4
4
  import {
5
5
  defaultFilterForScanning
6
- } from '../../filters/DefaultFilterForScanning';
6
+ } from '../../Filtering/DefaultFilterForScanning';
7
7
 
8
8
  export class ScanFilter extends Filter {
9
9
 
@@ -11,8 +11,8 @@ export class ScanFilter extends Filter {
11
11
 
12
12
  public constructor(filterName: string) {
13
13
  super();
14
- this.filter = new FilterList(filterName);
15
- this.filter.load(defaultFilterForScanning as FilterList)
14
+ this.filter = new FilterList();
15
+ this.filter.load(defaultFilterForScanning)
16
16
  }
17
17
 
18
18
  public evaluate(node: Node): boolean {
@@ -1,4 +1,4 @@
1
- import { FilterList } from '../filters/filtering';
1
+ import { FilterList } from '../Filtering/Filtering';
2
2
  import { Filter } from './Filters/Filter';
3
3
 
4
4
  export default abstract class Node {
@@ -6,7 +6,7 @@ import { NodeType } from './Node';
6
6
  import Node from './Node';
7
7
  import File from './File';
8
8
  import Folder from './Folder';
9
- import { FilterList } from '../filters/filtering';
9
+ import { FilterList } from '../Filtering/Filtering';
10
10
  import { Filter } from './Filters/Filter';
11
11
 
12
12
  export class Tree {
@@ -0,0 +1,35 @@
1
+ import { FileCount } from '../../../src/sdk/FileCount/FileCount';
2
+ import { IDirSummary } from '../../../src/sdk/FileCount/Interfaces';
3
+ import path from 'path';
4
+ import { Format } from '../../../src/sdk/FileCount/Interfaces';
5
+ import { expect } from 'chai';
6
+
7
+ describe('Suit test for FileCount', () => {
8
+
9
+ it('Testing empty dir with CSV and RAW formats', async function() {
10
+
11
+ let data = await FileCount.walk(path.join(__dirname, './samples/0'), );
12
+ expect((data as IDirSummary).totalFileSize ).to.be.equal(0)
13
+ expect((data as IDirSummary).fileSummary.size ).to.be.equal(0)
14
+
15
+
16
+ data = await FileCount.walk(path.join(__dirname, './samples/0'), {output: Format.CSV});
17
+ expect(data).equal( "");
18
+ });
19
+
20
+
21
+ it('Testing dir with files', async function() {
22
+ const data = await FileCount.walk(path.join(__dirname, './samples/22036'), { output: Format.CSV});
23
+ expect(data).equal('.ts,6,1\n');
24
+ });
25
+
26
+
27
+ it('Testing dir with hidden files in CSV formats', async function() {
28
+ const data = await FileCount.walk(path.join(__dirname, './samples/16557'), { output: Format.CSV});
29
+ expect(data).equal('.ts,3,1\n');
30
+ });
31
+
32
+
33
+
34
+ });
35
+
@@ -0,0 +1,27 @@
1
+ // import { DataProvider, IDataLayers } from './DataLayerTypes';
2
+ //
3
+ // export class DataProviderManager {
4
+ // private dataLayersProviders: Array<DataProvider>;
5
+ //
6
+ // constructor() {
7
+ // this.dataLayersProviders = [];
8
+ // }
9
+ //
10
+ // public addDataProvider(l: DataProvider) {
11
+ // this.dataLayersProviders.push(l)
12
+ // }
13
+ //
14
+ // public generateData(): IDataLayers {
15
+ //
16
+ // let dataLayer: IDataLayers = {
17
+ // component: null,
18
+ // dependencies: null,
19
+ // vulnerabilities: null,
20
+ // summary: null,
21
+ // licenses: null
22
+ // };
23
+ //
24
+ // for (const layer of this.dataLayersProviders) Object.assign(dataLayer, layer.getData());
25
+ // return dataLayer;
26
+ // }
27
+ // }
@@ -0,0 +1,129 @@
1
+ // /************* Component interface definition *************/
2
+ // export interface ComponentDataLayer {
3
+ // key: string; // purl[0]
4
+ // purls: string[];
5
+ // name: string;
6
+ // vendor: string;
7
+ // url: string;
8
+ // health: Health;
9
+ // versions: Version[];
10
+ // }
11
+ //
12
+ // export interface Version {
13
+ // version: string;
14
+ // licenses: string[]
15
+ // copyrights: Copyright[]
16
+ // cryptography: Cryptography[];
17
+ // quality: Quality;
18
+ // }
19
+ //
20
+ // export interface Copyright {
21
+ // name: string;
22
+ // source: string;
23
+ // };
24
+ //
25
+ // export interface Cryptography {
26
+ // algorithm: string;
27
+ // strength: string;
28
+ // };
29
+ //
30
+ // export interface Quality {
31
+ // scoreAvg: number;
32
+ // count: number;
33
+ // sum: number; //TODO remove
34
+ // };
35
+ //
36
+ // export interface Health {
37
+ // creation_date: string;
38
+ // issues: number;
39
+ // last_push: string;
40
+ // last_update: string;
41
+ // watchers: number;
42
+ // country: string;
43
+ // stars: number;
44
+ // forks: number;
45
+ // }
46
+ // /************* Component interface definition *************/
47
+ //
48
+ //
49
+ // /************* Dependency interface definition *************/
50
+ // export interface DependencyDataLayer {
51
+ // file: string;
52
+ // dependencies: Dependency[];
53
+ // }
54
+ //
55
+ // export interface License {
56
+ // name: string;
57
+ // spdxid: string;
58
+ // }
59
+ //
60
+ // export interface Dependency {
61
+ // purl: string;
62
+ // component: string;
63
+ // version: string;
64
+ // licenses: License[]
65
+ // }
66
+ // /************* Dependency interface definition *************/
67
+ //
68
+ // /************* Vulnerability interface definition *************/
69
+ // export interface Vulnerability {
70
+ // id: string;
71
+ // cve: string;
72
+ // url: string;
73
+ // summary: string;
74
+ // severity: string;
75
+ // published: string;
76
+ // modified: string;
77
+ // source: string;
78
+ // }
79
+ //
80
+ // export interface VulnerabilityDataLayer {
81
+ // purl: string;
82
+ // vulnerability: Vulnerability[];
83
+ // }
84
+ // /************* Vulnerability interface definition *************/
85
+ //
86
+ //
87
+ // /************* License interface definition *************/
88
+ // export interface LicenseDataLayer {
89
+ // label: string;
90
+ // value: number; //Number of licenses found
91
+ // components: Array<LicenseComponent>;
92
+ // incompatibleWith: Array<string>;
93
+ // hasIncompatibles: Array<string>;
94
+ // copyleft:boolean;
95
+ // }
96
+ //
97
+ //
98
+ // export interface LicenseComponent {
99
+ // purl: string;
100
+ // name: string;
101
+ // versions: Array<string>;
102
+ // url:string;
103
+ // vendor:string;
104
+ // }
105
+ // /************* License interface definition *************/
106
+ //
107
+ // export interface SummaryDataLayer {
108
+ // projectName: string;
109
+ // timestamp: Date;
110
+ // matchedFiles: number;
111
+ // noMatchFiles: number;
112
+ // totalFiles: number;
113
+ // }
114
+ //
115
+ // // Each layer is created to group by differents criteria.
116
+ // export interface IDataLayers {
117
+ // licenses: LicenseDataLayer[];
118
+ // component: ComponentDataLayer[];
119
+ // dependencies: DependencyDataLayer[];
120
+ // vulnerabilities: VulnerabilityDataLayer[];
121
+ // summary: SummaryDataLayer;
122
+ // }
123
+ //
124
+ //
125
+ // export interface DataProvider {
126
+ // getData(): IDataLayers;
127
+ // getLayerName(): string;
128
+ // }
129
+ //