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,2 +0,0 @@
1
- import { ILocalDependency } from "../DependencyTypes";
2
- export declare function pomParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
@@ -1,180 +0,0 @@
1
- import path from "path";
2
- import { PackageURL } from "packageurl-js";
3
- const PURL_TYPE = 'maven';
4
- // Parse a pom.txt file from maven manifest file
5
- // See reference on: https://maven.apache.org/guides/introduction/introduction-to-the-pom.html
6
- // and https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
7
- const MANIFEST_FILE = 'pom.xml';
8
- export function pomParser(fileContent, filePath) {
9
- // If the file is not a python manifest file, return an empty results
10
- const results = { file: filePath, purls: [] };
11
- if (path.basename(filePath) != MANIFEST_FILE)
12
- return Promise.resolve(results);
13
- const dependencies = fileContent.match(/<dependency>((?:.|\n)*?)<\/dependency>/gm);
14
- if (dependencies) {
15
- dependencies.forEach(dependency => {
16
- // Extract groupId. It's the purl namespace
17
- const groupId = dependency.match(/<groupId>([^<]*)<\/groupId>/);
18
- const namespace = (groupId && groupId.length >= 1) ? groupId[1] : null;
19
- // Extract artifact id. It's the purl name
20
- const artifactId = dependency.match(/<artifactId>([^<]*)<\/artifactId>/);
21
- const name = (artifactId && artifactId.length >= 1) ? artifactId[1] : null;
22
- const versionReg = dependency.match(/<version>([^<]*)<\/version>/);
23
- let version;
24
- if (versionReg && versionReg.length >= 1)
25
- version = resolve_version(versionReg[1], fileContent);
26
- // Extract scope.
27
- const scopeRes = dependency.match(/<scope>([^<]*)<\/scope>/);
28
- const scope = (scopeRes && scopeRes.length >= 1) ? scopeRes[1] : null;
29
- //Detect and extract purl qualifiers
30
- const classifierRes = dependency.match(/<classifier>([^<]*)<\/classifier>/);
31
- const classifier = (classifierRes && classifierRes.length >= 1) ? classifierRes[1] : null;
32
- const typeRes = dependency.match(/<type>([^<]*)<\/type>/);
33
- const type = (typeRes && typeRes.length >= 1) ? typeRes[1] : null;
34
- let purlQualifiers;
35
- if (type || classifier)
36
- purlQualifiers = {
37
- ...(type && { type }),
38
- ...(classifier && { classifier }),
39
- };
40
- const purlString = new PackageURL(PURL_TYPE, namespace, name, undefined, purlQualifiers, undefined).toString();
41
- results.purls.push({ purl: purlString, requirement: version, scope: scope });
42
- });
43
- }
44
- //Remove purls duplicated
45
- const nonDuplicatedResults = removeDuplicated(results);
46
- return Promise.resolve(nonDuplicatedResults);
47
- }
48
- function removeDuplicated(results) {
49
- const map = {};
50
- for (let res of results.purls) {
51
- map[res.purl] = res;
52
- }
53
- results.purls = Object.values(map);
54
- return results;
55
- }
56
- function resolve_version(dependency_version, file_content) {
57
- // See properties: https://maven.apache.org/pom.html#properties
58
- let version = '';
59
- if (dependency_version) {
60
- if (/\${project.version}/.test(dependency_version)) {
61
- version = extract_content_from_tag(file_content, ['project', 'version']);
62
- }
63
- else if (/\${.*?}/.test(dependency_version)) {
64
- const property = dependency_version.match(/\${(.*?)}/)[1];
65
- const result = file_content.match(new RegExp(`<${property}>([^<]*)<\/${property}>`));
66
- if (result && result.length > 0)
67
- version = result[1];
68
- }
69
- else {
70
- version = dependency_version.toString();
71
- }
72
- }
73
- return version;
74
- }
75
- function get_start_tag_name(line) {
76
- const result = line.match(/\<([\w\-\.]+).*?>/);
77
- if (result)
78
- return result[1].trim();
79
- return '';
80
- }
81
- function get_end_tag_name(line) {
82
- const result = line.match(/\<\/([\w\-\.]+) ?>/);
83
- if (result)
84
- return result[1].trim();
85
- return '';
86
- }
87
- function get_end_tag(line) {
88
- const result = get_end_tag_name(line);
89
- if (result !== '')
90
- return `</${result}>`;
91
- return '';
92
- }
93
- function get_start_tag(line) {
94
- const result = get_start_tag_name(line);
95
- if (result !== '')
96
- return `<${result}>`;
97
- return '';
98
- }
99
- function element_match(openTag, closeTag) {
100
- return get_start_tag_name(openTag) === get_end_tag_name(closeTag);
101
- }
102
- function is_element_complete(line) {
103
- return get_start_tag_name(line) === get_end_tag_name(line);
104
- }
105
- function get_offset_until_end_of_tag(lines, end_tag_name) {
106
- let i = 0;
107
- for (const line of lines) {
108
- if (get_end_tag_name(line) === end_tag_name)
109
- break;
110
- i += 1;
111
- }
112
- return i;
113
- }
114
- function remove_comments(lines) {
115
- for (let i = 0; i < lines.length; i += 1) {
116
- let openCommentFlag = /<!--/.test(lines[i]);
117
- let endCommentFlag = /-->/.test(lines[i]);
118
- if (openCommentFlag && endCommentFlag)
119
- lines[i] = lines[i].replace(/<!--.*-->/, '');
120
- else if (openCommentFlag) {
121
- while (!/-->/.test(lines[i]) && i < lines.length) {
122
- lines[i] = '';
123
- i += 1;
124
- }
125
- lines[i] = lines[i].replace(/.*-->/, '');
126
- }
127
- }
128
- return lines;
129
- }
130
- function extract_content_from_tag(file_content, selector) {
131
- let lines = file_content.split('\n');
132
- const stack = [];
133
- let selectorIndex = 0;
134
- let startTagName = '';
135
- let endTagName = '';
136
- let content = '';
137
- // Sanitize xml: Removes comments
138
- lines = remove_comments(lines);
139
- for (let i = 0; i < lines.length; i += 1) {
140
- let line = lines[i].trim();
141
- if (line === '')
142
- continue;
143
- startTagName = get_start_tag_name(line);
144
- endTagName = get_end_tag_name(line);
145
- // Element complete in the same line and different than my selector
146
- if (selector[selectorIndex] !== startTagName && is_element_complete(line))
147
- continue;
148
- // Element spans multiline and is different than my selector
149
- // Loop until find corresponding end tag
150
- if (selector[selectorIndex] !== startTagName) {
151
- i += 1;
152
- while (i < lines.length && !element_match(line, lines[i]))
153
- i += 1;
154
- continue;
155
- }
156
- // lines[i] points to the opening tag of the current selector[selectorIndex]
157
- selectorIndex += 1;
158
- stack.push(startTagName);
159
- // Target reached
160
- if (selector.length === stack.length) {
161
- // Target has only one line
162
- if (is_element_complete(line)) {
163
- line = line.replace(get_end_tag(line), '');
164
- line = line.replace(get_start_tag(line), '');
165
- return line;
166
- }
167
- // Extracts everything beetwen opening and closing tag and return.
168
- i += 1;
169
- while (i < lines.length && !element_match(line, lines[i])) {
170
- content += lines[i].trim();
171
- i += 1;
172
- }
173
- return content;
174
- }
175
- startTagName = '';
176
- endTagName = '';
177
- }
178
- return '';
179
- }
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF2ZW5QYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9Mb2NhbERlcGVuZGVuY3kvcGFyc2Vycy9tYXZlblBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUM7QUFFMUIsZ0RBQWdEO0FBQ2hELDhGQUE4RjtBQUM5Riw2RkFBNkY7QUFDN0YsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBQ2hDLE1BQU0sVUFBVSxTQUFTLENBQUMsV0FBbUIsRUFBRSxRQUFnQjtJQUUzRCxxRUFBcUU7SUFDckUsTUFBTSxPQUFPLEdBQXFCLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDOUQsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWE7UUFDekMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxDLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztJQUNuRixJQUFHLFlBQVksRUFBRTtRQUVmLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDaEMsMkNBQTJDO1lBQzNDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUNoRSxNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUVyRSwwQ0FBMEM7WUFDMUMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBRXpFLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztZQUNuRSxJQUFJLE9BQU8sQ0FBQztZQUNaLElBQUcsVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUUsQ0FBQztnQkFBRSxPQUFPLEdBQUcsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUc3RixpQkFBaUI7WUFDakIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQzdELE1BQU0sS0FBSyxHQUFHLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBR3BFLG9DQUFvQztZQUNwQyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDNUUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDLE1BQU0sSUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFFeEYsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzFELE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBRWhFLElBQUksY0FBYyxDQUFDO1lBQ25CLElBQUksSUFBSSxJQUFJLFVBQVU7Z0JBQ3RCLGNBQWMsR0FBRztvQkFDZixHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUMsSUFBSSxFQUFDLENBQUM7b0JBQ25CLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBQyxVQUFVLEVBQUMsQ0FBQztpQkFDaEMsQ0FBQztZQUVGLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0csT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFFN0UsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUVELHlCQUF5QjtJQUN6QixNQUFNLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLE9BQXlCO0lBQ2pELE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNmLEtBQUssSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtRQUM3QixHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQTtLQUNwQjtJQUNELE9BQU8sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsa0JBQTBCLEVBQUUsWUFBb0I7SUFDdkUsK0RBQStEO0lBQy9ELElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNqQixJQUFHLGtCQUFrQixFQUFFO1FBQ3JCLElBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDakQsT0FBTyxHQUFHLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQzFFO2FBQU0sSUFBRyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDNUMsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxRQUFRLGNBQWMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JGLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUMsQ0FBQztnQkFBRSxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO2FBQU07WUFDTCxPQUFPLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDekM7S0FDRjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFHRCxTQUFTLGtCQUFrQixDQUFDLElBQVk7SUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQy9DLElBQUksTUFBTTtRQUFFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsSUFBWTtJQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDaEQsSUFBSSxNQUFNO1FBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBWTtJQUMvQixNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxJQUFJLE1BQU0sS0FBSyxFQUFFO1FBQUUsT0FBTyxLQUFLLE1BQU0sR0FBRyxDQUFBO0lBQ3hDLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLElBQVk7SUFDakMsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsSUFBSSxNQUFNLEtBQUssRUFBRTtRQUFFLE9BQU8sSUFBSSxNQUFNLEdBQUcsQ0FBQTtJQUN2QyxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxPQUFlLEVBQUUsUUFBZTtJQUNyRCxPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLElBQVk7SUFDdkMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBR0QsU0FBUywyQkFBMkIsQ0FBQyxLQUFvQixFQUFFLFlBQW9CO0lBQzdFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNWLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3RCLElBQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWTtZQUFFLE1BQU07UUFDcEQsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNWO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsS0FBb0I7SUFDM0MsS0FBSyxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFFLENBQUMsRUFBRTtRQUNoQyxJQUFJLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUMsSUFBRyxlQUFlLElBQUksY0FBYztZQUNoQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDNUMsSUFBSSxlQUFlLEVBQUM7WUFDckIsT0FBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQzNDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2QsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNWO1lBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO0tBRUo7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFHRCxTQUFTLHdCQUF3QixDQUFDLFlBQW9CLEVBQUUsUUFBdUI7SUFDN0UsSUFBSSxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxNQUFNLEtBQUssR0FBa0IsRUFBRSxDQUFDO0lBRWhDLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztJQUN0QixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDdEIsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUVqQixpQ0FBaUM7SUFDakMsS0FBSyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUvQixLQUFLLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDLEdBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUUsQ0FBQyxFQUFFO1FBQ2xDLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixJQUFHLElBQUksS0FBSyxFQUFFO1lBQUUsU0FBUztRQUV6QixZQUFZLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLG1FQUFtRTtRQUNuRSxJQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxZQUFZLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDO1lBQUUsU0FBUztRQUVuRiw0REFBNEQ7UUFDNUQsd0NBQXdDO1FBQ3hDLElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLFlBQVksRUFBRTtZQUMzQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ1AsT0FBTyxDQUFDLEdBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsSUFBRSxDQUFDLENBQUM7WUFDOUQsU0FBUztTQUNYO1FBRUQsNEVBQTRFO1FBQzVFLGFBQWEsSUFBSSxDQUFDLENBQUM7UUFDbkIsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV6QixpQkFBaUI7UUFDakIsSUFBRyxRQUFRLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDbkMsMkJBQTJCO1lBQzNCLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzNCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM3QyxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUMsa0VBQWtFO1lBQ2xFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDUCxPQUFPLENBQUMsR0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRztnQkFDeEQsT0FBTyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNSO1lBQ0QsT0FBTyxPQUFPLENBQUM7U0FDbEI7UUFDRCxZQUFZLEdBQUMsRUFBRSxDQUFDO1FBQ2hCLFVBQVUsR0FBQyxFQUFFLENBQUM7S0FDZjtJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyJ9
@@ -1,13 +0,0 @@
1
- import { ILocalDependency } from "../DependencyTypes";
2
- export declare function packageParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
3
- export declare function packagelockParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
4
- export declare function yarnLockParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
5
- declare enum YarnLockVersionEnum {
6
- "V1" = 0,
7
- "V2" = 1,
8
- UnknownYarnLockFormat = 2
9
- }
10
- export declare function yarnLockRecognizeVersion(fileContent: string): YarnLockVersionEnum;
11
- export declare function yarnLockV1Parser(fileContent: string, filePath: string): Promise<ILocalDependency>;
12
- export declare function yarnLockV2Parser(fileContent: string, filePath: string): Promise<ILocalDependency>;
13
- export {};
@@ -1,175 +0,0 @@
1
- import path from "path";
2
- import { PackageURL } from "packageurl-js";
3
- const PURL_TYPE = 'npm';
4
- // Parse a package.json file from node projects
5
- // See reference on: https://docs.npmjs.com/cli/v8/configuring-npm/package-json
6
- const MANIFEST_FILE = 'package.json';
7
- export function packageParser(fileContent, filePath) {
8
- // If the file is not manifest file, return an empty results
9
- const results = { file: filePath, purls: [] };
10
- if (path.basename(filePath) != MANIFEST_FILE)
11
- return Promise.resolve(results);
12
- const o = JSON.parse(fileContent);
13
- let devDeps = Object.keys(o.devDependencies || {});
14
- let deps = Object.keys(o.dependencies || {});
15
- for (const name of deps) {
16
- const purlString = new PackageURL(PURL_TYPE, undefined, name, undefined, undefined, undefined).toString();
17
- results.purls.push({ purl: purlString, scope: "dependencies", requirement: o.dependencies[name] });
18
- }
19
- for (const name of devDeps) {
20
- const purlString = new PackageURL(PURL_TYPE, undefined, name, undefined, undefined, undefined).toString();
21
- results.purls.push({ purl: purlString, scope: "devDependencies", requirement: o.devDependencies[name] });
22
- }
23
- return Promise.resolve(results);
24
- }
25
- // Parse a package-lock.json file from node projects
26
- // See reference on: https://docs.npmjs.com/cli/v8/configuring-npm/package-json
27
- export function packagelockParser(fileContent, filePath) {
28
- const results = { file: filePath, purls: [] };
29
- if (path.basename(filePath) != 'package-lock.json')
30
- return Promise.resolve(results);
31
- const packages = JSON.parse(fileContent)?.packages;
32
- if (!packages)
33
- return Promise.resolve(results);
34
- for (const [key, value] of Object.entries(packages)) {
35
- if (!key)
36
- continue;
37
- const keySplit = key.split("/");
38
- const depName = keySplit[keySplit.length - 1];
39
- let purl = new PackageURL(PURL_TYPE, undefined, depName, undefined, undefined, undefined).toString();
40
- let req = value['version'];
41
- results.purls.push({ purl: purl, requirement: req });
42
- }
43
- return Promise.resolve(results);
44
- }
45
- export function yarnLockParser(fileContent, filePath) {
46
- const results = { file: filePath, purls: [] };
47
- if (path.basename(filePath) != 'yarn.lock')
48
- return Promise.resolve(results);
49
- const yarnVersion = yarnLockRecognizeVersion(fileContent);
50
- if (yarnVersion === YarnLockVersionEnum.V1)
51
- return yarnLockV1Parser(fileContent, filePath);
52
- else if (yarnVersion === YarnLockVersionEnum.V2)
53
- return yarnLockV2Parser(fileContent, filePath);
54
- return Promise.resolve(results);
55
- }
56
- var YarnLockVersionEnum;
57
- (function (YarnLockVersionEnum) {
58
- YarnLockVersionEnum[YarnLockVersionEnum["V1"] = 0] = "V1";
59
- YarnLockVersionEnum[YarnLockVersionEnum["V2"] = 1] = "V2";
60
- YarnLockVersionEnum[YarnLockVersionEnum["UnknownYarnLockFormat"] = 2] = "UnknownYarnLockFormat";
61
- })(YarnLockVersionEnum || (YarnLockVersionEnum = {}));
62
- /*
63
- The start of v1 file has this:
64
- # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
65
- # yarn lockfile v1
66
-
67
- The start of v2 file has this:
68
- # This file is generated by running "yarn install" inside your project.
69
- # Manual changes might be lost - proceed with caution!
70
-
71
- __metadata:
72
- */
73
- export function yarnLockRecognizeVersion(fileContent) {
74
- const yarn = fileContent.split("\n", 10); //Check only the first 10 lines;
75
- for (const line of yarn) {
76
- if (line.includes('__metadata:'))
77
- return YarnLockVersionEnum.V2;
78
- if (line.includes('yarn lockfile v1'))
79
- return YarnLockVersionEnum.V1;
80
- }
81
- return YarnLockVersionEnum.UnknownYarnLockFormat;
82
- }
83
- export function yarnLockV1Parser(fileContent, filePath) {
84
- const results = { file: filePath, purls: [] };
85
- //Yield an array with each element is a dependency
86
- /*
87
- "@babel/core@^7.1.0", "@babel/core@^7.3.4":
88
- version "7.3.4"
89
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz#921a5a13746c21e32445bf0798680e9d11a6530b"
90
- integrity sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==
91
- dependencies:
92
- "@babel/code-frame" "^7.0.0"
93
- "@babel/generator" "^7.3.4"
94
- */
95
- const yl_dependencies = fileContent.split("\n\n");
96
- for (const yl_dependency of yl_dependencies) {
97
- const dependencyData = {};
98
- const topRequirements = [];
99
- const dep_lines = yl_dependency.split("\n");
100
- if (dep_lines.every((line) => line.trim().startsWith("#") == true))
101
- continue; //All lines are coments
102
- if (dep_lines.every((line) => line.trim() == ""))
103
- continue; //All lines are empty lines
104
- for (const dep_line of dep_lines) {
105
- // Clean comments and empty lines
106
- const trimmed = dep_line.trim();
107
- const comment = trimmed.startsWith('#');
108
- if (!trimmed || comment)
109
- continue;
110
- // Do nothing with it's own dependencies
111
- // "@babel/code-frame" "^7.0.0"
112
- // "@babel/generator" "^7.3.4"
113
- if (dep_line.startsWith(' '.repeat(4))) { }
114
- // version "7.3.4"
115
- // resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.3.4.tgz#921a5a13746c21e32445bf0798680e9d11a6530b"
116
- // integrity sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==
117
- // dependencies:
118
- else if (dep_line.startsWith(' '.repeat(2))) {
119
- const dep = trimmed.split(" ");
120
- const key = dep[0].trim();
121
- if (key !== "dependencies:" && key !== "optionalDependencies:") {
122
- dependencyData[key] = dep[1].replace(/\"|\'/g, "");
123
- }
124
- }
125
- // the first line of a dependency has the name and requirements
126
- //"@babel/core@^7.1.0", "@babel/core@^7.3.4":
127
- else if (!dep_line.startsWith(' ')) {
128
- const dep = dep_line.replace(/:/g, "").split(",");
129
- const requirements = dep.map(line => line.trim().replace(/"|'/g, ""));
130
- for (const req of requirements) {
131
- const atIndex = req.lastIndexOf("@");
132
- let constraint = req.slice(atIndex + 1); // gets ^7.1.0
133
- constraint = constraint.replace(/"|'/g, "");
134
- const ns_name = req.slice(0, atIndex);
135
- let ns = '';
136
- let name = ns_name;
137
- if (ns_name.includes("/")) {
138
- const slashIndex = req.lastIndexOf("/");
139
- ns = ns_name.slice(0, slashIndex);
140
- name = ns_name.slice(slashIndex + 1);
141
- }
142
- topRequirements.push({ constraint: constraint, ns: ns, name: name });
143
- }
144
- }
145
- }
146
- //Make sure that name and namespace are equal for the same dependency
147
- const isNsNameEqual = topRequirements.every((topRequirement) => {
148
- return topRequirement.ns === topRequirements[0].ns && topRequirement.name === topRequirements[0].name;
149
- });
150
- if (!isNsNameEqual) {
151
- console.error("Different names for same dependency is not supported");
152
- continue;
153
- }
154
- const topRequirement = topRequirements[0];
155
- const namespace = topRequirement.ns;
156
- const name = topRequirement.name;
157
- const version = dependencyData['version'];
158
- const purl = new PackageURL(PURL_TYPE, namespace, name, version, undefined, undefined).toString();
159
- let requirement = '';
160
- for (const topRequirement of topRequirements) {
161
- requirement += topRequirement.constraint + ", ";
162
- }
163
- if (requirement.endsWith(", ")) {
164
- requirement = requirement.slice(0, requirement.length - 2);
165
- }
166
- results.purls.push({ purl: purl, requirement: requirement });
167
- }
168
- return Promise.resolve(results);
169
- }
170
- //TODO: Implement yarn lock V2 parser
171
- export function yarnLockV2Parser(fileContent, filePath) {
172
- const results = { file: filePath, purls: [] };
173
- return Promise.resolve(results);
174
- }
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9EZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L3BhcnNlcnMvbnBtUGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQztBQUd4QiwrQ0FBK0M7QUFDL0MsK0VBQStFO0FBQy9FLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQztBQUNyQyxNQUFNLFVBQVUsYUFBYSxDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFDL0QsNERBQTREO0lBQzVELE1BQU0sT0FBTyxHQUFxQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzlELElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxhQUFhO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVsQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7SUFFN0MsS0FBSSxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUM7UUFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUM7S0FDcEc7SUFFRCxLQUFJLE1BQU0sSUFBSSxJQUFJLE9BQU8sRUFBQztRQUN4QixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0tBQ3hHO0lBRUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFHRCxvREFBb0Q7QUFDcEQsK0VBQStFO0FBQy9FLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxXQUFtQixFQUFFLFFBQWdCO0lBRW5FLE1BQU0sT0FBTyxHQUFxQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBRTlELElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxtQkFBbUI7UUFDL0MsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBRW5ELElBQUcsQ0FBQyxRQUFRO1FBQUUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTlDLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ2pELElBQUcsQ0FBQyxHQUFHO1lBQUUsU0FBUztRQUVsQixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQy9CLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTNDLElBQUksSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEcsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQztLQUN0RDtJQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNwQyxDQUFDO0FBSUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxXQUFtQixFQUFFLFFBQWdCO0lBQ2xFLE1BQU0sT0FBTyxHQUFxQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBRTlELElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVsQyxNQUFNLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUN6RCxJQUFJLFdBQVcsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFO1FBQUUsT0FBTyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUE7U0FDckYsSUFBSSxXQUFXLEtBQUssbUJBQW1CLENBQUMsRUFBRTtRQUFFLE9BQU8sZ0JBQWdCLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBRS9GLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsSUFBSyxtQkFJSjtBQUpELFdBQUssbUJBQW1CO0lBQ3RCLHlEQUFJLENBQUE7SUFDSix5REFBSSxDQUFBO0lBQ0osK0ZBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpJLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJdkI7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFdBQW1CO0lBRTFELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBLENBQUMsZ0NBQWdDO0lBQ3pFLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxFQUFFO1FBQ3ZCLElBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFBRyxPQUFPLG1CQUFtQixDQUFDLEVBQUUsQ0FBQTtRQUNqRSxJQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7WUFBRyxPQUFPLG1CQUFtQixDQUFDLEVBQUUsQ0FBQTtLQUN2RTtJQUNELE9BQU8sbUJBQW1CLENBQUMscUJBQXFCLENBQUE7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxXQUFtQixFQUFFLFFBQWdCO0lBRXBFLE1BQU0sT0FBTyxHQUFxQixFQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBRTlELGtEQUFrRDtJQUNsRDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEQsS0FBSyxNQUFNLGFBQWEsSUFBSSxlQUFlLEVBQUU7UUFJM0MsTUFBTSxjQUFjLEdBQTJCLEVBQUUsQ0FBQTtRQUNqRCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFFM0IsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO1lBQUUsU0FBUSxDQUFDLHVCQUF1QjtRQUNyRyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFBRSxTQUFRLENBQUUsMkJBQTJCO1FBRXhGLEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO1lBRWhDLGlDQUFpQztZQUNqQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU87Z0JBQUUsU0FBUTtZQUVqQyx3Q0FBd0M7WUFDeEMsa0NBQWtDO1lBQ2xDLGlDQUFpQztZQUNqQyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUU7WUFFMUMsbUJBQW1CO1lBQ25CLGlIQUFpSDtZQUNqSCw2R0FBNkc7WUFDN0csaUJBQWlCO2lCQUNaLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQzlCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxHQUFHLEtBQUssZUFBZSxJQUFJLEdBQUcsS0FBRyx1QkFBdUIsRUFBRTtvQkFDNUQsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUNwRDthQUNGO1lBRUQsK0RBQStEO1lBQy9ELDZDQUE2QztpQkFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUM7Z0JBQ2pDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEQsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBRXRFLEtBQUssTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFO29CQUU5QixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO29CQUVwQyxJQUFJLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFFLGNBQWM7b0JBQ3JELFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFFNUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7b0JBRXJDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztvQkFDWixJQUFJLElBQUksR0FBRyxPQUFPLENBQUM7b0JBQ25CLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDekIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTt3QkFDdkMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUNqQyxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUMsQ0FBQyxDQUFDLENBQUE7cUJBQ25DO29CQUVELGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3JFO2FBRUY7U0FHRjtRQUVELHFFQUFxRTtRQUNyRSxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDN0QsT0FBTyxjQUFjLENBQUMsRUFBRSxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksY0FBYyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO1FBQ3ZHLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUE7WUFDckUsU0FBUTtTQUNUO1FBQ0QsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUVqRyxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUE7UUFDcEIsS0FBSyxNQUFNLGNBQWMsSUFBSSxlQUFlLEVBQUU7WUFDNUMsV0FBVyxJQUFJLGNBQWMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO1NBQ2hEO1FBQ0QsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlCLFdBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ3pEO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFBO0tBRTNEO0lBR0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRWxDLENBQUM7QUFHRCxxQ0FBcUM7QUFDckMsTUFBTSxVQUFVLGdCQUFnQixDQUFDLFdBQW1CLEVBQUUsUUFBZ0I7SUFFcEUsTUFBTSxPQUFPLEdBQXFCLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFHOUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRWxDLENBQUMifQ==
@@ -1,3 +0,0 @@
1
- import { ILocalDependency } from '../DependencyTypes';
2
- export declare function csprojParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
3
- export declare function packagesConfigParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
@@ -1,49 +0,0 @@
1
- import xml from 'xml-js';
2
- import { PackageURL } from 'packageurl-js';
3
- const PURL_TYPE = "nuget";
4
- export function csprojParser(fileContent, filePath) {
5
- const results = { file: filePath, purls: [] };
6
- try {
7
- const fileProject = xml.xml2js(fileContent);
8
- const project = fileProject.elements.find(item => item.name == 'Project');
9
- const itemGroups = project.elements.filter(item => item.name == 'ItemGroup');
10
- const packageReference = [];
11
- itemGroups.forEach(itemGroup => {
12
- itemGroup.elements.forEach(item => {
13
- if (item.name == "PackageReference")
14
- packageReference.push(item);
15
- });
16
- });
17
- //Generates purls
18
- packageReference.forEach(itemPackage => {
19
- const packageName = itemPackage.attributes?.Include?.toString();
20
- const version = itemPackage.attributes?.Version?.toString();
21
- results.purls.push({
22
- purl: new PackageURL(PURL_TYPE, null, packageName, null, null, null).toString(),
23
- requirement: version
24
- });
25
- });
26
- }
27
- catch (e) {
28
- console.error(e);
29
- return Promise.resolve({ file: filePath, purls: [] });
30
- }
31
- return Promise.resolve(results);
32
- }
33
- export function packagesConfigParser(fileContent, filePath) {
34
- const results = { file: filePath, purls: [] };
35
- const packageConfig = xml.xml2js(fileContent);
36
- const packages = packageConfig.elements.filter(item => item.name == "packages");
37
- packages.forEach(pkg => {
38
- pkg.elements.forEach(dep => {
39
- const depName = dep.attributes?.id;
40
- const depVersion = dep.attributes?.version;
41
- results.purls.push({
42
- purl: new PackageURL(PURL_TYPE, null, depName, null, null, null).toString(),
43
- requirement: depVersion
44
- });
45
- });
46
- });
47
- return Promise.resolve(results);
48
- }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVnZXRQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9Mb2NhbERlcGVuZGVuY3kvcGFyc2Vycy9udWdldFBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEdBQWdCLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDO0FBRTFCLE1BQU0sVUFBVSxZQUFZLENBQUMsV0FBbUIsRUFBRSxRQUFnQjtJQUVoRSxNQUFNLE9BQU8sR0FBcUIsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUU5RCxJQUFJO1FBQ0YsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLENBQUM7UUFDMUUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxDQUFDO1FBRTdFLE1BQU0sZ0JBQWdCLEdBQW1CLEVBQUUsQ0FBQztRQUM1QyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdCLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNoQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksa0JBQWtCO29CQUNqQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILGlCQUFpQjtRQUNqQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDckMsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDaEUsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFFNUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksRUFBRSxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDOUUsV0FBVyxFQUFFLE9BQU87YUFDckIsQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUM7S0FFSjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO0tBQ3JEO0lBRUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ2pDLENBQUM7QUFHRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsV0FBbUIsRUFBRSxRQUFnQjtJQUV4RSxNQUFNLE9BQU8sR0FBcUIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNoRSxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQTtJQUUvRSxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3JCLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDO1lBRTNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzNFLFdBQVcsRUFBRSxVQUFVO2FBQ3hCLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbEMsQ0FBQyJ9
@@ -1,2 +0,0 @@
1
- import { ILocalDependency } from "../DependencyTypes";
2
- export declare function requirementsParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
@@ -1,57 +0,0 @@
1
- import path from "path";
2
- import { PackageURL } from "packageurl-js";
3
- import { isValidPath, isValidUrl } from './utils';
4
- function parseDep(str) {
5
- const res = /^(?<name>[-\w]+)\s*(?<sym>[>=~!]*)\s*(?<version>[\d\.]*)/.exec(str);
6
- return {
7
- name: res?.groups?.name,
8
- sym: res?.groups?.sym,
9
- version: res?.groups?.version,
10
- };
11
- }
12
- const PURL_TYPE = 'pypi';
13
- // Parse a requirements.txt file from python projects
14
- // See reference on: https://pip.pypa.io/en/stable/reference/requirements-file-format/
15
- const MANIFEST_FILE = 'requirements.txt';
16
- export function requirementsParser(fileContent, filePath) {
17
- // If the file is not a python manifest file, return an empty results
18
- const results = { file: filePath, purls: [] };
19
- if (path.basename(filePath) != MANIFEST_FILE)
20
- return Promise.resolve(results);
21
- const lines = fileContent.split('\n');
22
- for (let line of lines) {
23
- line = line.trim();
24
- if (line.length == 0)
25
- continue;
26
- if (!line.startsWith('#') && line.length > 0) { // Avoid comments and new lines
27
- if (isValidUrl(line)) {
28
- // For reference about the regex see https://www.rfc-editor.org/rfc/rfc3986#appendix-B
29
- const res = line.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/);
30
- continue;
31
- }
32
- else if (isValidPath(line)) {
33
- continue;
34
- } // Do not parse local dependencies.
35
- else if (line.startsWith('-r')) {
36
- continue;
37
- } // Recursive dependencies (NOT SUPPORTED YET)
38
- else {
39
- const dep = parseDep(line);
40
- if (!dep.sym) {
41
- const purlString = new PackageURL(PURL_TYPE, undefined, dep.name, undefined, undefined, undefined).toString();
42
- results.purls.push({ purl: purlString });
43
- }
44
- else if (dep.sym === '==') {
45
- const purlString = new PackageURL(PURL_TYPE, undefined, dep.name, dep.version, undefined, undefined).toString();
46
- results.purls.push({ purl: purlString });
47
- }
48
- else {
49
- const purlString = new PackageURL(PURL_TYPE, undefined, dep.name, undefined, undefined, undefined).toString();
50
- results.purls.push({ purl: purlString, requirement: dep.sym + dep.version });
51
- }
52
- }
53
- }
54
- }
55
- return Promise.resolve(results);
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHlQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9Mb2NhbERlcGVuZGVuY3kvcGFyc2Vycy9weVBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUdsRCxTQUFTLFFBQVEsQ0FBRSxHQUFXO0lBQzVCLE1BQU0sR0FBRyxHQUFHLDBEQUEwRCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRixPQUFPO1FBQ0wsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSTtRQUN2QixHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHO1FBQ3JCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE9BQU87S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUM7QUFFekIscURBQXFEO0FBQ3JELHNGQUFzRjtBQUN0RixNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUN6QyxNQUFNLFVBQVUsa0JBQWtCLENBQUMsV0FBbUIsRUFBRSxRQUFnQjtJQUVwRSxxRUFBcUU7SUFDckUsTUFBTSxPQUFPLEdBQXFCLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDOUQsSUFBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGFBQWE7UUFDdkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXBDLE1BQU0sS0FBSyxHQUFrQixXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJELEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3BCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBRyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUM7WUFBRSxTQUFTO1FBQzlCLElBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUMsQ0FBQyxFQUFFLEVBQUUsK0JBQStCO1lBQ3hFLElBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQixzRkFBc0Y7Z0JBQ3RGLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsK0RBQStELENBQUMsQ0FBQztnQkFDeEYsU0FBUzthQUNaO2lCQUNJLElBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUFDLFNBQVM7YUFBQyxDQUFDLG1DQUFtQztpQkFDckUsSUFBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUFDLFNBQVM7YUFBQyxDQUFDLDZDQUE2QztpQkFDbkY7Z0JBRUQsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDWixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDOUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztpQkFDeEM7cUJBQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRTtvQkFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNoSCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO2lCQUN4QztxQkFBTTtvQkFDTCxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDOUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxHQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO2lCQUMxRTthQUNKO1NBQ0o7S0FDSjtJQUNILE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNsQyxDQUFDIn0=
@@ -1,3 +0,0 @@
1
- import { ILocalDependency } from "../DependencyTypes";
2
- export declare function gemfileParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
3
- export declare function gemfilelockParser(fileContent: string, filePath: string): Promise<ILocalDependency>;