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,108 +0,0 @@
1
- import { ILocalDependencies } from "./LocalDependency/DependencyTypes";
2
- import { GrpcDependencyService } from "../grpc/GrpcDependencyService";
3
- import { DependencyRequest, DependencyResponse } from "../grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb";
4
- import { LocalDependencies } from "./LocalDependency/LocalDependency";
5
- import { DependencyScannerCfg } from "./DependencyScannerCfg";
6
- import { IDependencyResponse } from "./DependencyTypes";
7
- import { PackageURL } from "packageurl-js";
8
-
9
- export class DependencyScanner {
10
-
11
- private localDependency: LocalDependencies;
12
-
13
- private grpcDependencyService: GrpcDependencyService;
14
-
15
- constructor(cfg = new DependencyScannerCfg()) {
16
- this.grpcDependencyService = new GrpcDependencyService(cfg.DEFAULT_GRPC_HOST, cfg.DEFAULT_GRPC_PORT);
17
- this.localDependency = new LocalDependencies();
18
- }
19
-
20
-
21
- public async scan(files: Array<string>): Promise<IDependencyResponse> {
22
- let localDependencies = await this.localDependency.search(files);
23
- if (localDependencies.files.length === 0) return {filesList: []};
24
- localDependencies = this.purlAdapter(localDependencies);
25
- const request = this.buildRequest(localDependencies);
26
- const grpcResponse = await this.grpcDependencyService.get(request);
27
- const response = grpcResponse.toObject();
28
-
29
- // Extract scope from localDependencies and add it to response
30
- // Also adds the requirements field from localDependency to the response if the server didn't
31
- // replay back a version
32
- this.repairOutput(localDependencies, response);
33
- return response;
34
- }
35
-
36
- private purlAdapter(localDependencies: ILocalDependencies): ILocalDependencies {
37
- for (const file of localDependencies.files) {
38
- for (const purl of file.purls) {
39
-
40
- //If purl has a specific version, remove it and place the "version" value into requirement field.
41
- const version = PackageURL.fromString(purl.purl).version;
42
- if (version) {
43
- purl.requirement = version;
44
- purl.purl = purl.purl.replace('@' + version, '');
45
- }
46
-
47
- if (purl.purl.includes('%2F'))
48
- purl.purl = purl.purl.replace(/%2F/g, '/');
49
-
50
- }
51
- }
52
- return localDependencies;
53
- }
54
-
55
-
56
- private buildRequest(localDependencies: ILocalDependencies): DependencyRequest {
57
- try {
58
- const depRequest = new DependencyRequest();
59
- depRequest.setDepth(1);
60
- for (const file of localDependencies.files) {
61
- const fileMsg = new DependencyRequest.Files();
62
- fileMsg.setFile(file.file);
63
- for (const purl of file.purls) {
64
- const purlMsg = new DependencyRequest.Purls();
65
- purlMsg.setPurl(purl.purl);
66
- if(purl?.requirement) purlMsg.setRequirement(purl.requirement);
67
- fileMsg.addPurls(purlMsg);
68
- }
69
- depRequest.addFiles(fileMsg);
70
- }
71
- return depRequest;
72
- } catch (e) {
73
- console.error(e);
74
- return null;
75
- }
76
- }
77
-
78
- private repairOutput(localdependency: ILocalDependencies, serverResponse: DependencyResponse.AsObject) {
79
-
80
- // Create a map with key = [filename + purl] and the value is an object containing:
81
- // * The scope of the local dependency
82
- // * The requirement of the local dependency
83
- // Later this map is used to add information in the server response
84
- const localDependencyInfo = {};
85
- for (const file of localdependency.files) {
86
- const filename = file.file
87
- for (const localDependency of file.purls) {
88
- const localInfo = {}
89
- if (localDependency?.scope) localInfo['scope'] = localDependency.scope
90
- if(localDependency?.requirement) localInfo['requirement'] = localDependency.requirement
91
- localDependencyInfo[filename + localDependency.purl] = localInfo;
92
- }
93
- }
94
-
95
- for (const file of serverResponse.filesList) {
96
- const filename = file.file
97
- for (const dependency of file.dependenciesList) {
98
- const localDependencyData = localDependencyInfo[filename + dependency.purl];
99
- if (localDependencyData?.scope) dependency['scope'] = localDependencyData.scope;
100
- if (localDependencyData?.requirement && dependency.version == "") {
101
- dependency.version = localDependencyData.requirement;
102
- }
103
- }
104
- }
105
- }
106
-
107
-
108
- }
@@ -1,7 +0,0 @@
1
- export class DependencyScannerCfg {
2
-
3
- DEFAULT_GRPC_PORT = '443';
4
-
5
- DEFAULT_GRPC_HOST = 'scanoss.com';
6
-
7
- }
@@ -1,24 +0,0 @@
1
- export interface LicensesList {
2
- name: string;
3
- spdxId: string;
4
- isSpdxApproved: boolean;
5
- }
6
-
7
- export interface DependenciesList {
8
- component: string;
9
- purl: string;
10
- version?: string;
11
- scope?: string;
12
- licensesList: LicensesList[];
13
- }
14
-
15
- export interface FilesList {
16
- file: string;
17
- id: string;
18
- status: string;
19
- dependenciesList: DependenciesList[];
20
- }
21
-
22
- export interface IDependencyResponse {
23
- filesList: FilesList[];
24
- }
@@ -1,21 +0,0 @@
1
- export interface ILocalPurl {
2
- purl: string;
3
- requirement?: string;
4
- scope?: string;
5
- }
6
-
7
- export interface ILocalDependency {
8
- file: string;
9
- purls: Array<ILocalPurl>;
10
- }
11
-
12
- export interface ILocalDependencies{
13
- files: Array<ILocalDependency>;
14
- }
15
-
16
- /* Parser funcion definition */
17
- export type ParserFuncType = (fileContent: string, filePath: string) => Promise<ILocalDependency>;
18
-
19
- export interface ParserDefinitions {
20
- [key: string]: ParserFuncType;
21
- }
@@ -1,111 +0,0 @@
1
- import path from 'path';
2
- import fs from 'fs';
3
- import { ParserFuncType, ILocalDependencies } from "./DependencyTypes";
4
- import { requirementsParser } from "./parsers/pyParser";
5
- import { pomParser } from "./parsers/mavenParser";
6
- import {
7
- packagelockParser,
8
- packageParser,
9
- yarnLockParser
10
- } from './parsers/npmParser';
11
- import { gemfilelockParser, gemfileParser } from "./parsers/rubyParser";
12
- import { goModParser, goSumParser } from './parsers/golangParser';
13
- import { csprojParser, packagesConfigParser } from './parsers/nugetParser';
14
- import { buildGradleParser } from './parsers/buildGradleParser';
15
-
16
- export class LocalDependencies {
17
-
18
- private parserMap: Record<string, ParserFuncType>;
19
- constructor() {
20
- /*
21
- This is a hash map that connect a filename with it's own parser function
22
- Any parser function must return a ILocalDependencies object (See DependencyTypes.ts)
23
- */
24
- this.parserMap = {
25
- 'requirements.txt': requirementsParser,
26
- 'pom.xml': pomParser,
27
- 'package.json': packageParser,
28
- 'package-lock.json': packagelockParser,
29
- 'Gemfile': gemfileParser,
30
- 'Gemfile.lock': gemfilelockParser,
31
- 'go.mod': goModParser,
32
- 'go.sum': goSumParser,
33
- 'yarn.lock': yarnLockParser,
34
- '*.csproj': csprojParser,
35
- 'packages.config': packagesConfigParser,
36
- 'build.gradle': buildGradleParser,
37
- };
38
- }
39
-
40
- public async search(files: Array<string>): Promise<ILocalDependencies> {
41
- let results: ILocalDependencies = {files: []};
42
- for (const filePath of files) {
43
- const fileName = path.basename(filePath);
44
- const parser: ParserFuncType = this.getParserFunc(fileName);
45
- if(parser != null) {
46
- try {
47
- const fileContent = await fs.promises.readFile(filePath, 'utf8');
48
- const dependency = await parser(fileContent, filePath);
49
- if(dependency.purls.length != 0)
50
- results.files.push(dependency);
51
- } catch(e) {
52
- console.error(e);
53
- continue;
54
- }
55
- }
56
- }
57
- return results;
58
- }
59
-
60
- private getParserFunc(filename: string): ParserFuncType {
61
-
62
- //Check for an exact match
63
- const func = this.parserMap[filename];
64
- if(func) return func
65
-
66
-
67
- //Check for a wildcard string match
68
- const filesPatterns = Object.keys(this.parserMap).filter((item) => item.includes("*"));
69
- for (const pattern of filesPatterns) {
70
-
71
- if (this.stringMatchWithWildcard(filename, pattern)) return this.parserMap[pattern];
72
- }
73
-
74
- return null;
75
- }
76
-
77
-
78
- // The logic for the string wildcard match algorithm was an imitation from here:
79
- // https://www.codeproject.com/Articles/5163931/Fast-String-Matching-with-Wildcards-Globs-and-Giti
80
- public stringMatchWithWildcard(text: string, pattern: string): boolean {
81
-
82
- let iText = 0;
83
- let iPattern = 0;
84
-
85
- let iTextBackup = null;
86
- let iPatternBackup = null;
87
-
88
- while (text[iText]) {
89
- if (pattern[iPattern] == '*') {
90
- // new star-loop: backup positions in pattern and text
91
- iTextBackup = iText;
92
- iPatternBackup = ++iPattern;
93
- } else if (text[iText] == pattern[iPattern]) {
94
- iText++;
95
- iPattern++;
96
- } else {
97
- //If there are no star, we fail to match
98
- if (iPatternBackup == null) return false;
99
- iText = ++iTextBackup;
100
- iPattern = iPatternBackup;
101
- }
102
- }
103
-
104
- //Ignore trailling stars
105
- while (pattern[iPattern] == '*') iPatternBackup++
106
-
107
- //There is a match when the pattern was walked all the way throught
108
- return iPattern >= pattern.length ? true : false
109
- }
110
-
111
- }
@@ -1,115 +0,0 @@
1
- import { ILocalDependency } from '../DependencyTypes';
2
- import path from 'path';
3
- import { PackageURL } from 'packageurl-js';
4
-
5
-
6
- const MANIFEST_FILE = 'build.gradle';
7
- const depBlockRex = /dependencies\s*{\s*(?<dependencies>(.|\n)*?)}/gm;
8
-
9
- enum GRADLE_STATES {
10
- WALKING,
11
- SINGLELINE_DEPENDENCY,
12
- MULTILINE_DEPENDENCY
13
- }
14
- export async function buildGradleParser(fileContent: string, filePath: string): Promise<ILocalDependency> {
15
-
16
-
17
- // If the file is not a manifest file, return an empty results
18
- const results: ILocalDependency = {file: filePath, purls: []};
19
- if(path.basename(filePath) != MANIFEST_FILE)
20
- return results;
21
-
22
- //For each dependency block, generate purls
23
- let gradle;
24
- while ((gradle = depBlockRex.exec(fileContent)) !== null) {
25
- let depBlock = gradle?.groups?.dependencies;
26
-
27
-
28
- let current_config_name = ""; //Config name is placed in the scope
29
- let lines = depBlock.split(/\r?\n/) as string;
30
- for (let i = 0; i<lines.length; i++) {
31
- let line = lines[i];
32
-
33
- if (line.includes("//")) line = line.replace(/\/\/.*$/gm, "");
34
- line = line.trim();
35
- if (line == '') continue;
36
-
37
-
38
- current_config_name = getConfigNameFromLine(line);
39
-
40
- //Multiline dependency
41
- if(current_config_name && line.includes("(")) {
42
-
43
- while( i<lines.length && !lines[i].includes(")")) {
44
- const componentData = createPurlNameFromLine(lines[i]);
45
- if (componentData != null) {
46
- results.purls.push({
47
- purl: componentData.purlName,
48
- requirement: componentData.version,
49
- scope: current_config_name
50
- });
51
- }
52
- i++;
53
- }
54
- current_config_name='';
55
- } else { //Single line dependency
56
- const componentData = createPurlNameFromLine(line);
57
- if (componentData == null) {
58
- current_config_name = '';
59
- continue;
60
- }
61
-
62
- results.purls.push({purl: componentData.purlName, requirement: componentData.version, scope: current_config_name});
63
- }
64
-
65
- }
66
-
67
-
68
- }
69
-
70
- return Promise.resolve(results);
71
-
72
- }
73
-
74
- function getConfigNameFromLine(line): string {
75
- let configName = ""
76
-
77
- const dep = line.split(/\s/);
78
- if (dep.length) configName = dep[0].replace("(", "").trim();
79
-
80
- return configName;
81
- }
82
-
83
- //Takes a line and generate a purl when possible.
84
- // There are three ways of declaring dependencies
85
- interface componentData{
86
- purlName: string;
87
- version: string;
88
- }
89
-
90
- function createPurlNameFromLine(line: string): componentData {
91
-
92
- let namespace = undefined;
93
- let name = undefined;
94
- let version = undefined;
95
-
96
- //Enters when line = implementation 'org.scala-lang:scala-library:2.11.12'
97
- let dep = line.match(/(?<namespace>[\w\.\-]+):(?<name>[\w\.\-]+):(?<version>[\d\.]+)/);
98
- if (dep?.length) {
99
- namespace = dep.groups.namespace
100
- name = dep.groups.name
101
- version = dep.groups.version
102
- } else if (line.includes("group") && line.includes("name") && line.includes("version")) {
103
- version = line.match(/version:\s+['"](?<version>[\w\.\-\d]+)['"]/).groups.version
104
- name = line.match(/name:\s+['"](?<name>[\w\.\-\d]+)['"]/).groups?.name
105
- namespace = line.match(/group:\s+['"](?<group>[\w\.\-\d]+)['"]/).groups?.group
106
- }
107
-
108
- let purlName = "";
109
- if(name && namespace) {
110
- const purlObj = new PackageURL('maven', namespace, name, undefined, undefined, undefined);
111
- return { purlName: purlObj.toString(), version }
112
- }
113
-
114
- return null;
115
- }
@@ -1,130 +0,0 @@
1
- import { ILocalDependency } from "../DependencyTypes";
2
-
3
- import { PackageURL } from "packageurl-js";
4
- import path from "path";
5
-
6
- function parseDepLink (str: string) {
7
- const res = /.*?(?<ns_name>[^\s]+)\s+(?<version>(.*))/.exec(str);
8
- return {
9
- ns_name: res?.groups?.ns_name,
10
- version: res?.groups?.version
11
- };
12
- }
13
-
14
- function getDepDataGoModFromLine(line: string) {
15
- const {ns_name, version} = parseDepLink(line);
16
-
17
- const index = ns_name.lastIndexOf('/');
18
- const namespace = ns_name.substring(0, index);
19
- const name = ns_name.substring(index + 1);
20
-
21
- return {namespace, name, version}
22
- }
23
-
24
- // Removes comments and spaces
25
- function preprocessLine(line: string) {
26
- if (line.includes("//"))
27
- line = line.substring(0,line.indexOf("//"));
28
- return line.trim();
29
- }
30
-
31
-
32
-
33
-
34
- const PURL_TYPE = 'golang';
35
-
36
-
37
- // See reference on: https://go.dev/ref/mod#go-mod-file
38
- const MANIFEST_FILE = 'go.mod';
39
- export function goModParser(fileContent: string, filePath: string): Promise<ILocalDependency> {
40
-
41
- // If the file is not a go.mod manifest file, return an empty results
42
- const results: ILocalDependency = {file: filePath, purls: []};
43
- if(path.basename(filePath) != MANIFEST_FILE)
44
- return Promise.resolve(results);
45
-
46
- const lines = fileContent.split('\n');
47
-
48
- const require = [];
49
-
50
- for (let num = 0 ; num < lines.length ; num+=1) {
51
-
52
- let line = preprocessLine(lines[num]);
53
-
54
-
55
- if(line.includes('require') && line.includes('(')) {
56
- num+=1;
57
- line = preprocessLine(lines[num]);
58
- while (num < lines.length && line!==')') {
59
-
60
- const {namespace, name, version} = getDepDataGoModFromLine(line)
61
-
62
- const purlString = new PackageURL(PURL_TYPE, namespace, name, version, undefined, undefined).toString();
63
- results.purls.push({purl: purlString});
64
-
65
- require.push(line);
66
-
67
- num+=1;
68
- line = preprocessLine(lines[num]);
69
- }
70
- }
71
- }
72
-
73
- return Promise.resolve(results);
74
- }
75
-
76
-
77
-
78
-
79
-
80
- function parseGoSumDepLink (str: string) {
81
- const res = /.*?(?<ns_name>[^\s]+)\s+(?<version>(.*))\s+h1:(?<checksum>(.*))/.exec(str);
82
- return {
83
- ns_name: res?.groups?.ns_name,
84
- version: res?.groups?.version,
85
- checksum: res?.groups?.checksum
86
- };
87
- }
88
-
89
- function getDepDataGoSumFromLine(line: string) {
90
- const {ns_name, version} = parseGoSumDepLink(line);
91
-
92
- if (!ns_name) return {};
93
-
94
- const index = ns_name.lastIndexOf('/');
95
- const namespace = ns_name.substring(0, index);
96
- const name = ns_name.substring(index + 1);
97
-
98
- return {namespace, name, version}
99
- }
100
-
101
- // See reference on: https://go.dev/ref/mod#go-mod-file
102
- export function goSumParser(fileContent: string, filePath: string): Promise<ILocalDependency> {
103
-
104
- // If the file is not a go.mod manifest file, return an empty results
105
- const results: ILocalDependency = { file: filePath, purls: [] };
106
- if (path.basename(filePath) != 'go.sum')
107
- return Promise.resolve(results);
108
-
109
-
110
- const lines = fileContent.split('\n');
111
- for (let num = 0; num < lines.length; num += 1) {
112
-
113
- let line = preprocessLine(lines[num]); //Deletes coments
114
- if(!line) continue
115
-
116
- line = line.replace('/go.mod', '')
117
- const {namespace, name, version} = getDepDataGoSumFromLine(line)
118
-
119
- if (!name) continue
120
-
121
- //const purlString = new PackageURL(PURL_TYPE, namespace, name, undefined, undefined, undefined).toString();
122
- const purlString = `pkg:${PURL_TYPE}/${namespace}/${name}`
123
- results.purls.push({purl: purlString, requirement: version})
124
- }
125
-
126
- return Promise.resolve(results);
127
-
128
-
129
- }
130
-