scanoss 0.7.9 → 0.7.11

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 (424) hide show
  1. package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
  2. package/build/main/tsconfig.tsbuildinfo +1 -1
  3. package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
  4. package/build/module/tsconfig.module.tsbuildinfo +1 -1
  5. package/package.json +2 -2
  6. package/.circleci/config.yml +0 -64
  7. package/.cspell.json +0 -36
  8. package/.editorconfig +0 -15
  9. package/.eslintrc.json +0 -37
  10. package/.github/workflows/reuse.yml +0 -15
  11. package/.github/workflows/scanoss.yml +0 -24
  12. package/.gitignore +0 -10
  13. package/.idea/.gitignore +0 -5
  14. package/.idea/codeStyles/Project.xml +0 -61
  15. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  16. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  17. package/.idea/modules.xml +0 -8
  18. package/.idea/scanoss.js.iml +0 -12
  19. package/.idea/vcs.xml +0 -6
  20. package/.idea/workspace.xml +0 -313
  21. package/.nyc_output/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +0 -1
  22. package/.nyc_output/processinfo/3da9f448-90e4-4399-887b-e4fd1b8d7052.json +0 -1
  23. package/.nyc_output/processinfo/index.json +0 -1
  24. package/.prettierignore +0 -2
  25. package/.reuse/dep5 +0 -16
  26. package/.vscode/extensions.json +0 -8
  27. package/.vscode/launch.json +0 -29
  28. package/.vscode/settings.json +0 -7
  29. package/LICENSES/CC0-1.0.txt +0 -121
  30. package/LICENSES/MIT.txt +0 -9
  31. package/assets/ReportHTMLTemplate/index.html +0 -1181
  32. package/build/main/package.json +0 -120
  33. package/build/main/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
  34. package/build/main/sdk/filters/DefaultFilterForDependencies.js +0 -145
  35. package/build/main/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
  36. package/build/main/sdk/filters/DefaultFilterForScanning.js +0 -194
  37. package/build/main/sdk/filters/filtering.d.ts +0 -32
  38. package/build/main/sdk/filters/filtering.js +0 -228
  39. package/build/main/src/cli/bin/cli-bin.d.ts +0 -2
  40. package/build/main/src/cli/bin/cli-bin.js +0 -68
  41. package/build/main/src/cli/commands/dep.d.ts +0 -1
  42. package/build/main/src/cli/commands/dep.js +0 -38
  43. package/build/main/src/cli/commands/helpers.d.ts +0 -2
  44. package/build/main/src/cli/commands/helpers.js +0 -25
  45. package/build/main/src/cli/commands/scan.d.ts +0 -1
  46. package/build/main/src/cli/commands/scan.js +0 -138
  47. package/build/main/src/cli/commands/wfp.d.ts +0 -1
  48. package/build/main/src/cli/commands/wfp.js +0 -54
  49. package/build/main/src/index.d.ts +0 -14
  50. package/build/main/src/index.js +0 -30
  51. package/build/main/src/sdk/DataLayer/DataLayerTypes.d.ts +0 -108
  52. package/build/main/src/sdk/DataLayer/DataLayerTypes.js +0 -5
  53. package/build/main/src/sdk/DataLayer/DataProviderManager.d.ts +0 -7
  54. package/build/main/src/sdk/DataLayer/DataProviderManager.js +0 -24
  55. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +0 -13
  56. package/build/main/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +0 -164
  57. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +0 -9
  58. package/build/main/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +0 -37
  59. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +0 -18
  60. package/build/main/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +0 -148
  61. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +0 -11
  62. package/build/main/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +0 -33
  63. package/build/main/src/sdk/Decompress/DecompressionManager.d.ts +0 -12
  64. package/build/main/src/sdk/Decompress/DecompressionManager.js +0 -73
  65. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +0 -5
  66. package/build/main/src/sdk/Decompress/Decompressor/DecompressTgz.js +0 -22
  67. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +0 -5
  68. package/build/main/src/sdk/Decompress/Decompressor/DecompressZips.js +0 -24
  69. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.d.ts +0 -10
  70. package/build/main/src/sdk/Decompress/Decompressor/Decompressor.js +0 -18
  71. package/build/main/src/sdk/Dependencies/DependencyScanner.d.ts +0 -11
  72. package/build/main/src/sdk/Dependencies/DependencyScanner.js +0 -96
  73. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -4
  74. package/build/main/src/sdk/Dependencies/DependencyScannerCfg.js +0 -10
  75. package/build/main/src/sdk/Dependencies/DependencyTypes.d.ts +0 -21
  76. package/build/main/src/sdk/Dependencies/DependencyTypes.js +0 -2
  77. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +0 -16
  78. package/build/main/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +0 -2
  79. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +0 -8
  80. package/build/main/src/sdk/Dependencies/LocalDependency/LocalDependency.js +0 -102
  81. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +0 -2
  82. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +0 -95
  83. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +0 -3
  84. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +0 -97
  85. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +0 -2
  86. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +0 -183
  87. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +0 -13
  88. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +0 -187
  89. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +0 -3
  90. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +0 -58
  91. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +0 -2
  92. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +0 -64
  93. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +0 -3
  94. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +0 -132
  95. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +0 -2
  96. package/build/main/src/sdk/Dependencies/LocalDependency/parsers/utils.js +0 -19
  97. package/build/main/src/sdk/Report/Report.d.ts +0 -8
  98. package/build/main/src/sdk/Report/Report.js +0 -26
  99. package/build/main/src/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
  100. package/build/main/src/sdk/filters/DefaultFilterForDependencies.js +0 -145
  101. package/build/main/src/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
  102. package/build/main/src/sdk/filters/DefaultFilterForScanning.js +0 -194
  103. package/build/main/src/sdk/filters/filtering.d.ts +0 -32
  104. package/build/main/src/sdk/filters/filtering.js +0 -228
  105. package/build/main/src/sdk/grpc/GrpcDependencyService.d.ts +0 -11
  106. package/build/main/src/sdk/grpc/GrpcDependencyService.js +0 -86
  107. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  108. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -2
  109. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
  110. package/build/main/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +0 -404
  111. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -39
  112. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
  113. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
  114. package/build/main/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1197
  115. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -19
  116. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -66
  117. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
  118. package/build/main/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -14
  119. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +0 -19
  120. package/build/main/src/sdk/scanner/Dispatcher/DispatchableItem.js +0 -43
  121. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +0 -20
  122. package/build/main/src/sdk/scanner/Dispatcher/Dispatcher.js +0 -160
  123. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +0 -12
  124. package/build/main/src/sdk/scanner/Dispatcher/DispatcherResponse.js +0 -33
  125. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +0 -10
  126. package/build/main/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +0 -32
  127. package/build/main/src/sdk/scanner/Fingerprint.d.ts +0 -16
  128. package/build/main/src/sdk/scanner/Fingerprint.js +0 -78
  129. package/build/main/src/sdk/scanner/Scannable/ScannableItem.d.ts +0 -15
  130. package/build/main/src/sdk/scanner/Scannable/ScannableItem.js +0 -27
  131. package/build/main/src/sdk/scanner/Scanner.d.ts +0 -46
  132. package/build/main/src/sdk/scanner/Scanner.js +0 -283
  133. package/build/main/src/sdk/scanner/ScannerCfg.d.ts +0 -16
  134. package/build/main/src/sdk/scanner/ScannerCfg.js +0 -30
  135. package/build/main/src/sdk/scanner/ScannerTypes.d.ts +0 -121
  136. package/build/main/src/sdk/scanner/ScannerTypes.js +0 -48
  137. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +0 -9
  138. package/build/main/src/sdk/scanner/WfpProvider/FingerprintPackage.js +0 -31
  139. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +0 -20
  140. package/build/main/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +0 -492
  141. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +0 -35
  142. package/build/main/src/sdk/scanner/WfpProvider/WfpProvider.js +0 -68
  143. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +0 -21
  144. package/build/main/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +0 -139
  145. package/build/main/src/sdk/tree/File.d.ts +0 -7
  146. package/build/main/src/sdk/tree/File.js +0 -24
  147. package/build/main/src/sdk/tree/Filters/DecompressionFilter.d.ts +0 -7
  148. package/build/main/src/sdk/tree/Filters/DecompressionFilter.js +0 -21
  149. package/build/main/src/sdk/tree/Filters/DependencyFilter.d.ts +0 -7
  150. package/build/main/src/sdk/tree/Filters/DependencyFilter.js +0 -17
  151. package/build/main/src/sdk/tree/Filters/Filter.d.ts +0 -4
  152. package/build/main/src/sdk/tree/Filters/Filter.js +0 -6
  153. package/build/main/src/sdk/tree/Filters/ScanFilter.d.ts +0 -7
  154. package/build/main/src/sdk/tree/Filters/ScanFilter.js +0 -17
  155. package/build/main/src/sdk/tree/Folder.d.ts +0 -12
  156. package/build/main/src/sdk/tree/Folder.js +0 -58
  157. package/build/main/src/sdk/tree/Node.d.ts +0 -17
  158. package/build/main/src/sdk/tree/Node.js +0 -25
  159. package/build/main/src/sdk/tree/Tree.d.ts +0 -18
  160. package/build/main/src/sdk/tree/Tree.js +0 -70
  161. package/build/module/package.json +0 -120
  162. package/build/module/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
  163. package/build/module/sdk/filters/DefaultFilterForDependencies.js +0 -143
  164. package/build/module/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
  165. package/build/module/sdk/filters/DefaultFilterForScanning.js +0 -192
  166. package/build/module/sdk/filters/filtering.d.ts +0 -32
  167. package/build/module/sdk/filters/filtering.js +0 -203
  168. package/build/module/src/cli/bin/cli-bin.d.ts +0 -2
  169. package/build/module/src/cli/bin/cli-bin.js +0 -67
  170. package/build/module/src/cli/commands/dep.d.ts +0 -1
  171. package/build/module/src/cli/commands/dep.js +0 -32
  172. package/build/module/src/cli/commands/helpers.d.ts +0 -2
  173. package/build/module/src/cli/commands/helpers.js +0 -19
  174. package/build/module/src/cli/commands/scan.d.ts +0 -1
  175. package/build/module/src/cli/commands/scan.js +0 -135
  176. package/build/module/src/cli/commands/wfp.d.ts +0 -1
  177. package/build/module/src/cli/commands/wfp.js +0 -48
  178. package/build/module/src/index.d.ts +0 -14
  179. package/build/module/src/index.js +0 -19
  180. package/build/module/src/sdk/DataLayer/DataLayerTypes.d.ts +0 -108
  181. package/build/module/src/sdk/DataLayer/DataLayerTypes.js +0 -5
  182. package/build/module/src/sdk/DataLayer/DataProviderManager.d.ts +0 -7
  183. package/build/module/src/sdk/DataLayer/DataProviderManager.js +0 -21
  184. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.d.ts +0 -13
  185. package/build/module/src/sdk/DataLayer/DataProviders/ComponentDataProvider.js +0 -159
  186. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.d.ts +0 -9
  187. package/build/module/src/sdk/DataLayer/DataProviders/DependencyDataProvider.js +0 -34
  188. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.d.ts +0 -18
  189. package/build/module/src/sdk/DataLayer/DataProviders/LicenseDataProvider.js +0 -145
  190. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.d.ts +0 -11
  191. package/build/module/src/sdk/DataLayer/DataProviders/SummaryDataProvider.js +0 -30
  192. package/build/module/src/sdk/Decompress/DecompressionManager.d.ts +0 -12
  193. package/build/module/src/sdk/Decompress/DecompressionManager.js +0 -67
  194. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.d.ts +0 -5
  195. package/build/module/src/sdk/Decompress/Decompressor/DecompressTgz.js +0 -16
  196. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.d.ts +0 -5
  197. package/build/module/src/sdk/Decompress/Decompressor/DecompressZips.js +0 -18
  198. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.d.ts +0 -10
  199. package/build/module/src/sdk/Decompress/Decompressor/Decompressor.js +0 -15
  200. package/build/module/src/sdk/Dependencies/DependencyScanner.d.ts +0 -11
  201. package/build/module/src/sdk/Dependencies/DependencyScanner.js +0 -93
  202. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -4
  203. package/build/module/src/sdk/Dependencies/DependencyScannerCfg.js +0 -7
  204. package/build/module/src/sdk/Dependencies/DependencyTypes.d.ts +0 -21
  205. package/build/module/src/sdk/Dependencies/DependencyTypes.js +0 -2
  206. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +0 -16
  207. package/build/module/src/sdk/Dependencies/LocalDependency/DependencyTypes.js +0 -2
  208. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +0 -8
  209. package/build/module/src/sdk/Dependencies/LocalDependency/LocalDependency.js +0 -96
  210. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +0 -2
  211. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +0 -87
  212. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.d.ts +0 -3
  213. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/golangParser.js +0 -88
  214. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.d.ts +0 -2
  215. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +0 -180
  216. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.d.ts +0 -13
  217. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/npmParser.js +0 -175
  218. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.d.ts +0 -3
  219. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +0 -49
  220. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.d.ts +0 -2
  221. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/pyParser.js +0 -57
  222. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.d.ts +0 -3
  223. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +0 -125
  224. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.d.ts +0 -2
  225. package/build/module/src/sdk/Dependencies/LocalDependency/parsers/utils.js +0 -15
  226. package/build/module/src/sdk/Report/Report.d.ts +0 -8
  227. package/build/module/src/sdk/Report/Report.js +0 -20
  228. package/build/module/src/sdk/filters/DefaultFilterForDependencies.d.ts +0 -16
  229. package/build/module/src/sdk/filters/DefaultFilterForDependencies.js +0 -143
  230. package/build/module/src/sdk/filters/DefaultFilterForScanning.d.ts +0 -16
  231. package/build/module/src/sdk/filters/DefaultFilterForScanning.js +0 -192
  232. package/build/module/src/sdk/filters/filtering.d.ts +0 -32
  233. package/build/module/src/sdk/filters/filtering.js +0 -203
  234. package/build/module/src/sdk/grpc/GrpcDependencyService.d.ts +0 -11
  235. package/build/module/src/sdk/grpc/GrpcDependencyService.js +0 -64
  236. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -0
  237. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -2
  238. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -1
  239. package/build/module/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +0 -404
  240. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -39
  241. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -98
  242. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -1
  243. package/build/module/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1197
  244. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -19
  245. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -66
  246. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -1
  247. package/build/module/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -14
  248. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.d.ts +0 -19
  249. package/build/module/src/sdk/scanner/Dispatcher/DispatchableItem.js +0 -37
  250. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.d.ts +0 -20
  251. package/build/module/src/sdk/scanner/Dispatcher/Dispatcher.js +0 -135
  252. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.d.ts +0 -12
  253. package/build/module/src/sdk/scanner/Dispatcher/DispatcherResponse.js +0 -30
  254. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.d.ts +0 -10
  255. package/build/module/src/sdk/scanner/Dispatcher/GlobalControllerAborter.js +0 -26
  256. package/build/module/src/sdk/scanner/Fingerprint.d.ts +0 -16
  257. package/build/module/src/sdk/scanner/Fingerprint.js +0 -54
  258. package/build/module/src/sdk/scanner/Scannable/ScannableItem.d.ts +0 -15
  259. package/build/module/src/sdk/scanner/Scannable/ScannableItem.js +0 -24
  260. package/build/module/src/sdk/scanner/Scanner.d.ts +0 -46
  261. package/build/module/src/sdk/scanner/Scanner.js +0 -275
  262. package/build/module/src/sdk/scanner/ScannerCfg.d.ts +0 -16
  263. package/build/module/src/sdk/scanner/ScannerCfg.js +0 -27
  264. package/build/module/src/sdk/scanner/ScannerTypes.d.ts +0 -121
  265. package/build/module/src/sdk/scanner/ScannerTypes.js +0 -46
  266. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.d.ts +0 -9
  267. package/build/module/src/sdk/scanner/WfpProvider/FingerprintPackage.js +0 -28
  268. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +0 -20
  269. package/build/module/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +0 -486
  270. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.d.ts +0 -35
  271. package/build/module/src/sdk/scanner/WfpProvider/WfpProvider.js +0 -65
  272. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +0 -21
  273. package/build/module/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +0 -132
  274. package/build/module/src/sdk/tree/File.d.ts +0 -7
  275. package/build/module/src/sdk/tree/File.js +0 -19
  276. package/build/module/src/sdk/tree/Filters/DecompressionFilter.d.ts +0 -7
  277. package/build/module/src/sdk/tree/Filters/DecompressionFilter.js +0 -18
  278. package/build/module/src/sdk/tree/Filters/DependencyFilter.d.ts +0 -7
  279. package/build/module/src/sdk/tree/Filters/DependencyFilter.js +0 -14
  280. package/build/module/src/sdk/tree/Filters/Filter.d.ts +0 -4
  281. package/build/module/src/sdk/tree/Filters/Filter.js +0 -3
  282. package/build/module/src/sdk/tree/Filters/ScanFilter.d.ts +0 -7
  283. package/build/module/src/sdk/tree/Filters/ScanFilter.js +0 -14
  284. package/build/module/src/sdk/tree/Folder.d.ts +0 -12
  285. package/build/module/src/sdk/tree/Folder.js +0 -53
  286. package/build/module/src/sdk/tree/Node.d.ts +0 -17
  287. package/build/module/src/sdk/tree/Node.js +0 -22
  288. package/build/module/src/sdk/tree/Tree.d.ts +0 -18
  289. package/build/module/src/sdk/tree/Tree.js +0 -64
  290. package/package-lock.json +0 -17116
  291. package/src/cli/bin/cli-bin.ts +0 -81
  292. package/src/cli/commands/dep.ts +0 -37
  293. package/src/cli/commands/helpers.ts +0 -19
  294. package/src/cli/commands/scan.ts +0 -173
  295. package/src/cli/commands/wfp.ts +0 -60
  296. package/src/index.ts +0 -31
  297. package/src/sdk/DataLayer/DataLayerTypes.ts +0 -129
  298. package/src/sdk/DataLayer/DataProviderManager.ts +0 -27
  299. package/src/sdk/DataLayer/DataProviders/ComponentDataProvider.ts +0 -195
  300. package/src/sdk/DataLayer/DataProviders/DependencyDataProvider.ts +0 -48
  301. package/src/sdk/DataLayer/DataProviders/LicenseDataProvider.ts +0 -184
  302. package/src/sdk/DataLayer/DataProviders/SummaryDataProvider.ts +0 -47
  303. package/src/sdk/Decompress/DecompressionManager.ts +0 -91
  304. package/src/sdk/Decompress/Decompressor/DecompressTgz.ts +0 -20
  305. package/src/sdk/Decompress/Decompressor/DecompressZips.ts +0 -21
  306. package/src/sdk/Decompress/Decompressor/Decompressor.ts +0 -20
  307. package/src/sdk/Dependencies/DependencyScanner.ts +0 -108
  308. package/src/sdk/Dependencies/DependencyScannerCfg.ts +0 -7
  309. package/src/sdk/Dependencies/DependencyTypes.ts +0 -24
  310. package/src/sdk/Dependencies/LocalDependency/DependencyTypes.ts +0 -21
  311. package/src/sdk/Dependencies/LocalDependency/LocalDependency.ts +0 -111
  312. package/src/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.ts +0 -115
  313. package/src/sdk/Dependencies/LocalDependency/parsers/golangParser.ts +0 -130
  314. package/src/sdk/Dependencies/LocalDependency/parsers/mavenParser.ts +0 -209
  315. package/src/sdk/Dependencies/LocalDependency/parsers/npmParser.ts +0 -227
  316. package/src/sdk/Dependencies/LocalDependency/parsers/nugetParser.ts +0 -64
  317. package/src/sdk/Dependencies/LocalDependency/parsers/pyParser.ts +0 -58
  318. package/src/sdk/Dependencies/LocalDependency/parsers/rubyParser.ts +0 -174
  319. package/src/sdk/Dependencies/LocalDependency/parsers/utils.ts +0 -15
  320. package/src/sdk/FileCount/FileCount.ts +0 -81
  321. package/src/sdk/FileCount/FileCountFilter.ts +0 -14
  322. package/src/sdk/FileCount/Interfaces.ts +0 -23
  323. package/src/sdk/Filtering/DefaultFilterForDependencies.ts +0 -148
  324. package/src/sdk/Filtering/DefaultFilterForScanning.ts +0 -206
  325. package/src/sdk/Filtering/Filtering.ts +0 -273
  326. package/src/sdk/Report/Report.ts +0 -30
  327. package/src/sdk/grpc/GrpcDependencyService.ts +0 -72
  328. package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.d.ts +0 -1
  329. package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_grpc_pb.js +0 -1
  330. package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.d.ts +0 -79
  331. package/src/sdk/grpc/scanoss/api/common/v2/scanoss-common_pb.js +0 -482
  332. package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +0 -30
  333. package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +0 -109
  334. package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.d.ts +0 -206
  335. package/src/sdk/grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +0 -1489
  336. package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.d.ts +0 -25
  337. package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_grpc_pb.js +0 -73
  338. package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.d.ts +0 -6
  339. package/src/sdk/grpc/scanoss/api/scanning/v2/scanoss-scanning_pb.js +0 -15
  340. package/src/sdk/scanner/Dispatcher/DispatchableItem.ts +0 -62
  341. package/src/sdk/scanner/Dispatcher/Dispatcher.ts +0 -173
  342. package/src/sdk/scanner/Dispatcher/DispatcherResponse.ts +0 -40
  343. package/src/sdk/scanner/Dispatcher/GlobalControllerAborter.ts +0 -33
  344. package/src/sdk/scanner/Fingerprint.ts +0 -82
  345. package/src/sdk/scanner/Scannable/ScannableItem.ts +0 -43
  346. package/src/sdk/scanner/Scanner.ts +0 -360
  347. package/src/sdk/scanner/ScannerCfg.ts +0 -43
  348. package/src/sdk/scanner/ScannerTypes.ts +0 -127
  349. package/src/sdk/scanner/WfpProvider/FingerprintPackage.ts +0 -34
  350. package/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts +0 -516
  351. package/src/sdk/scanner/WfpProvider/WfpProvider.ts +0 -105
  352. package/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.ts +0 -184
  353. package/src/sdk/tree/File.ts +0 -22
  354. package/src/sdk/tree/Filters/DecompressionFilter.ts +0 -22
  355. package/src/sdk/tree/Filters/DependencyFilter.ts +0 -22
  356. package/src/sdk/tree/Filters/Filter.ts +0 -5
  357. package/src/sdk/tree/Filters/ScanFilter.ts +0 -22
  358. package/src/sdk/tree/Folder.ts +0 -57
  359. package/src/sdk/tree/Node.ts +0 -39
  360. package/src/sdk/tree/Tree.ts +0 -82
  361. package/tests/scanoss.sh +0 -56
  362. package/tests/sdk/DataLayer/DataProviders/ComponentDataProvider.spec.ts +0 -176
  363. package/tests/sdk/DataLayer/DataProviders/DependencyDataProvider.spec.ts +0 -51
  364. package/tests/sdk/DataLayer/DataProviders/SummaryDataProvider.spec.ts +0 -35
  365. package/tests/sdk/DataLayer/DataProviders/samples/results-with-dep.json +0 -665
  366. package/tests/sdk/DataLayer/DataProviders/samples/results.json +0 -556
  367. package/tests/sdk/DataLayer/samples/simple/results-with-dep.json +0 -665
  368. package/tests/sdk/DataLayer/samples/simple-1/output1.json +0 -1196
  369. package/tests/sdk/Dependencies/LocalDependency/LocalDependency.spec.ts +0 -24
  370. package/tests/sdk/Dependencies/LocalDependency/Parsers/buildGradle.spec.ts +0 -48
  371. package/tests/sdk/Dependencies/LocalDependency/Parsers/golangParser.spec.ts +0 -146
  372. package/tests/sdk/Dependencies/LocalDependency/Parsers/npmParser.spec.ts +0 -135
  373. package/tests/sdk/Dependencies/LocalDependency/Parsers/nugetParser.spec.ts +0 -73
  374. package/tests/sdk/Dependencies/LocalDependency/Parsers/pomParser.spec.ts +0 -45
  375. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/1/Gemfile +0 -6
  376. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/1/Gemfile~ +0 -0
  377. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/2/Gemfile +0 -3
  378. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/2/Gemfile~ +0 -6
  379. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/3/Gemfile +0 -7
  380. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/3/Gemfile~ +0 -6
  381. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/4/Gemfile +0 -31
  382. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile/4/Gemfile~ +0 -7
  383. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile.lock/1/Gemfile.lock +0 -180
  384. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile.lock/2/Gemfile.lock +0 -60
  385. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/Gemfile.lock/2/Gemfile.lock~ +0 -0
  386. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/go.sum/1/go.sum +0 -119
  387. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/go.sum/depJSON.sh +0 -23
  388. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/gradle/1/build.gradle +0 -26
  389. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/gradle/2/build.gradle +0 -16
  390. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/NoDependencies.csproj +0 -115
  391. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/netcore-2.csproj +0 -18
  392. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/netcore.csproj +0 -14
  393. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/nuget/packageConfig-1/packages.config +0 -5
  394. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/pom.xml/1/pom.xml +0 -670
  395. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/pom.xml/2/pom.xml +0 -780
  396. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/generate_expected_output.sh +0 -4
  397. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1/yarn.lock +0 -50
  398. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1/yarn.lock-expected +0 -13
  399. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1-complex/yarn.lock +0 -27
  400. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1-complex/yarn.lock-expected +0 -8
  401. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1_2/scancode-out.json +0 -149662
  402. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1_2/yarn.lock +0 -8409
  403. package/tests/sdk/Dependencies/LocalDependency/Parsers/samples/yarn-lock/v1_2/yarn.lock-expected +0 -1153
  404. package/tests/sdk/FileCount/FileCount.spec.ts +0 -35
  405. package/tests/sdk/FileCount/samples/16557/.y.ts +0 -27
  406. package/tests/sdk/FileCount/samples/16557/.z.ts +0 -129
  407. package/tests/sdk/FileCount/samples/16557/files/a.ts +0 -195
  408. package/tests/sdk/FileCount/samples/16557/files/b.ts +0 -184
  409. package/tests/sdk/FileCount/samples/16557/files/c.ts +0 -47
  410. package/tests/sdk/FileCount/samples/22036/files/a.ts +0 -195
  411. package/tests/sdk/FileCount/samples/22036/files/b.ts +0 -184
  412. package/tests/sdk/FileCount/samples/22036/files/c.ts +0 -47
  413. package/tests/sdk/FileCount/samples/22036/files/d.ts +0 -48
  414. package/tests/sdk/FileCount/samples/22036/y.ts +0 -27
  415. package/tests/sdk/FileCount/samples/22036/z.ts +0 -129
  416. package/tests/sdk/Scanner/WfpProvider/WfpCalculator/WfpCalculator.spec.ts +0 -102
  417. package/tests/sdk/Scanner/WfpProvider/WfpCalculator/samples/file1.c +0 -41
  418. package/tests/sdk/Scanner/WfpProvider/WfpCalculator/samples/file2.go +0 -87
  419. package/tests/sdk/Scanner/WfpProvider/WfpSplitter/WfpSplitter.spec.ts +0 -35
  420. package/tests/sdk/Scanner/WfpProvider/WfpSplitter/samples/wfp.wfp +0 -68
  421. package/tests/sdk/Scanner/WfpProvider/WfpSplitter/samples/wfp.wfp~ +0 -68
  422. package/tsconfig.json +0 -31
  423. package/tsconfig.module.json +0 -11
  424. package/yarn.lock +0 -5481
@@ -1,360 +0,0 @@
1
- /* eslint-disable no-console */
2
- // 2.0
3
- import EventEmitter from 'eventemitter3';
4
- import os from 'os';
5
- import fs from 'fs';
6
-
7
-
8
- import { Dispatcher } from './Dispatcher/Dispatcher';
9
-
10
- import { DispatchableItem } from './Dispatcher/DispatchableItem';
11
- import { DispatcherResponse } from './Dispatcher/DispatcherResponse';
12
- import { ScannerCfg } from './ScannerCfg';
13
- import { ScannerEvents, ScannerInput } from './ScannerTypes';
14
-
15
- import sortPaths from 'sort-paths';
16
-
17
- import { WfpProvider } from './WfpProvider/WfpProvider';
18
- import { FingerprintPackage } from './WfpProvider/FingerprintPackage';
19
- import { WfpCalculator } from './WfpProvider/WfpCalculator/WfpCalculator';
20
- import { WfpSplitter } from './WfpProvider/WfpSplitter/WfpSplitter';
21
-
22
- let finishPromiseResolve;
23
- let finishPromiseReject;
24
-
25
- export class Scanner extends EventEmitter {
26
- private scannerCfg: ScannerCfg;
27
-
28
- private workDirectory: string;
29
-
30
- private resultFilePath: string;
31
-
32
- private wfpFilePath: string;
33
-
34
- private scanRoot: string;
35
-
36
- private scannerId: string;
37
-
38
- private wfpProvider: WfpProvider;
39
-
40
- private dispatcher: Dispatcher;
41
-
42
- private finishPromise: Promise<string>;
43
-
44
- private scannerInput: Array<ScannerInput>;
45
-
46
- private scanFinished: boolean; // Both flags are used to prevent a race condition between DISPATCHER.NEW_DATA and DISPATCHER_FINISHED
47
-
48
- private processingNewData: boolean; // Both flags are used to prevent a race condition between DISPATCHER.NEW_DATA and DISPATCHER_FINISHED
49
-
50
- private processedFiles: number;
51
-
52
- private running: boolean;
53
-
54
- private filesToScan;
55
-
56
- private responseBuffer;
57
-
58
- private filesNotScanned;
59
-
60
- constructor(scannerCfg = new ScannerCfg()) {
61
- super();
62
- this.scannerCfg = scannerCfg;
63
- this.scannerId = new Date().getTime().toString();
64
- }
65
-
66
- public init() {
67
- this.scanFinished = false;
68
- this.processingNewData = false;
69
- this.running = true;
70
- this.processedFiles = 0;
71
- this.responseBuffer = [];
72
- this.filesToScan = {};
73
- this.filesNotScanned = {};
74
- this.wfpProvider = new WfpCalculator(this.scannerCfg);
75
- this.dispatcher = new Dispatcher(this.scannerCfg);
76
-
77
- this.finishPromise = new Promise((resolve, reject) =>{
78
- finishPromiseResolve = resolve;
79
- finishPromiseReject = reject;
80
- });
81
-
82
- this.setWinnowerListeners();
83
- this.setDispatcherListeners();
84
-
85
- if (this.workDirectory === undefined) this.setWorkDirectory(`${os.tmpdir()}/scanner-${this.getScannerId()}`);
86
- }
87
-
88
- private setWinnowerListeners() {
89
- this.wfpProvider.on(ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPackage: FingerprintPackage) => {
90
- this.emit(ScannerEvents.WINNOWING_NEW_CONTENT, fingerprintPackage);
91
- this.reportLog(`[ SCANNER ]: New WFP content`);
92
-
93
- const item = new DispatchableItem();
94
- item.setFingerprintPackage(fingerprintPackage);
95
- if(this.scannerInput[0]?.engineFlags) item.setEngineFlags(this.scannerInput[0]?.engineFlags);
96
-
97
- if(this.scannerInput[0]?.sbom && this.scannerInput[0]?.sbomMode)
98
- item.setSbom(this.scannerInput[0]?.sbom, this.scannerInput[0]?.sbomMode);
99
-
100
- this.dispatcher.dispatchItem(item);
101
- });
102
-
103
- this.wfpProvider.on(ScannerEvents.WINNOWING_STATUS, (newFilesProcessed)=>{
104
- this.emit(ScannerEvents.WINNOWING_STATUS, newFilesProcessed)
105
- });
106
-
107
- this.wfpProvider.on(ScannerEvents.WINNOWER_LOG, (msg) => {
108
- this.reportLog(msg);
109
- });
110
-
111
- this.wfpProvider.on(ScannerEvents.ERROR, (error) => {
112
- this.errorHandler(error, ScannerEvents.MODULE_WINNOWER);
113
- });
114
- }
115
-
116
- private setDispatcherListeners() {
117
- this.dispatcher.on(ScannerEvents.DISPATCHER_QUEUE_SIZE_MAX_LIMIT, () => {
118
- this.reportLog(`[ SCANNER ]: Maximum queue size reached. Winnower will be paused`);
119
- this.wfpProvider.pause();
120
- });
121
-
122
- this.dispatcher.on(ScannerEvents.DISPATCHER_QUEUE_SIZE_MIN_LIMIT, () => {
123
- this.reportLog(`[ SCANNER ]: Minimum queue size reached. Winnower will be resumed`);
124
- this.wfpProvider.resume();
125
- });
126
-
127
- this.dispatcher.on(ScannerEvents.DISPATCHER_NEW_DATA, async (response: DispatcherResponse) => {
128
- this.processingNewData = true;
129
- this.processedFiles += response.getNumberOfFilesScanned();
130
- this.reportLog(`[ SCANNER ]: Received results of ${response.getNumberOfFilesScanned()} files`);
131
- this.emit(ScannerEvents.DISPATCHER_NEW_DATA, response);
132
- this.insertIntoBuffer(response);
133
- if (this.bufferReachedLimit()) this.bufferToFiles(); //Uses sync to ensure no new data is appended to the buffer
134
- this.processingNewData = false;
135
- if (this.scanFinished) await this.finishJob();
136
- });
137
-
138
- this.dispatcher.on(ScannerEvents.DISPATCHER_FINISHED, async () => {
139
- if (!this.wfpProvider.hasPendingFiles()) {
140
- if (this.processingNewData) this.scanFinished = true;
141
- else await this.finishJob();
142
- }
143
- });
144
-
145
- this.dispatcher.on(ScannerEvents.DISPATCHER_ITEM_NO_DISPATCHED, (disptItem: DispatchableItem) => {
146
- const filesNotScanned = disptItem.getFingerprintPackage().getFilesFingerprinted();
147
- this.appendFilesToNotScanned(filesNotScanned);
148
- });
149
-
150
- this.wfpProvider.on(ScannerEvents.DISPATCHER_LOG, (msg) => {
151
- this.reportLog(msg);
152
- });
153
-
154
- this.dispatcher.on(ScannerEvents.ERROR, (error: Error, disptItem: DispatchableItem) => {
155
- const wfpContent = disptItem.getFingerprintPackage().getContent();
156
- fs.writeFileSync(`${this.workDirectory}/failed.wfp`, wfpContent, 'utf8');
157
- this.errorHandler(error, ScannerEvents.MODULE_DISPATCHER);
158
- });
159
- }
160
-
161
- private appendFilesToNotScanned(fileList) {
162
- const obj = {};
163
- // eslint-disable-next-line no-restricted-syntax
164
- for (const file of fileList) obj[file] = this.filesToScan[file];
165
- Object.assign(this.filesNotScanned, obj);
166
- return this.filesNotScanned;
167
- }
168
-
169
- private insertIntoBuffer(dispatcherResponse) {
170
- this.responseBuffer.push(dispatcherResponse);
171
- }
172
-
173
- private isBufferEmpty() {
174
- return this.responseBuffer.length === 0;
175
- }
176
-
177
- private bufferReachedLimit() {
178
- if (this.responseBuffer.length >= this.scannerCfg.MAX_RESPONSES_IN_BUFFER) return true;
179
- return false;
180
- }
181
-
182
- private bufferToFiles() {
183
- let wfpContent = '';
184
- const serverResponse = {};
185
- // eslint-disable-next-line no-restricted-syntax
186
- for (const dispatcherResponse of this.responseBuffer) {
187
- wfpContent += dispatcherResponse.getWfpContent();
188
- const serverResponseToAppend = dispatcherResponse.getServerResponse();
189
- Object.assign(serverResponse, serverResponseToAppend);
190
- }
191
- this.appendOutputFiles(wfpContent, serverResponse);
192
- this.responseBuffer = [];
193
- const responses = new DispatcherResponse(serverResponse, wfpContent);
194
- this.reportLog(`[ SCANNER ]: Persisted results of ${responses.getNumberOfFilesScanned()} files...`);
195
- this.emit(ScannerEvents.RESULTS_APPENDED, responses, this.filesNotScanned);
196
- return responses;
197
- }
198
-
199
- public setWorkDirectory(workDirectory: string) {
200
- this.workDirectory = workDirectory;
201
- this.resultFilePath = `${this.workDirectory}/result.json`;
202
- this.wfpFilePath = `${this.workDirectory}/winnowing.wfp`;
203
-
204
- if (!fs.existsSync(this.workDirectory)) fs.mkdirSync(this.workDirectory);
205
- }
206
-
207
- public getWorkDirectory(): string {
208
- return this.workDirectory;
209
- }
210
-
211
- public cleanWorkDirectory(): void {
212
- if (fs.existsSync(this.resultFilePath)) fs.unlinkSync(this.resultFilePath);
213
- if (fs.existsSync(this.wfpFilePath)) fs.unlinkSync(this.wfpFilePath);
214
- }
215
-
216
- private async finishJob() {
217
- this.scannerInput.shift();
218
- this.reportLog(`[ SCANNER ]: Job finished. ${this.scannerInput.length} pendings`);
219
-
220
- if(this.scannerInput.length) {
221
- if (this.scannerInput[0].wfpPath) {
222
- this.wfpProvider = new WfpSplitter();
223
- this.setWinnowerListeners();
224
- this.wfpProvider.start(this.scannerInput[0]);
225
- } else {
226
- const folderRoot = this.scannerInput[0].folderRoot;
227
- const winnowingMode = this.scannerInput[0].winnowingMode;
228
- const fileList = this.scannerInput[0].fileList;
229
- this.wfpProvider.start({folderRoot, winnowingMode, fileList});
230
- }
231
- } else await this.finishScan();
232
- }
233
-
234
- private async finishScan() {
235
- if (!this.isBufferEmpty()) this.bufferToFiles();
236
- const results = JSON.parse(await fs.promises.readFile(this.resultFilePath, 'utf8'));
237
- const sortedPaths = sortPaths(Object.keys(results), '/');
238
- const resultSorted = {};
239
- // eslint-disable-next-line no-restricted-syntax
240
- for (const key of sortedPaths) resultSorted[key] = results[key];
241
- await fs.promises.writeFile(this.resultFilePath, JSON.stringify(resultSorted, null, 2));
242
- this.reportLog(
243
- `[ SCANNER ]: Scan finished (Scanned: ${this.processedFiles}, Not Scanned: ${
244
- Object.keys(this.filesNotScanned).length
245
- })`
246
- );
247
- this.reportLog(`[ SCANNER ]: Results on: ${this.resultFilePath}`);
248
- this.running = false;
249
- this.emit(ScannerEvents.SCAN_DONE, this.resultFilePath, this.filesNotScanned);
250
- finishPromiseResolve(this.resultFilePath);
251
- }
252
-
253
- private reportLog(txt, level = 'info') {
254
- this.emit(ScannerEvents.SCANNER_LOG, txt, level);
255
- }
256
-
257
- private errorHandler(error, origin) {
258
- this.abort();
259
- if (origin === ScannerEvents.MODULE_DISPATCHER) {
260
- }
261
- if (origin === ScannerEvents.MODULE_WINNOWER) {
262
- }
263
-
264
- this.reportLog(`[ SCANNER ]: Error reason ${error}`);
265
-
266
- this.emit(ScannerEvents.ERROR, error);
267
- if(this.finishPromise) finishPromiseReject(error);
268
- }
269
-
270
- private createOutputFiles() {
271
- if (!fs.existsSync(this.wfpFilePath)) fs.writeFileSync(this.wfpFilePath, '');
272
- if (!fs.existsSync(this.resultFilePath)) fs.writeFileSync(this.resultFilePath, JSON.stringify({}));
273
- }
274
-
275
- private appendOutputFiles(wfpContent, serverResponse) {
276
- fs.appendFileSync(this.wfpFilePath, wfpContent);
277
- const storedResultStr = fs.readFileSync(this.resultFilePath, 'utf-8');
278
- const storedResultObj = JSON.parse(storedResultStr);
279
- Object.assign(storedResultObj, serverResponse);
280
- const newResultStr = JSON.stringify(storedResultObj);
281
- fs.writeFileSync(this.resultFilePath, newResultStr);
282
- }
283
-
284
-
285
- public scan(scannerInput: Array<ScannerInput>): Promise<string> {
286
- this.init();
287
- this.createOutputFiles();
288
- this.scannerInput = scannerInput;
289
-
290
- if (!this.isValidInput(scannerInput)) {
291
- this.finishScan();
292
- return this.finishPromise;
293
- }
294
-
295
- if (scannerInput[0]?.wfpPath) {
296
- this.wfpProvider = new WfpSplitter();
297
- this.setWinnowerListeners();
298
- this.wfpProvider.start(scannerInput[0]);
299
- } else {
300
- const folderRoot = this.scannerInput[0].folderRoot;
301
- const winnowingMode = this.scannerInput[0].winnowingMode;
302
- const fileList = this.scannerInput[0].fileList;
303
- this.wfpProvider.start({folderRoot, winnowingMode, fileList});
304
- }
305
- return this.finishPromise;
306
- }
307
-
308
-
309
-
310
-
311
- private isValidInput(scannerInput: Array<ScannerInput>): boolean {
312
- if (!scannerInput) {
313
- this.reportLog('[ SCANNER ]: No input provided', 'warning');
314
- return false;
315
- }
316
-
317
- if (!Array.isArray(scannerInput)) {
318
- this.reportLog('[ SCANNER ]: Input must be an array','warning');
319
- return false;
320
- }
321
-
322
- if (!scannerInput.length) {
323
- this.reportLog('[ SCANNER ]: Input array is empty', 'warning');
324
- return false;
325
- }
326
-
327
- if (scannerInput.some((input) => !input.fileList.length && !input.wfpPath)) {
328
- this.reportLog('[ SCANNER ]: Input array contains an element with no file list','warning');
329
- return false;
330
- }
331
-
332
- return true;
333
- }
334
-
335
-
336
- public getScannerId() {
337
- return this.scannerId;
338
- }
339
-
340
- private abort() {
341
- this.running = false;
342
- this.wfpProvider.removeAllListeners();
343
- this.dispatcher.removeAllListeners();
344
- this.dispatcher.stop();
345
- this.wfpProvider.stop();
346
- }
347
-
348
- public stop() {
349
- this.reportLog(`[ SCANNER ]: Stopping scanner`);
350
- this.abort();
351
- finishPromiseResolve();
352
- }
353
-
354
- public isRunning() {
355
- return this.running;
356
- }
357
-
358
- }
359
-
360
-
@@ -1,43 +0,0 @@
1
- export class ScannerCfg {
2
- // Client Timestamp, default value is scanoss-js/${version}
3
- CLIENT_TIMESTAMP = ""
4
-
5
- // API URL
6
- API_URL = 'https://osskb.org/api/scan/direct';
7
-
8
- API_KEY = '';
9
-
10
- CA_CERT = '';
11
-
12
- PROXY = '';
13
-
14
- //Set to true to ignore self certificates issues
15
- IGNORE_CERT_ERRORS = false;
16
-
17
- // Level of concurrency
18
- CONCURRENCY_LIMIT = 15;
19
-
20
- // Timeout for each transaction
21
- TIMEOUT = 60000;
22
-
23
- // The maximum size for each .wfp file
24
- WFP_FILE_MAX_SIZE = 64 * 1000;
25
-
26
- //After processing #WINNOWING_AFTER_X_REPORT_STATUS files,
27
- // the winnowing algorithm will report a ScannerEvents.WINNOWING_STATUS event.
28
- WINNOWING_REPORT_STATUS_AFTER_X = 10;
29
-
30
- MAX_RETRIES_FOR_RECOVERABLES_ERRORS = 5;
31
-
32
- ABORT_ON_MAX_RETRIES = true;
33
-
34
- // Persist results after [ X ] server responses
35
- MAX_RESPONSES_IN_BUFFER = 300;
36
-
37
- DISPATCHER_QUEUE_SIZE_MAX_LIMIT = 300;
38
-
39
- DISPATCHER_QUEUE_SIZE_MIN_LIMIT = 200;
40
-
41
-
42
-
43
- };
@@ -1,127 +0,0 @@
1
- import path from 'path';
2
-
3
- export enum ScannerEvents {
4
- WINNOWING_STARTING = 'WINNOWING_STARTING',
5
- WINNOWING_NEW_CONTENT = 'WINNOWING_NEW_CONTENT',
6
- WINNOWING_STATUS = 'WINNOWING_STATUS',
7
- WINNOWING_FINISHED = 'WINNOWING_FINISHED',
8
- WINNOWER_LOG = 'WINNOWER_LOG',
9
-
10
- DISPATCHER_WFP_SENDED = 'DISPATCHER_WFP_SENDED',
11
- DISPATCHER_NEW_DATA = 'DISPATCHER_NEW_DATA',
12
- DISPATCHER_FINISHED = 'DISPATCHER_FINISHED',
13
- DISPATCHER_ITEM_NO_DISPATCHED = 'DISPATCHER_ITEM_NO_DISPATCHED',
14
- DISPATCHER_QUEUE_SIZE_MAX_LIMIT = 'DISPATCHER_QUEUE_FULL',
15
- DISPATCHER_QUEUE_SIZE_MIN_LIMIT = 'DISPATCHER_QUEUE_SIZE_MIN_LIMIT',
16
- DISPATCHER_LOG = 'DISPATCHER_LOG',
17
-
18
- ERROR_SCANNER_ABORTED = 'ERROR_SCANNER_ABORTED',
19
-
20
- ERROR_SERVER_SIDE = 'ERROR_SERVER_SIDE',
21
- ERROR_CLIENT_SIDE = 'ERROR_CLIENT_SIDE',
22
-
23
- MODULE_DISPATCHER = 'MODULE_DISPATCHER',
24
- MODULE_WINNOWER = 'MODULE_WINNOWER',
25
-
26
- SCAN_DONE = 'SCAN_DONE',
27
- RESULTS_APPENDED = 'RESULTS_APPENDED',
28
-
29
- SCANNER_LOG = 'SCANNER_LOG',
30
-
31
- ERROR = 'error',
32
- };
33
-
34
- export enum WinnowingMode {
35
- FULL_WINNOWING = 'FULL_WINNOWING',
36
- FULL_WINNOWING_HPSM = 'FULL_WINNOWING_HPSM',
37
- WINNOWING_ONLY_MD5 = 'WINNOWING_ONLY_MD5',
38
- };
39
-
40
- export enum SbomMode {
41
- SBOM_IGNORE = 'blacklist',
42
- SBOM_IDENTIFY = 'identify'
43
- }
44
-
45
- export interface ScannerInput {
46
- fileList: Array<string>;
47
- folderRoot?: string;
48
- engineFlags?: number;
49
- winnowingMode?: WinnowingMode; // Enable winnowing algorithm, otherwise is scanned only MD5
50
- wfpPath?: string;
51
- sbom?: string;
52
- sbomMode?: SbomMode;
53
- };
54
-
55
- /********************** Scanner results types **********************/
56
-
57
- export type ScannerResults = Record<string , ScannerComponent[]>;
58
-
59
- export enum ScannerComponentId {NONE = 'none', FILE = 'file' , SNIPPET = 'snippet'};
60
-
61
- export interface ScannerComponent {
62
- id: ScannerComponentId;
63
- status: string;
64
- lines: string;
65
- oss_lines: string;
66
- matched: string;
67
- purl: string[];
68
- vendor: string
69
- component: string;
70
- version: string;
71
- latest: string;
72
- url: string;
73
- release_date: string;
74
- file: string;
75
- url_hash: string;
76
- file_hash: string;
77
- source_hash: string;
78
- file_url: string;
79
- licenses: {
80
- name: string;
81
- patent_hints: string;
82
- copyleft: string;
83
- checklist_url: string;
84
- osadl_updated: string;
85
- source: string;
86
- incompatible_with?: string;
87
- }[];
88
- dependencies: {
89
- vendor: string;
90
- component: string;
91
- version: string;
92
- source: string; }[];
93
- copyrights: {
94
- name: string;
95
- source: string; }[];
96
- vulnerabilities: {
97
- ID: string;
98
- CVE: string;
99
- severity: string;
100
- reported: string;
101
- introduced: string;
102
- patched: string;
103
- summary: string;
104
- source: string; }[];
105
- quality: {
106
- score: string;
107
- source: string; }[];
108
- cryptography: any[];
109
- health: {
110
- creation_date: string;
111
- issues: number;
112
- last_push: string;
113
- last_update: string;
114
- watchers: number;
115
- country: string;
116
- stars: number;
117
- forks: number;
118
- };
119
- server: {
120
- version: string;
121
- kb_version: { monthly: string; daily: string; }
122
- hostname: string;
123
- flags: string;
124
- elapsed: string;
125
- };
126
- }
127
- /********************** Scanner results types **********************/
@@ -1,34 +0,0 @@
1
- export class FingerprintPackage {
2
- private wfpContent: string;
3
-
4
- private scanRoot: string;
5
-
6
- constructor(wfpContent: string, scanRoot = '') {
7
- this.wfpContent = wfpContent;
8
- this.scanRoot = scanRoot;
9
- }
10
-
11
- public isEqual(fingerprintPackage: FingerprintPackage): boolean {
12
- return this.getContent() === fingerprintPackage.getContent();
13
- }
14
-
15
- public getContent(): string {
16
- return this.wfpContent;
17
- }
18
-
19
- public getNumberFilesFingerprinted() {
20
- const match = this.getContent().match(/file=/g);
21
- if(!match) return 0;
22
- return match.length;
23
- }
24
-
25
- public getFilesFingerprinted() {
26
- const files = [];
27
- const regExp = new RegExp(/,(.?\/.*)/g);
28
- let result;
29
- // eslint-disable-next-line no-cond-assign
30
- while ((result = regExp.exec(this.wfpContent))) files.push(this.scanRoot + result[1]);
31
- return files || '';
32
- }
33
- }
34
-