scanoss 0.7.8 → 0.7.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/build/main/index.d.ts +2 -0
  2. package/build/main/index.js +3 -1
  3. package/build/main/sdk/FileCount/FileCount.d.ts +6 -0
  4. package/build/main/sdk/FileCount/FileCount.js +88 -0
  5. package/build/main/sdk/FileCount/FileCountFilter.d.ts +2 -0
  6. package/build/main/sdk/FileCount/FileCountFilter.js +10 -0
  7. package/build/main/sdk/FileCount/Interfaces.d.ts +19 -0
  8. package/build/main/sdk/FileCount/Interfaces.js +8 -0
  9. package/build/main/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
  10. package/build/main/sdk/Filtering/DefaultFilterForDependencies.js +144 -0
  11. package/build/main/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
  12. package/build/main/sdk/Filtering/DefaultFilterForScanning.js +193 -0
  13. package/build/main/sdk/Filtering/Filtering.d.ts +80 -0
  14. package/build/main/sdk/Filtering/Filtering.js +259 -0
  15. package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
  16. package/build/main/sdk/tree/Filters/DependencyFilter.js +4 -4
  17. package/build/main/sdk/tree/Filters/ScanFilter.js +4 -4
  18. package/build/main/tsconfig.tsbuildinfo +82 -39
  19. package/build/module/index.d.ts +2 -0
  20. package/build/module/index.js +3 -1
  21. package/build/module/sdk/FileCount/FileCount.d.ts +6 -0
  22. package/build/module/sdk/FileCount/FileCount.js +63 -0
  23. package/build/module/sdk/FileCount/FileCountFilter.d.ts +2 -0
  24. package/build/module/sdk/FileCount/FileCountFilter.js +8 -0
  25. package/build/module/sdk/FileCount/Interfaces.d.ts +19 -0
  26. package/build/module/sdk/FileCount/Interfaces.js +6 -0
  27. package/build/module/sdk/Filtering/DefaultFilterForDependencies.d.ts +2 -0
  28. package/build/module/sdk/Filtering/DefaultFilterForDependencies.js +142 -0
  29. package/build/module/sdk/Filtering/DefaultFilterForScanning.d.ts +2 -0
  30. package/build/module/sdk/Filtering/DefaultFilterForScanning.js +191 -0
  31. package/build/module/sdk/Filtering/Filtering.d.ts +80 -0
  32. package/build/module/sdk/Filtering/Filtering.js +229 -0
  33. package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
  34. package/build/module/sdk/tree/Filters/DependencyFilter.js +4 -4
  35. package/build/module/sdk/tree/Filters/ScanFilter.js +4 -4
  36. package/build/module/tsconfig.module.tsbuildinfo +82 -39
  37. package/package.json +3 -3
  38. package/.circleci/config.yml +0 -64
  39. package/.cspell.json +0 -36
  40. package/.editorconfig +0 -15
  41. package/.eslintrc.json +0 -37
  42. package/.github/workflows/reuse.yml +0 -15
  43. package/.github/workflows/scanoss.yml +0 -24
  44. package/.gitignore +0 -10
  45. package/.idea/.gitignore +0 -5
  46. package/.idea/codeStyles/Project.xml +0 -61
  47. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  48. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  49. package/.idea/modules.xml +0 -8
  50. package/.idea/scanoss.js.iml +0 -12
  51. package/.idea/vcs.xml +0 -6
  52. package/.idea/workspace.xml +0 -297
  53. package/.prettierignore +0 -2
  54. package/.reuse/dep5 +0 -16
  55. package/.vscode/extensions.json +0 -8
  56. package/.vscode/launch.json +0 -29
  57. package/.vscode/settings.json +0 -7
  58. package/LICENSES/CC0-1.0.txt +0 -121
  59. package/LICENSES/MIT.txt +0 -9
  60. package/assets/ReportHTMLTemplate/index.html +0 -1181
  61. package/build/main/package.json +0 -120
  62. package/build/main/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
  63. package/build/main/sdk/filters/DefaultFilterForDependencies.js +0 -145
  64. package/build/main/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
  65. package/build/main/sdk/filters/DefaultFilterForScanning.js +0 -194
  66. package/build/main/sdk/filters/filtering.d.ts +0 -32
  67. package/build/main/sdk/filters/filtering.js +0 -228
  68. package/build/main/src/cli/bin/cli-bin.d.ts +0 -2
  69. package/build/main/src/cli/bin/cli-bin.js +0 -68
  70. package/build/main/src/cli/commands/dep.d.ts +0 -1
  71. package/build/main/src/cli/commands/dep.js +0 -38
  72. package/build/main/src/cli/commands/helpers.d.ts +0 -2
  73. package/build/main/src/cli/commands/helpers.js +0 -25
  74. package/build/main/src/cli/commands/scan.d.ts +0 -1
  75. package/build/main/src/cli/commands/scan.js +0 -138
  76. package/build/main/src/cli/commands/wfp.d.ts +0 -1
  77. package/build/main/src/cli/commands/wfp.js +0 -54
  78. package/build/main/src/index.d.ts +0 -14
  79. package/build/main/src/index.js +0 -30
  80. package/build/main/src/sdk/DataLayer/DataLayerTypes.d.ts +0 -108
  81. package/build/main/src/sdk/DataLayer/DataLayerTypes.js +0 -5
  82. package/build/main/src/sdk/DataLayer/DataProviderManager.d.ts +0 -7
  83. package/build/main/src/sdk/DataLayer/DataProviderManager.js +0 -24
  84. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +0 -13
  85. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +0 -164
  86. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +0 -9
  87. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +0 -37
  88. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +0 -18
  89. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +0 -148
  90. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +0 -11
  91. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +0 -33
  92. package/build/main/src/sdk/Decompress/DecompressionManager.d.ts +0 -12
  93. package/build/main/src/sdk/Decompress/DecompressionManager.js +0 -73
  94. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +0 -5
  95. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.js +0 -22
  96. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +0 -5
  97. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.js +0 -24
  98. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.d.ts +0 -10
  99. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.js +0 -18
  100. package/build/main/src/sdk/Dependencies/DependencyScanner.d.ts +0 -11
  101. package/build/main/src/sdk/Dependencies/DependencyScanner.js +0 -96
  102. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -4
  103. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.js +0 -10
  104. package/build/main/src/sdk/Dependencies/DependencyTypes.d.ts +0 -21
  105. package/build/main/src/sdk/Dependencies/DependencyTypes.js +0 -2
  106. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +0 -16
  107. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +0 -2
  108. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +0 -8
  109. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.js +0 -102
  110. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +0 -2
  111. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +0 -95
  112. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +0 -3
  113. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +0 -97
  114. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +0 -2
  115. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +0 -183
  116. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +0 -13
  117. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +0 -187
  118. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +0 -3
  119. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +0 -58
  120. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +0 -2
  121. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +0 -64
  122. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +0 -3
  123. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +0 -132
  124. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +0 -2
  125. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.js +0 -19
  126. package/build/main/src/sdk/Report/Report.d.ts +0 -8
  127. package/build/main/src/sdk/Report/Report.js +0 -26
  128. package/build/main/src/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
  129. package/build/main/src/sdk/filters/DefaultFilterForDependencies.js +0 -145
  130. package/build/main/src/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
  131. package/build/main/src/sdk/filters/DefaultFilterForScanning.js +0 -194
  132. package/build/main/src/sdk/filters/filtering.d.ts +0 -32
  133. package/build/main/src/sdk/filters/filtering.js +0 -228
  134. package/build/main/src/sdk/grpc/GrpcDependencyService.d.ts +0 -11
  135. package/build/main/src/sdk/grpc/GrpcDependencyService.js +0 -86
  136. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  137. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -2
  138. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
  139. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +0 -404
  140. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -39
  141. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
  142. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
  143. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1197
  144. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -19
  145. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -66
  146. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
  147. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -14
  148. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +0 -19
  149. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.js +0 -43
  150. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +0 -20
  151. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.js +0 -160
  152. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +0 -12
  153. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.js +0 -33
  154. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +0 -10
  155. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +0 -32
  156. package/build/main/src/sdk/scanner/Fingerprint.d.ts +0 -16
  157. package/build/main/src/sdk/scanner/Fingerprint.js +0 -78
  158. package/build/main/src/sdk/scanner/Scannable/ScannableItem.d.ts +0 -15
  159. package/build/main/src/sdk/scanner/Scannable/ScannableItem.js +0 -27
  160. package/build/main/src/sdk/scanner/Scanner.d.ts +0 -46
  161. package/build/main/src/sdk/scanner/Scanner.js +0 -283
  162. package/build/main/src/sdk/scanner/ScannerCfg.d.ts +0 -16
  163. package/build/main/src/sdk/scanner/ScannerCfg.js +0 -30
  164. package/build/main/src/sdk/scanner/ScannerTypes.d.ts +0 -121
  165. package/build/main/src/sdk/scanner/ScannerTypes.js +0 -48
  166. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +0 -9
  167. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.js +0 -31
  168. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +0 -20
  169. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +0 -492
  170. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +0 -35
  171. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.js +0 -68
  172. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +0 -21
  173. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +0 -139
  174. package/build/main/src/sdk/tree/File.d.ts +0 -7
  175. package/build/main/src/sdk/tree/File.js +0 -24
  176. package/build/main/src/sdk/tree/Filters/DecompressionFilter.d.ts +0 -7
  177. package/build/main/src/sdk/tree/Filters/DecompressionFilter.js +0 -21
  178. package/build/main/src/sdk/tree/Filters/DependencyFilter.d.ts +0 -7
  179. package/build/main/src/sdk/tree/Filters/DependencyFilter.js +0 -17
  180. package/build/main/src/sdk/tree/Filters/Filter.d.ts +0 -4
  181. package/build/main/src/sdk/tree/Filters/Filter.js +0 -6
  182. package/build/main/src/sdk/tree/Filters/ScanFilter.d.ts +0 -7
  183. package/build/main/src/sdk/tree/Filters/ScanFilter.js +0 -17
  184. package/build/main/src/sdk/tree/Folder.d.ts +0 -12
  185. package/build/main/src/sdk/tree/Folder.js +0 -58
  186. package/build/main/src/sdk/tree/Node.d.ts +0 -17
  187. package/build/main/src/sdk/tree/Node.js +0 -25
  188. package/build/main/src/sdk/tree/Tree.d.ts +0 -18
  189. package/build/main/src/sdk/tree/Tree.js +0 -70
  190. package/build/module/package.json +0 -120
  191. package/build/module/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
  192. package/build/module/sdk/filters/DefaultFilterForDependencies.js +0 -143
  193. package/build/module/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
  194. package/build/module/sdk/filters/DefaultFilterForScanning.js +0 -192
  195. package/build/module/sdk/filters/filtering.d.ts +0 -32
  196. package/build/module/sdk/filters/filtering.js +0 -203
  197. package/build/module/src/cli/bin/cli-bin.d.ts +0 -2
  198. package/build/module/src/cli/bin/cli-bin.js +0 -67
  199. package/build/module/src/cli/commands/dep.d.ts +0 -1
  200. package/build/module/src/cli/commands/dep.js +0 -32
  201. package/build/module/src/cli/commands/helpers.d.ts +0 -2
  202. package/build/module/src/cli/commands/helpers.js +0 -19
  203. package/build/module/src/cli/commands/scan.d.ts +0 -1
  204. package/build/module/src/cli/commands/scan.js +0 -135
  205. package/build/module/src/cli/commands/wfp.d.ts +0 -1
  206. package/build/module/src/cli/commands/wfp.js +0 -48
  207. package/build/module/src/index.d.ts +0 -14
  208. package/build/module/src/index.js +0 -19
  209. package/build/module/src/sdk/DataLayer/DataLayerTypes.d.ts +0 -108
  210. package/build/module/src/sdk/DataLayer/DataLayerTypes.js +0 -5
  211. package/build/module/src/sdk/DataLayer/DataProviderManager.d.ts +0 -7
  212. package/build/module/src/sdk/DataLayer/DataProviderManager.js +0 -21
  213. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +0 -13
  214. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +0 -159
  215. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +0 -9
  216. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +0 -34
  217. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +0 -18
  218. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +0 -145
  219. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +0 -11
  220. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +0 -30
  221. package/build/module/src/sdk/Decompress/DecompressionManager.d.ts +0 -12
  222. package/build/module/src/sdk/Decompress/DecompressionManager.js +0 -67
  223. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +0 -5
  224. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.js +0 -16
  225. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +0 -5
  226. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.js +0 -18
  227. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.d.ts +0 -10
  228. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.js +0 -15
  229. package/build/module/src/sdk/Dependencies/DependencyScanner.d.ts +0 -11
  230. package/build/module/src/sdk/Dependencies/DependencyScanner.js +0 -93
  231. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -4
  232. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.js +0 -7
  233. package/build/module/src/sdk/Dependencies/DependencyTypes.d.ts +0 -21
  234. package/build/module/src/sdk/Dependencies/DependencyTypes.js +0 -2
  235. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +0 -16
  236. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +0 -2
  237. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +0 -8
  238. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.js +0 -96
  239. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +0 -2
  240. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +0 -87
  241. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +0 -3
  242. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +0 -88
  243. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +0 -2
  244. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +0 -180
  245. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +0 -13
  246. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +0 -175
  247. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +0 -3
  248. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +0 -49
  249. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +0 -2
  250. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +0 -57
  251. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +0 -3
  252. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +0 -125
  253. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +0 -2
  254. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.js +0 -15
  255. package/build/module/src/sdk/Report/Report.d.ts +0 -8
  256. package/build/module/src/sdk/Report/Report.js +0 -20
  257. package/build/module/src/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
  258. package/build/module/src/sdk/filters/DefaultFilterForDependencies.js +0 -143
  259. package/build/module/src/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
  260. package/build/module/src/sdk/filters/DefaultFilterForScanning.js +0 -192
  261. package/build/module/src/sdk/filters/filtering.d.ts +0 -32
  262. package/build/module/src/sdk/filters/filtering.js +0 -203
  263. package/build/module/src/sdk/grpc/GrpcDependencyService.d.ts +0 -11
  264. package/build/module/src/sdk/grpc/GrpcDependencyService.js +0 -64
  265. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  266. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -2
  267. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
  268. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +0 -404
  269. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -39
  270. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
  271. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
  272. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1197
  273. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -19
  274. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -66
  275. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
  276. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -14
  277. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +0 -19
  278. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.js +0 -37
  279. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +0 -20
  280. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.js +0 -135
  281. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +0 -12
  282. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.js +0 -30
  283. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +0 -10
  284. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +0 -26
  285. package/build/module/src/sdk/scanner/Fingerprint.d.ts +0 -16
  286. package/build/module/src/sdk/scanner/Fingerprint.js +0 -54
  287. package/build/module/src/sdk/scanner/Scannable/ScannableItem.d.ts +0 -15
  288. package/build/module/src/sdk/scanner/Scannable/ScannableItem.js +0 -24
  289. package/build/module/src/sdk/scanner/Scanner.d.ts +0 -46
  290. package/build/module/src/sdk/scanner/Scanner.js +0 -275
  291. package/build/module/src/sdk/scanner/ScannerCfg.d.ts +0 -16
  292. package/build/module/src/sdk/scanner/ScannerCfg.js +0 -27
  293. package/build/module/src/sdk/scanner/ScannerTypes.d.ts +0 -121
  294. package/build/module/src/sdk/scanner/ScannerTypes.js +0 -46
  295. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +0 -9
  296. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.js +0 -28
  297. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +0 -20
  298. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +0 -486
  299. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +0 -35
  300. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.js +0 -65
  301. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +0 -21
  302. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +0 -132
  303. package/build/module/src/sdk/tree/File.d.ts +0 -7
  304. package/build/module/src/sdk/tree/File.js +0 -19
  305. package/build/module/src/sdk/tree/Filters/DecompressionFilter.d.ts +0 -7
  306. package/build/module/src/sdk/tree/Filters/DecompressionFilter.js +0 -18
  307. package/build/module/src/sdk/tree/Filters/DependencyFilter.d.ts +0 -7
  308. package/build/module/src/sdk/tree/Filters/DependencyFilter.js +0 -14
  309. package/build/module/src/sdk/tree/Filters/Filter.d.ts +0 -4
  310. package/build/module/src/sdk/tree/Filters/Filter.js +0 -3
  311. package/build/module/src/sdk/tree/Filters/ScanFilter.d.ts +0 -7
  312. package/build/module/src/sdk/tree/Filters/ScanFilter.js +0 -14
  313. package/build/module/src/sdk/tree/Folder.d.ts +0 -12
  314. package/build/module/src/sdk/tree/Folder.js +0 -53
  315. package/build/module/src/sdk/tree/Node.d.ts +0 -17
  316. package/build/module/src/sdk/tree/Node.js +0 -22
  317. package/build/module/src/sdk/tree/Tree.d.ts +0 -18
  318. package/build/module/src/sdk/tree/Tree.js +0 -64
  319. package/package-lock.json +0 -17117
  320. package/src/cli/bin/cli-bin.ts +0 -81
  321. package/src/cli/commands/dep.ts +0 -37
  322. package/src/cli/commands/helpers.ts +0 -19
  323. package/src/cli/commands/scan.ts +0 -173
  324. package/src/cli/commands/wfp.ts +0 -60
  325. package/src/index.ts +0 -26
  326. package/src/sdk/DataLayer/DataLayerTypes.ts +0 -129
  327. package/src/sdk/DataLayer/DataProviderManager.ts +0 -27
  328. package/src/sdk/DataLayer/DataProviders/ComponentDataProvider.ts +0 -195
  329. package/src/sdk/DataLayer/DataProviders/DependencyDataProvider.ts +0 -48
  330. package/src/sdk/DataLayer/DataProviders/LicenseDataProvider.ts +0 -184
  331. package/src/sdk/DataLayer/DataProviders/SummaryDataProvider.ts +0 -47
  332. package/src/sdk/Decompress/DecompressionManager.ts +0 -91
  333. package/src/sdk/Decompress/Decompressor/DecompressTgz.ts +0 -20
  334. package/src/sdk/Decompress/Decompressor/DecompressZips.ts +0 -21
  335. package/src/sdk/Decompress/Decompressor/Decompressor.ts +0 -20
  336. package/src/sdk/Dependencies/DependencyScanner.ts +0 -108
  337. package/src/sdk/Dependencies/DependencyScannerCfg.ts +0 -7
  338. package/src/sdk/Dependencies/DependencyTypes.ts +0 -24
  339. package/src/sdk/Dependencies/LocalDependency/DependencyTypes.ts +0 -21
  340. package/src/sdk/Dependencies/LocalDependency/LocalDependency.ts +0 -111
  341. package/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.ts +0 -115
  342. package/src/sdk/Dependencies/LocalDependency/parsers/golangParser.ts +0 -130
  343. package/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.ts +0 -209
  344. package/src/sdk/Dependencies/LocalDependency/parsers/npmParser.ts +0 -227
  345. package/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.ts +0 -64
  346. package/src/sdk/Dependencies/LocalDependency/parsers/pyParser.ts +0 -58
  347. package/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.ts +0 -174
  348. package/src/sdk/Dependencies/LocalDependency/parsers/utils.ts +0 -15
  349. package/src/sdk/Report/Report.ts +0 -30
  350. package/src/sdk/filters/DefaultFilterForDependencies.ts +0 -149
  351. package/src/sdk/filters/DefaultFilterForScanning.ts +0 -207
  352. package/src/sdk/filters/filtering.ts +0 -235
  353. package/src/sdk/grpc/GrpcDependencyService.ts +0 -72
  354. package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -1
  355. package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -1
  356. package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -79
  357. package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +0 -482
  358. package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -30
  359. package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -109
  360. package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -206
  361. package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1489
  362. package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -25
  363. package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -73
  364. package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -6
  365. package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -15
  366. package/src/sdk/scanner/Dispatcher/DispatchableItem.ts +0 -62
  367. package/src/sdk/scanner/Dispatcher/Dispatcher.ts +0 -173
  368. package/src/sdk/scanner/Dispatcher/DispatcherResponse.ts +0 -40
  369. package/src/sdk/scanner/Dispatcher/GlobalControllerAborter.ts +0 -33
  370. package/src/sdk/scanner/Fingerprint.ts +0 -82
  371. package/src/sdk/scanner/Scannable/ScannableItem.ts +0 -43
  372. package/src/sdk/scanner/Scanner.ts +0 -360
  373. package/src/sdk/scanner/ScannerCfg.ts +0 -43
  374. package/src/sdk/scanner/ScannerTypes.ts +0 -127
  375. package/src/sdk/scanner/WfpProvider/FingerprintPackage.ts +0 -34
  376. package/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts +0 -516
  377. package/src/sdk/scanner/WfpProvider/WfpProvider.ts +0 -105
  378. package/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.ts +0 -184
  379. package/src/sdk/tree/File.ts +0 -22
  380. package/src/sdk/tree/Filters/DecompressionFilter.ts +0 -22
  381. package/src/sdk/tree/Filters/DependencyFilter.ts +0 -22
  382. package/src/sdk/tree/Filters/Filter.ts +0 -5
  383. package/src/sdk/tree/Filters/ScanFilter.ts +0 -22
  384. package/src/sdk/tree/Folder.ts +0 -57
  385. package/src/sdk/tree/Node.ts +0 -39
  386. package/src/sdk/tree/Tree.ts +0 -82
  387. package/tests/scanoss.sh +0 -56
  388. package/tests/sdk/DataLayer/DataProviders/ComponentDataProvider.spec.ts +0 -176
  389. package/tests/sdk/DataLayer/DataProviders/DependencyDataProvider.spec.ts +0 -51
  390. package/tests/sdk/DataLayer/DataProviders/SummaryDataProvider.spec.ts +0 -35
  391. package/tests/sdk/DataLayer/DataProviders/samples/results-with-dep.json +0 -665
  392. package/tests/sdk/DataLayer/DataProviders/samples/results.json +0 -556
  393. package/tests/sdk/DataLayer/samples/simple/results-with-dep.json +0 -665
  394. package/tests/sdk/DataLayer/samples/simple-1/output1.json +0 -1196
  395. package/tests/sdk/Dependencies/LocalDependency/LocalDependency.spec.ts +0 -24
  396. package/tests/sdk/Dependencies/LocalDependency/Parsers/buildGradle.spec.ts +0 -48
  397. package/tests/sdk/Dependencies/LocalDependency/Parsers/golangParser.spec.ts +0 -146
  398. package/tests/sdk/Dependencies/LocalDependency/Parsers/npmParser.spec.ts +0 -135
  399. package/tests/sdk/Dependencies/LocalDependency/Parsers/nugetParser.spec.ts +0 -73
  400. package/tests/sdk/Dependencies/LocalDependency/Parsers/pomParser.spec.ts +0 -45
  401. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/1/Gemfile +0 -6
  402. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/1/Gemfile~ +0 -0
  403. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/2/Gemfile +0 -3
  404. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/2/Gemfile~ +0 -6
  405. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/3/Gemfile +0 -7
  406. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/3/Gemfile~ +0 -6
  407. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/4/Gemfile +0 -31
  408. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/4/Gemfile~ +0 -7
  409. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile.lock/1/Gemfile.lock +0 -180
  410. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile.lock/2/Gemfile.lock +0 -60
  411. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile.lock/2/Gemfile.lock~ +0 -0
  412. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/go.sum/1/go.sum +0 -119
  413. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/go.sum/depJSON.sh +0 -23
  414. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/gradle/1/build.gradle +0 -26
  415. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/gradle/2/build.gradle +0 -16
  416. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/NoDependencies.csproj +0 -115
  417. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/netcore-2.csproj +0 -18
  418. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/netcore.csproj +0 -14
  419. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/packageConfig-1/packages.config +0 -5
  420. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/pom.xml/1/pom.xml +0 -670
  421. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/pom.xml/2/pom.xml +0 -780
  422. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/generate_expected_output.sh +0 -4
  423. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1/yarn.lock +0 -50
  424. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1/yarn.lock-expected +0 -13
  425. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1-complex/yarn.lock +0 -27
  426. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1-complex/yarn.lock-expected +0 -8
  427. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1_2/scancode-out.json +0 -149662
  428. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1_2/yarn.lock +0 -8409
  429. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1_2/yarn.lock-expected +0 -1153
  430. package/tests/sdk/Scanner/WfpProvider/WfpCalculator/WfpCalculator.spec.ts +0 -102
  431. package/tests/sdk/Scanner/WfpProvider/WfpCalculator/samples/file1.c +0 -41
  432. package/tests/sdk/Scanner/WfpProvider/WfpCalculator/samples/file2.go +0 -87
  433. package/tests/sdk/Scanner/WfpProvider/WfpSplitter/WfpSplitter.spec.ts +0 -35
  434. package/tests/sdk/Scanner/WfpProvider/WfpSplitter/samples/wfp.wfp +0 -68
  435. package/tests/sdk/Scanner/WfpProvider/WfpSplitter/samples/wfp.wfp~ +0 -68
  436. package/tsconfig.json +0 -31
  437. package/tsconfig.module.json +0 -11
  438. package/yarn.lock +0 -5481
@@ -1,195 +0,0 @@
1
- import {
2
- ComponentDataLayer,
3
- DataProvider,
4
- Health,
5
- IDataLayers
6
- } from '../DataLayerTypes';
7
- import {
8
- ScannerComponent,
9
- ScannerResults
10
- } from '../../scanner/ScannerTypes';
11
- import { IDependencyResponse } from '../../Dependencies/DependencyTypes';
12
-
13
- export class ComponentDataProvider implements DataProvider {
14
-
15
- private scanRawResults: ScannerResults
16
-
17
- private componentList: Array<ScannerComponent>;
18
-
19
- private dependencies: IDependencyResponse;
20
-
21
- constructor(scanRawResults: ScannerResults, dependencies?: IDependencyResponse) {
22
- this.scanRawResults=scanRawResults;
23
- this.dependencies = dependencies;
24
- }
25
-
26
- public getLayerName(): string {
27
- return this.constructor.name;
28
- }
29
-
30
- public getData(): IDataLayers {
31
- const componentLayer = <IDataLayers>{component: null};
32
-
33
- if (!this.scanRawResults && !this.dependencies) return componentLayer;
34
-
35
-
36
- //Extract all components from scanRawResults, does not matter if there are duplicated
37
- //And removes all no match results.
38
- this.componentList = Object.values(this.scanRawResults).flat();
39
- this.componentList = this.componentList.filter(component => component.id!=='none')
40
- const scannerComponentLayer = this.parseComponentsFromScanner(this.componentList);
41
- const dependenciesComponentLayer = this.parseComponentsFromDependencies(this.dependencies);
42
-
43
- componentLayer.component = [...scannerComponentLayer, ...dependenciesComponentLayer].sort(
44
- (itemA, itemB) => {
45
- if ( itemA.name < itemB.name) return -1;
46
- else if( itemA.name > itemB.name) return 1;
47
- return 0;
48
- });
49
-
50
- if(!componentLayer.component.length) componentLayer.component=null;
51
-
52
- return componentLayer
53
-
54
- }
55
-
56
- private parseComponentsFromDependencies(dependencies: IDependencyResponse): Array<ComponentDataLayer> {
57
- const componentLayer: Array<ComponentDataLayer> = [];
58
- if (!dependencies) return componentLayer;
59
-
60
- dependencies.filesList.forEach(file => {
61
- file.dependenciesList.forEach(dependency => {
62
- const newComponent: ComponentDataLayer = <ComponentDataLayer>{};
63
- newComponent.key = dependency.purl;
64
- newComponent.purls = [dependency.purl];
65
- newComponent.name = dependency.component;
66
- newComponent.url = null;
67
- newComponent.vendor = null;
68
- newComponent.health = null;
69
- newComponent.versions = [{
70
- version: dependency.version,
71
- licenses: dependency.licensesList.map(license => license.spdxId),
72
- copyrights: null,
73
- cryptography: null,
74
- quality: null,
75
- }];
76
-
77
- const existingComponent = componentLayer.find(component => component.key === newComponent.key);
78
- if (existingComponent) {
79
- const existingVersion = existingComponent.versions.find(version => version.version === newComponent.versions[0].version);
80
- if(!existingVersion) existingComponent.versions.push({
81
- version : newComponent.versions[0].version,
82
- licenses: newComponent.versions[0].licenses,
83
- copyrights: newComponent.versions[0].copyrights,
84
- quality: null,
85
- cryptography: null,
86
- });
87
- } else { //Component does not exist, insert as it is.
88
- componentLayer.push(newComponent);
89
- }
90
-
91
- });
92
- });
93
- return componentLayer;
94
- }
95
-
96
- private parseComponentsFromScanner(scanComponents: Array<ScannerComponent>): Array<ComponentDataLayer> {
97
- const componentLayer: Array<ComponentDataLayer> = [];
98
- if (!scanComponents) return componentLayer
99
-
100
- for (let i=0 ; i<scanComponents.length ; i++) {
101
-
102
- try {
103
-
104
- // qualityValue would have a number from 0 to 5 or undefined.
105
- const qualityValue = Number(scanComponents[i]?.quality?.shift()?.score?.split("/").shift());
106
-
107
-
108
- //Generates a new component
109
- const newComponent: ComponentDataLayer = {
110
- key: scanComponents[i].purl[0],
111
- purls: scanComponents[i].purl,
112
- name: scanComponents[i].component,
113
- url: scanComponents[i].url,
114
- vendor: scanComponents[i].vendor,
115
- health: scanComponents[i].health,
116
- versions: [{
117
- version: scanComponents[i].version,
118
- licenses: scanComponents[i].licenses.map(license => license.name),
119
- copyrights: scanComponents[i].copyrights,
120
- quality: { sum: 0, scoreAvg: 0, count: 0 },
121
- cryptography: scanComponents[i]?.cryptography,
122
- }]
123
- };
124
-
125
- //Removes duplicated licenses
126
- newComponent.versions[0].licenses = [...new Set(newComponent.versions[0].licenses)]
127
-
128
- if(qualityValue) {
129
- newComponent.versions[0].quality.count = 1;
130
- newComponent.versions[0].quality.sum = qualityValue;
131
- newComponent.versions[0].quality.scoreAvg = qualityValue;
132
- }
133
-
134
- //Merge new component in componentList
135
- const componentTarget = componentLayer.find(component => component.key === newComponent.key);
136
- if (componentTarget) {
137
- const versionTarget = componentTarget.versions.find(item => item.version === newComponent.versions[0].version);
138
- if (versionTarget) {
139
-
140
- //Insert licenses
141
- newComponent.versions[0].licenses.forEach(licence => {
142
- if (!versionTarget.licenses.includes(licence)) versionTarget.licenses.push(licence);
143
- });
144
-
145
- //Insert copyright
146
- newComponent.versions[0]?.copyrights?.forEach(newCopyright => {
147
- if (versionTarget.copyrights.every(copyright => newCopyright.name != copyright.name)) {
148
- versionTarget.copyrights.push(newCopyright);
149
- }
150
- });
151
-
152
- //Insert cryptography
153
- newComponent.versions[0]?.cryptography?.forEach(newCryptoAlgo => {
154
- if (versionTarget.cryptography.every(cryptoAlgorithm => cryptoAlgorithm.algorithm != newCryptoAlgo.algorithm)) {
155
- versionTarget.cryptography.push(newCryptoAlgo);
156
- }
157
- });
158
-
159
- //recalculate quality average in case we have a quality value
160
- if (qualityValue) {
161
- versionTarget.quality.count++;
162
- versionTarget.quality.sum += Number(qualityValue);
163
- versionTarget.quality.scoreAvg = versionTarget.quality.sum / versionTarget.quality.count
164
- }
165
-
166
-
167
-
168
- } else {
169
- //newComponent version is not included in the component with same purl key
170
- componentTarget.versions = componentTarget.versions.concat(newComponent.versions);
171
- }
172
- } else componentLayer.push(newComponent);
173
-
174
- } catch (e) {
175
- console.error(`Problem inserting new component building Component Data Layer - `, e);
176
- }
177
- }
178
-
179
- //Replace [] for null in versions
180
- for (let i=0 ; i<componentLayer.length ; i++) {
181
- if(!componentLayer[i].health) componentLayer[i].health = null;
182
- componentLayer[i].versions.forEach(version => {
183
- if(version.copyrights?.length == 0) version.copyrights = null;
184
- if(version.licenses?.length == 0) version.licenses = null;
185
- if(version.cryptography?.length === 0) version.cryptography = null;
186
- if(version.quality.count === 0 ) version.quality = null;
187
- })
188
- }
189
-
190
- return componentLayer;
191
-
192
- }
193
-
194
- }
195
-
@@ -1,48 +0,0 @@
1
- import {
2
- DataProvider,
3
- IDataLayers,
4
- DependencyDataLayer,
5
- License, Dependency
6
- } from '../DataLayerTypes';
7
- import { IDependencyResponse } from '../../Dependencies/DependencyTypes';
8
-
9
- export class DependencyDataProvider implements DataProvider {
10
-
11
- private dependencies: IDependencyResponse;
12
-
13
- constructor(dependencies: IDependencyResponse) {
14
- this.dependencies = dependencies;
15
- }
16
-
17
- public getLayerName(): string {
18
- return this.constructor.name;
19
- }
20
-
21
- public getData(): IDataLayers {
22
- const dependencyLayer = <IDataLayers>{dependencies: null};
23
- if(!this.dependencies) return dependencyLayer;
24
- const parsedDepLayer = this.parseDependencyData(this.dependencies);
25
- dependencyLayer.dependencies = parsedDepLayer;
26
- if (!dependencyLayer.dependencies.length) dependencyLayer.dependencies=null;
27
-
28
- return dependencyLayer;
29
- }
30
-
31
- public parseDependencyData(dependencies: IDependencyResponse): DependencyDataLayer[]{
32
- const dependencyLayer: Array<DependencyDataLayer> = [];
33
-
34
- dependencies.filesList.forEach(file => {
35
- const newDependencies: Array<Dependency> = [];
36
- file.dependenciesList.forEach(dependency => {
37
- const newLicenses: Array<License> = [];
38
- dependency.licensesList.forEach((license) => {
39
- newLicenses.push({name: license.name, spdxid: license.spdxId});
40
- });
41
- newDependencies.push({purl: dependency.purl, licenses: newLicenses, version: dependency.version, component: dependency.component});
42
- });
43
- dependencyLayer.push({file: file.file, dependencies: newDependencies});
44
- });
45
-
46
- return dependencyLayer;
47
- }
48
- }
@@ -1,184 +0,0 @@
1
- import {
2
- DataProvider,
3
- IDataLayers,
4
- LicenseComponent,
5
- LicenseDataLayer
6
- } from '../DataLayerTypes';
7
- import {
8
- ScannerComponent,
9
- ScannerResults
10
- } from '../../scanner/ScannerTypes';
11
- import { IDependencyResponse } from '../../Dependencies/DependencyTypes';
12
-
13
- export class LicenseDataProvider implements DataProvider {
14
-
15
- private scanResults: ScannerResults
16
-
17
- private componentList: ScannerComponent[];
18
-
19
- private dependencies: IDependencyResponse;
20
-
21
- private licenseStorage: Record<string, LicenseDataLayer>;
22
-
23
- private licenseLayer: Array<LicenseDataLayer>;
24
-
25
- constructor(scanResults: ScannerResults, dependencies?: IDependencyResponse ) {
26
- this.scanResults = scanResults;
27
- this.dependencies = dependencies;
28
-
29
- //Maps a license name to its own data
30
- this.licenseStorage = {};
31
- this.licenseLayer = [];
32
- }
33
-
34
- public getLayerName(): string {
35
- return this.constructor.name;
36
- }
37
-
38
- public getData(): IDataLayers {
39
-
40
- this.componentList = Object.values(this.scanResults).flat();
41
- this.componentList = this.componentList.filter(component => component.id!=='none')
42
-
43
- if (this.componentList.length >0)
44
- this.updateLicenseStorageFromComponentList();
45
-
46
- if (this.dependencies && this.dependencies.filesList.length > 0)
47
- this.updateLicenseStorageFromDependencies();
48
-
49
-
50
- this.licenseLayer = Object.values(this.licenseStorage);
51
- if (this.licenseLayer.length > 0)
52
- this.updateIncompatibilities();
53
-
54
- this.licenseLayer.sort((itemA, itemB) => {
55
- if (itemA.value > itemB.value) return -1
56
- else if (itemA.value < itemB.value) return 1
57
- return 0;
58
- });
59
-
60
- return {licenses: this.licenseLayer} as IDataLayers
61
- }
62
-
63
- //Gets all license from the result of scan and stores in this.licenseStorage map
64
- private updateLicenseStorageFromComponentList() {
65
- this.componentList.forEach(component => {
66
- component.licenses.forEach((license) => {
67
-
68
- const newLicenseComponent: LicenseComponent = <LicenseComponent>{};
69
- newLicenseComponent.purl = component.purl[0];
70
- newLicenseComponent.vendor = component.vendor;
71
- newLicenseComponent.versions = [component.version];
72
- newLicenseComponent.name = component.component
73
- newLicenseComponent.url = component.url;
74
-
75
- const licenseExist = !!this.licenseStorage[license.name];
76
- if(!licenseExist){
77
- const newLicense: LicenseDataLayer = <LicenseDataLayer>{};
78
- newLicense.value = 1;
79
- newLicense.label = license.name;
80
- newLicense.copyleft = license.copyleft === 'yes' ? true : false;
81
- newLicense.hasIncompatibles = [];
82
- newLicense.incompatibleWith = license.incompatible_with!== undefined ? license.incompatible_with.split(',').map(il=> il.trim()) : [];
83
- newLicense.components = [newLicenseComponent];
84
- this.licenseStorage[license.name] = newLicense;
85
- } else {
86
- this.licenseStorage[license.name] = this.insertComponentIntoLicense(this.licenseStorage[license.name], newLicenseComponent);
87
- }
88
- });
89
- });
90
- }
91
-
92
- //Gets all licenses from results of dependency analysis
93
- private updateLicenseStorageFromDependencies() {
94
- this.dependencies.filesList.forEach(file => {
95
- file.dependenciesList.forEach(dependency => {
96
- dependency.licensesList.forEach(license => {
97
-
98
-
99
- const newLicenseComponent = <LicenseComponent>{};
100
- newLicenseComponent.purl = dependency.purl;
101
- newLicenseComponent.versions = [dependency.version];
102
- newLicenseComponent.name = dependency.component;
103
- newLicenseComponent.vendor = null;
104
- newLicenseComponent.url = null;
105
-
106
- if(license.spdxId !== '') {
107
- license.spdxId.split(/;|\//g).forEach(license_name => {
108
-
109
- const licenseExist = !!this.licenseStorage[license_name];
110
- if (!licenseExist) {
111
- const newLicense: LicenseDataLayer = <LicenseDataLayer>{};
112
- newLicense.value = 1;
113
- newLicense.label = license_name;
114
- newLicense.copyleft = false;
115
- newLicense.hasIncompatibles = [];
116
- newLicense.incompatibleWith = [];
117
- newLicense.components = [newLicenseComponent];
118
- this.licenseStorage[license_name] = newLicense;
119
- } else {
120
- this.licenseStorage[license_name] = this.insertComponentIntoLicense(this.licenseStorage[license_name], newLicenseComponent);
121
- }
122
- });
123
- } else { // Unknown license
124
- const licenseExist = !!this.licenseStorage['unknown'];
125
- if (!licenseExist) {
126
- const newLicense: LicenseDataLayer = <LicenseDataLayer>{};
127
- newLicense.value = 1;
128
- newLicense.label = 'unknown';
129
- newLicense.copyleft = false;
130
- newLicense.hasIncompatibles = [];
131
- newLicense.incompatibleWith = [];
132
- newLicense.components = [newLicenseComponent];
133
- this.licenseStorage['unknown'] = newLicense;
134
- } else{
135
- this.licenseStorage['unknown'] = this.insertComponentIntoLicense(this.licenseStorage['unknown'], newLicenseComponent);
136
- }
137
- }
138
- });
139
- });
140
- });
141
- }
142
-
143
- private updateIncompatibilities() {
144
- for (let l = 0; l < this.licenseLayer.length; l += 1) {
145
- const license = this.licenseLayer[l];
146
- if (license.incompatibleWith !== undefined)
147
- for (let i = 0; i < license.incompatibleWith.length; i += 1) {
148
- if (this.licenseLayer.some((lic) => lic.label === license.incompatibleWith[i]))
149
- license.hasIncompatibles.push(license.incompatibleWith[i]);
150
- }
151
- }
152
- }
153
-
154
-
155
- private insertComponentIntoLicense(license: LicenseDataLayer, newComponent: LicenseComponent): LicenseDataLayer {
156
- const componentIndex = license.components.findIndex((c)=> c.purl === newComponent.purl);
157
- if (componentIndex >= 0) { //if newComponent exist in license
158
- const versionExist = !!license.components[componentIndex].versions.find((version)=>version === newComponent.versions[0]);
159
- if (!versionExist) {
160
- license.components[componentIndex].versions.push(newComponent.versions[0]);
161
- license.value++;
162
- }
163
- } else {
164
- license.components.push(newComponent);
165
- license.value++;
166
- }
167
- return license;
168
- }
169
-
170
- private unknownLicensesToEnd(){
171
- // let unknownLicenses = null;
172
- // if(this.licenseMapper['unknown']){
173
- // unknownLicenses = this.licenseMapper['unknown'];
174
- // delete this.licenseMapper['unknown'];
175
- // }
176
- //
177
- // this.licenses = Object.values((this.licenseMapper));
178
- // if(unknownLicenses){
179
- // this.licenses.push(unknownLicenses);
180
- // }
181
- }
182
-
183
-
184
- }
@@ -1,47 +0,0 @@
1
- import { DataProvider, IDataLayers, SummaryDataLayer } from '../DataLayerTypes';
2
- import {
3
- ScannerComponent,
4
- ScannerComponentId,
5
- ScannerResults
6
- } from '../../scanner/ScannerTypes';
7
-
8
- export class SummaryDataProvider implements DataProvider {
9
-
10
- private scannerResults: ScannerResults;
11
-
12
- private summary: SummaryDataLayer;
13
-
14
- private projectName: string;
15
-
16
- private projectCreateAt: Date;
17
-
18
- constructor(projectName: string, projectCreatedAt: Date, scannerResults: ScannerResults) {
19
- this.scannerResults = scannerResults;
20
- this.projectName = projectName;
21
- this.projectCreateAt = projectCreatedAt
22
- this.summary = <SummaryDataLayer>{};
23
- }
24
-
25
- public getLayerName(): string {
26
- return this.constructor.name;
27
- }
28
-
29
- public getData(): IDataLayers {
30
- this.summary.projectName = this.projectName;
31
- this.summary.timestamp = this.projectCreateAt;
32
- this.summary.totalFiles = 0;
33
- this.summary.noMatchFiles = 0;
34
- this.summary.matchedFiles = 0;
35
-
36
- for (const [file, components] of Object.entries(this.scannerResults)) {
37
- components.forEach(component => {
38
- if (component.id==ScannerComponentId.NONE) this.summary.noMatchFiles++;
39
- else this.summary.matchedFiles++;
40
- this.summary.totalFiles++;
41
- });
42
- }
43
-
44
- return <IDataLayers>{summary: this.summary};
45
- }
46
-
47
- }
@@ -1,91 +0,0 @@
1
- import path from 'path';
2
- import fs from 'fs';
3
- import { Tree } from '../tree/Tree';
4
- import { DecompressionFilter } from '../tree/Filters/DecompressionFilter';
5
- import { Decompressor } from './Decompressor/Decompressor';
6
- import { DecompressZip } from './Decompressor/DecompressZips';
7
- import { DecompressTgz } from './Decompressor/DecompressTgz';
8
-
9
- export class DecompressionManager {
10
-
11
- private decompressorList: Array<Decompressor>
12
-
13
- private decompressionLevel: number;
14
-
15
- private suffix: string;
16
-
17
- private decompressOverride: boolean; //When true: Decompress files into <zip_name>-<suffix> whether folder exist or not
18
- //When false: Decompress files into <zip_name>-<suffix>-X where X can be any number until find a free folder name
19
-
20
- constructor(decompressionLevel: number = 1, suffix: string = "-unzipped", decompressOverride: boolean = false) {
21
- this.decompressionLevel = decompressionLevel;
22
- this.decompressOverride = decompressOverride;
23
- this.suffix = suffix;
24
- this.decompressorList = [
25
- new DecompressTgz(),
26
- new DecompressZip()
27
- ];
28
-
29
- }
30
-
31
- public addDecompressor(d: Decompressor) {
32
- this.decompressorList.push(d);
33
- }
34
-
35
- public getSupportedFormats(): Array<string> {
36
- const supportedFormats = [];
37
- this.decompressorList.forEach((d) => {
38
- supportedFormats.push(...d.getSupportedFormats())
39
- });
40
- return supportedFormats;
41
- }
42
-
43
- public async decompress(archivesPaths: Array<string>): Promise<Array<string>> {
44
- for (const archivePath of archivesPaths) await this.decompressRecursive(archivePath, 0);
45
- const parentFoldersPath = archivesPaths.map(archivePath => `${archivePath}${this.suffix}`);
46
- return parentFoldersPath;
47
- }
48
-
49
-
50
- public async decompressRecursive(archivePath: string, level: number): Promise<void> {
51
- if(level>=this.decompressionLevel) return
52
-
53
- const archiveRootPath = path.dirname(archivePath);
54
- const archiveName = path.basename(archivePath);
55
- let newFolderPath = `${archiveRootPath}${path.sep}${archiveName}${this.suffix}`;
56
-
57
- const isSupported = this.decompressorList.some((d) => d.isSupported(archiveName))
58
- if(isSupported) {
59
-
60
-
61
- let i = 0;
62
- const r = new RegExp("(?<=" + this.suffix +")-\\d+$") //Selects last -X where X is a number
63
- while( !this.decompressOverride && fs.existsSync(newFolderPath) ) { //Search for a free name
64
- newFolderPath = newFolderPath.replace(r, "");
65
- newFolderPath += `-${i}`
66
- i++;
67
- }
68
-
69
- await fs.promises.mkdir(newFolderPath, { recursive: true });
70
-
71
- //Search for decompressor and extract archive
72
- for (const d of this.decompressorList) {
73
- if (d.isSupported(archiveName)) {
74
- await d.run(archivePath, newFolderPath);
75
- break;
76
- }
77
- }
78
-
79
-
80
- //Search for new archives
81
- const tree = new Tree(newFolderPath);
82
- tree.build()
83
- const newFilesPath = tree.getFileList(new DecompressionFilter(""));
84
- for (const newFilePath of newFilesPath) {
85
- await this.decompressRecursive(newFilePath, level+1);
86
- }
87
- }
88
-
89
- }
90
-
91
- }
@@ -1,20 +0,0 @@
1
- import { Decompressor } from './Decompressor';
2
- import fs from 'fs';
3
- import tar from 'tar';
4
-
5
- export class DecompressTgz extends Decompressor{
6
-
7
- constructor() {
8
- super();
9
- this.supportedFormats = [
10
- ".tar.gz",
11
- ".tgz",
12
- ".tar",
13
- ]
14
- }
15
-
16
- public async run(archivePath: string, destPath: string): Promise<void> {
17
- return tar.x({C: destPath, file: archivePath});
18
- }
19
-
20
- }
@@ -1,21 +0,0 @@
1
- import { Decompressor } from './Decompressor';
2
- import AdmZip from 'adm-zip';
3
-
4
- export class DecompressZip extends Decompressor{
5
-
6
- constructor() {
7
- super();
8
- this.supportedFormats = [
9
- ".zip",
10
- ".jar",
11
- ".ear",
12
- ".war"
13
- ]
14
- }
15
-
16
- public async run(archivePath: string, destPath: string): Promise<void> {
17
- const zip = new AdmZip(archivePath);
18
- zip.extractAllTo(destPath);
19
- }
20
-
21
- }
@@ -1,20 +0,0 @@
1
- export abstract class Decompressor {
2
- protected supportedFormats: Array<string>;
3
-
4
- public abstract async run(archivePath: string, destPath: string): Promise<void>;
5
-
6
- public isSupported(filename: string) {
7
- if (this.supportedFormats.some((format) => filename.endsWith(format))) return true;
8
- return false;
9
- }
10
-
11
-
12
- /**
13
- * Returns the extension supported by this decompressor
14
- * Includes the '.' appended
15
- */
16
- public getSupportedFormats(): Array<string> {
17
- return this.supportedFormats;
18
- }
19
-
20
- }