@cdxgen/cdxgen 0.0.1 → 13.0.1

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 (722) hide show
  1. package/README.md +921 -87
  2. package/bin/audit.js +239 -0
  3. package/bin/cdxgen.js +2335 -0
  4. package/bin/convert.js +220 -0
  5. package/bin/evinse.js +353 -0
  6. package/bin/hbom.js +504 -0
  7. package/bin/repl.js +2224 -0
  8. package/bin/sign.js +195 -0
  9. package/bin/tracebom.js +303 -0
  10. package/bin/validate.js +268 -0
  11. package/bin/verify.js +189 -0
  12. package/data/README.md +307 -0
  13. package/data/bom-1.4.schema.json +1605 -0
  14. package/data/bom-1.5.schema.json +3660 -0
  15. package/data/bom-1.6.schema.json +5511 -0
  16. package/data/bom-1.7.schema.json +6700 -0
  17. package/data/cbomosdb-queries.json +68 -0
  18. package/data/component-tags.json +339 -0
  19. package/data/container-knowledge-index.json +125 -0
  20. package/data/cosdb-queries.json +17 -0
  21. package/data/crypto-oid.json +1998 -0
  22. package/data/cryptography-defs.json +3793 -0
  23. package/data/cryptography-defs.schema.json +576 -0
  24. package/data/cyclonedx-2.0-bundled.schema.json +7182 -0
  25. package/data/frameworks-list.json +219 -0
  26. package/data/glibc-stdlib.json +117 -0
  27. package/data/gtfobins-index.json +6296 -0
  28. package/data/helpers/init.gradle +71 -0
  29. package/data/jsf-0.82.schema.json +211 -0
  30. package/data/known-licenses.json +82 -0
  31. package/data/lic-mapping.json +338 -0
  32. package/data/license-aliases.json +6624 -0
  33. package/data/license-db.json +39059 -0
  34. package/data/license-deprecations.json +302 -0
  35. package/data/lolbas-index.json +150 -0
  36. package/data/predictive-audit-allowlist.json +11 -0
  37. package/data/pypi-pkg-aliases.json +1199 -0
  38. package/data/python-stdlib.json +308 -0
  39. package/data/queries-darwin.json +193 -0
  40. package/data/queries-win.json +257 -0
  41. package/data/queries.json +268 -0
  42. package/data/ruby-known-modules.json +281 -0
  43. package/data/rules/ai-agent-governance.yaml +323 -0
  44. package/data/rules/ai-bom.yaml +268 -0
  45. package/data/rules/ai-oversight.yaml +186 -0
  46. package/data/rules/ai-provenance.yaml +92 -0
  47. package/data/rules/asar-archives.yaml +150 -0
  48. package/data/rules/cbom-security.yaml +165 -0
  49. package/data/rules/chrome-extensions.yaml +248 -0
  50. package/data/rules/ci-permissions.yaml +802 -0
  51. package/data/rules/container-risk.yaml +353 -0
  52. package/data/rules/dependency-sources.yaml +236 -0
  53. package/data/rules/golem-go.yaml +229 -0
  54. package/data/rules/hbom-compliance.yaml +325 -0
  55. package/data/rules/hbom-performance.yaml +307 -0
  56. package/data/rules/hbom-security.yaml +248 -0
  57. package/data/rules/host-topology.yaml +165 -0
  58. package/data/rules/mcp-servers.yaml +388 -0
  59. package/data/rules/obom-runtime.yaml +1776 -0
  60. package/data/rules/package-integrity.yaml +364 -0
  61. package/data/rules/rootfs-hardening.yaml +179 -0
  62. package/data/rules/vscode-extensions.yaml +237 -0
  63. package/data/spdx-export.schema.json +6794 -0
  64. package/data/spdx-license-list.json +7449 -0
  65. package/data/spdx-licenses.json +759 -0
  66. package/data/spdx.schema.json +819 -0
  67. package/data/templates/README.md +3 -0
  68. package/data/templates/asvs-4.0.3.cdx.json +2943 -0
  69. package/data/templates/asvs-5.0.cdx.json +3046 -0
  70. package/data/templates/bsimm-v13.cdx.json +1008 -0
  71. package/data/templates/masvs-2.0.0.cdx.json +225 -0
  72. package/data/templates/nist-ssdf-1.1.cdx.json +828 -0
  73. package/data/templates/pcissc-secure-slc-1.1.cdx.json +1027 -0
  74. package/data/templates/scvs-1.0.0.cdx.json +813 -0
  75. package/data/templates/ssaf-DRAFT-2023-11.cdx.json +127 -0
  76. package/data/vendor-alias.json +41967 -0
  77. package/data/wrapdb-releases.json +4227 -0
  78. package/index.cjs +15 -0
  79. package/lib/audit/index.js +2800 -0
  80. package/lib/audit/progress.js +114 -0
  81. package/lib/audit/reporters.js +937 -0
  82. package/lib/audit/scoring.js +560 -0
  83. package/lib/audit/targets.js +798 -0
  84. package/lib/cli/bomAssembly.js +1882 -0
  85. package/lib/cli/cliOptions.js +543 -0
  86. package/lib/cli/index.js +2759 -0
  87. package/lib/cli/jsBom.js +2087 -0
  88. package/lib/cli/jvmBom.js +1858 -0
  89. package/lib/cli/managedBom.js +2083 -0
  90. package/lib/cli/nativeBom.js +2125 -0
  91. package/lib/core/activity.js +1087 -0
  92. package/lib/core/env.js +719 -0
  93. package/lib/core/fs.js +1058 -0
  94. package/lib/core/httpClient.js +730 -0
  95. package/lib/core/logger.js +280 -0
  96. package/lib/core/parallel.js +323 -0
  97. package/lib/core/paths.js +70 -0
  98. package/lib/core/projectConfig.js +122 -0
  99. package/lib/core/propertySanitizer.js +174 -0
  100. package/lib/core/spdx.js +5 -0
  101. package/lib/core/state.js +59 -0
  102. package/lib/core/text.js +207 -0
  103. package/lib/core/ui.js +920 -0
  104. package/lib/core/urls.js +84 -0
  105. package/lib/ecosystems/asarutils.js +1636 -0
  106. package/lib/ecosystems/bunutils.js +402 -0
  107. package/lib/ecosystems/caxa.js +77 -0
  108. package/lib/ecosystems/chromextutils.js +1174 -0
  109. package/lib/ecosystems/cmakeResolver.js +587 -0
  110. package/lib/ecosystems/cppEvidence.js +305 -0
  111. package/lib/ecosystems/denoutils.js +1094 -0
  112. package/lib/ecosystems/dotnetutils.js +132 -0
  113. package/lib/ecosystems/ecosystems.js +2772 -0
  114. package/lib/ecosystems/golem.js +1807 -0
  115. package/lib/ecosystems/gradleutils.js +1048 -0
  116. package/lib/ecosystems/jsEvidence.js +317 -0
  117. package/lib/ecosystems/npmutils.js +586 -0
  118. package/lib/ecosystems/parsers-bazel.js +875 -0
  119. package/lib/ecosystems/parsers-dotnet.js +1430 -0
  120. package/lib/ecosystems/parsers-gleam.js +302 -0
  121. package/lib/ecosystems/parsers-go.js +818 -0
  122. package/lib/ecosystems/parsers-js.js +4222 -0
  123. package/lib/ecosystems/parsers-jvm.js +948 -0
  124. package/lib/ecosystems/parsers-misc.js +3191 -0
  125. package/lib/ecosystems/parsers-python.js +2070 -0
  126. package/lib/ecosystems/parsers-rust.js +1294 -0
  127. package/lib/ecosystems/parsers-zig.js +861 -0
  128. package/lib/ecosystems/pep770.js +341 -0
  129. package/lib/ecosystems/pylockutils.js +427 -0
  130. package/lib/ecosystems/pythonutils.js +1281 -0
  131. package/lib/ecosystems/registryProvenance.js +1003 -0
  132. package/lib/ecosystems/remote/huggingface.js +1343 -0
  133. package/lib/ecosystems/rubyutils.js +1629 -0
  134. package/lib/ecosystems/rusi.js +820 -0
  135. package/lib/ecosystems/sbtutils.js +972 -0
  136. package/lib/ecosystems/tea.js +607 -0
  137. package/lib/ecosystems/utils.js +583 -0
  138. package/lib/ecosystems/zigResolver.js +410 -0
  139. package/lib/evinser/db.js +145 -0
  140. package/lib/evinser/evinser.js +2362 -0
  141. package/lib/evinser/scalasem.js +65 -0
  142. package/lib/evinser/swiftsem.js +767 -0
  143. package/lib/helpers/annotationFormatter.js +84 -0
  144. package/lib/helpers/bomSigner.js +312 -0
  145. package/lib/helpers/exportUtils.js +160 -0
  146. package/lib/helpers/remote/dependency-track.js +117 -0
  147. package/lib/helpers/versutils.js +202 -0
  148. package/lib/helpers/vsixutils.js +1069 -0
  149. package/lib/inventory/agentFormulationParser.js +322 -0
  150. package/lib/inventory/aiCollector.js +2140 -0
  151. package/lib/inventory/aiInventory.js +414 -0
  152. package/lib/inventory/aiModelVariants.js +121 -0
  153. package/lib/inventory/aiOversightCollector.js +661 -0
  154. package/lib/inventory/aiProvenanceCollector.js +822 -0
  155. package/lib/inventory/analyzer.js +6089 -0
  156. package/lib/inventory/analyzerScope.js +807 -0
  157. package/lib/inventory/astWorker.js +20 -0
  158. package/lib/inventory/atomUtils.js +1092 -0
  159. package/lib/inventory/auditCategories.js +192 -0
  160. package/lib/inventory/bomUtils.js +369 -0
  161. package/lib/inventory/cacheCommands.js +182 -0
  162. package/lib/inventory/cacheDir.js +104 -0
  163. package/lib/inventory/cbomutils.js +590 -0
  164. package/lib/inventory/cdxrs.js +434 -0
  165. package/lib/inventory/ciParsers/azurePipelines.js +295 -0
  166. package/lib/inventory/ciParsers/circleCi.js +286 -0
  167. package/lib/inventory/ciParsers/common.js +24 -0
  168. package/lib/inventory/ciParsers/githubActions.js +2434 -0
  169. package/lib/inventory/ciParsers/gitlabCi.js +213 -0
  170. package/lib/inventory/ciParsers/jenkins.js +180 -0
  171. package/lib/inventory/citations.js +234 -0
  172. package/lib/inventory/communityAiConfigParser.js +756 -0
  173. package/lib/inventory/containerRisk.js +204 -0
  174. package/lib/inventory/cryptoAlgorithmFamily.js +258 -0
  175. package/lib/inventory/deps.js +807 -0
  176. package/lib/inventory/depsUtils.js +588 -0
  177. package/lib/inventory/display.js +2128 -0
  178. package/lib/inventory/dosai.js +601 -0
  179. package/lib/inventory/dosaiParsers.js +154 -0
  180. package/lib/inventory/dynamic.js +145 -0
  181. package/lib/inventory/envcontext.js +1793 -0
  182. package/lib/inventory/evidenceUtils.js +774 -0
  183. package/lib/inventory/fetchBatch.js +779 -0
  184. package/lib/inventory/fetchRate.js +255 -0
  185. package/lib/inventory/forgeEnricher.js +300 -0
  186. package/lib/inventory/formulationParsers.js +422 -0
  187. package/lib/inventory/gtfobins.js +339 -0
  188. package/lib/inventory/hbom.js +719 -0
  189. package/lib/inventory/hbomAnalysis.js +310 -0
  190. package/lib/inventory/hbomLoader.js +35 -0
  191. package/lib/inventory/hostTopology.js +835 -0
  192. package/lib/inventory/inventoryStats.js +100 -0
  193. package/lib/inventory/jsonLike.js +121 -0
  194. package/lib/inventory/licenseEnhancer.js +918 -0
  195. package/lib/inventory/lolbas.js +285 -0
  196. package/lib/inventory/mcp.js +253 -0
  197. package/lib/inventory/mcpConfigParser.js +683 -0
  198. package/lib/inventory/mcpDiscovery.js +112 -0
  199. package/lib/inventory/mcpPinning.js +209 -0
  200. package/lib/inventory/osPackageResolver.js +493 -0
  201. package/lib/inventory/osinfo.js +383 -0
  202. package/lib/inventory/osqueryTransform.js +274 -0
  203. package/lib/inventory/plugins.js +466 -0
  204. package/lib/inventory/protobom.js +231 -0
  205. package/lib/inventory/protobomLoader.js +43 -0
  206. package/lib/inventory/provenanceUtils.js +224 -0
  207. package/lib/inventory/purl.js +749 -0
  208. package/lib/inventory/rustFormulationParser.js +339 -0
  209. package/lib/inventory/sbomDocument.js +340 -0
  210. package/lib/inventory/source.js +1488 -0
  211. package/lib/inventory/spdx.js +361 -0
  212. package/lib/inventory/spdxExpression.js +512 -0
  213. package/lib/inventory/spdxUtils.js +107 -0
  214. package/lib/inventory/table.js +267 -0
  215. package/lib/inventory/traceRunner.js +439 -0
  216. package/lib/inventory/unicodeScan.js +147 -0
  217. package/lib/managers/binary.js +3459 -0
  218. package/lib/managers/containerutils.js +125 -0
  219. package/lib/managers/docker.js +2145 -0
  220. package/lib/managers/dockerConnection.js +162 -0
  221. package/lib/managers/oci.js +704 -0
  222. package/lib/managers/piptree.js +267 -0
  223. package/lib/parsers/cmakeCache.js +199 -0
  224. package/lib/parsers/gguf.js +492 -0
  225. package/lib/parsers/gitAiNotes.js +233 -0
  226. package/lib/parsers/gitmodules.js +239 -0
  227. package/lib/parsers/htmlExtract.js +610 -0
  228. package/lib/parsers/huggingfaceManifest.js +551 -0
  229. package/lib/parsers/huggingfaceUtils.js +506 -0
  230. package/lib/parsers/iri.js +618 -0
  231. package/lib/parsers/npmrc.js +99 -0
  232. package/lib/parsers/ollama.js +101 -0
  233. package/lib/parsers/xml.js +841 -0
  234. package/lib/server/openapi.yaml +433 -0
  235. package/lib/server/server.js +616 -0
  236. package/lib/stages/postgen/annotator.js +977 -0
  237. package/lib/stages/postgen/auditBom.js +468 -0
  238. package/lib/stages/postgen/postgen.js +1239 -0
  239. package/lib/stages/postgen/ruleEngine.js +731 -0
  240. package/lib/stages/postgen/sortBom.js +195 -0
  241. package/lib/stages/postgen/spdxConverter.js +796 -0
  242. package/lib/stages/postgen/specVersionCompat.js +703 -0
  243. package/lib/stages/pregen/envAudit.js +388 -0
  244. package/lib/stages/pregen/pregen.js +637 -0
  245. package/lib/third-party/README.md +9 -0
  246. package/lib/third-party/arborist/CHANGELOG.md +1109 -0
  247. package/lib/third-party/arborist/LICENSE.md +20 -0
  248. package/lib/third-party/arborist/README.md +315 -0
  249. package/lib/third-party/arborist/lib/arborist/index.js +258 -0
  250. package/lib/third-party/arborist/lib/arborist/load-actual.js +605 -0
  251. package/lib/third-party/arborist/lib/arborist/load-virtual.js +300 -0
  252. package/lib/third-party/arborist/lib/bin-links.js +120 -0
  253. package/lib/third-party/arborist/lib/calc-dep-flags.js +130 -0
  254. package/lib/third-party/arborist/lib/case-insensitive-map.js +51 -0
  255. package/lib/third-party/arborist/lib/consistent-resolve.js +42 -0
  256. package/lib/third-party/arborist/lib/debug.js +50 -0
  257. package/lib/third-party/arborist/lib/dep-valid.js +190 -0
  258. package/lib/third-party/arborist/lib/edge.js +417 -0
  259. package/lib/third-party/arborist/lib/from-path.js +36 -0
  260. package/lib/third-party/arborist/lib/gather-dep-set.js +43 -0
  261. package/lib/third-party/arborist/lib/index.js +22 -0
  262. package/lib/third-party/arborist/lib/inventory.js +138 -0
  263. package/lib/third-party/arborist/lib/link.js +169 -0
  264. package/lib/third-party/arborist/lib/node.js +1673 -0
  265. package/lib/third-party/arborist/lib/npm-extension.js +45 -0
  266. package/lib/third-party/arborist/lib/override-resolves.js +11 -0
  267. package/lib/third-party/arborist/lib/override-set.js +319 -0
  268. package/lib/third-party/arborist/lib/package-extensions.js +289 -0
  269. package/lib/third-party/arborist/lib/printable.js +210 -0
  270. package/lib/third-party/arborist/lib/proc-log.js +30 -0
  271. package/lib/third-party/arborist/lib/realpath.js +100 -0
  272. package/lib/third-party/arborist/lib/relpath.js +4 -0
  273. package/lib/third-party/arborist/lib/shrinkwrap.js +1291 -0
  274. package/lib/third-party/arborist/lib/spec-from-lock.js +34 -0
  275. package/lib/third-party/arborist/lib/tree-check.js +165 -0
  276. package/lib/third-party/arborist/lib/validate-npm-package-name.js +107 -0
  277. package/lib/third-party/arborist/lib/version-from-tgz.js +51 -0
  278. package/lib/third-party/arborist/lib/yarn-lock.js +397 -0
  279. package/lib/validator/bomValidator.js +985 -0
  280. package/lib/validator/complianceEngine.js +241 -0
  281. package/lib/validator/complianceRules.js +1680 -0
  282. package/lib/validator/generated/runtime.mjs +17 -0
  283. package/lib/validator/generated/validate-1.6.mjs +21258 -0
  284. package/lib/validator/generated/validate-1.7.mjs +24803 -0
  285. package/lib/validator/generated/validate-2.0.mjs +22931 -0
  286. package/lib/validator/index.js +246 -0
  287. package/lib/validator/reporters/annotations.js +142 -0
  288. package/lib/validator/reporters/console.js +160 -0
  289. package/lib/validator/reporters/index.js +41 -0
  290. package/lib/validator/reporters/json.js +37 -0
  291. package/lib/validator/reporters/sarif.js +184 -0
  292. package/package.json +209 -26
  293. package/types/bin/audit.d.ts +3 -0
  294. package/types/bin/audit.d.ts.map +1 -0
  295. package/types/bin/cdxgen.d.ts +3 -0
  296. package/types/bin/cdxgen.d.ts.map +1 -0
  297. package/types/bin/convert.d.ts +3 -0
  298. package/types/bin/convert.d.ts.map +1 -0
  299. package/types/bin/evinse.d.ts +3 -0
  300. package/types/bin/evinse.d.ts.map +1 -0
  301. package/types/bin/hbom.d.ts +3 -0
  302. package/types/bin/hbom.d.ts.map +1 -0
  303. package/types/bin/repl.d.ts +3 -0
  304. package/types/bin/repl.d.ts.map +1 -0
  305. package/types/bin/sign.d.ts +3 -0
  306. package/types/bin/sign.d.ts.map +1 -0
  307. package/types/bin/tracebom.d.ts +3 -0
  308. package/types/bin/tracebom.d.ts.map +1 -0
  309. package/types/bin/validate.d.ts +14 -0
  310. package/types/bin/validate.d.ts.map +1 -0
  311. package/types/bin/verify.d.ts +3 -0
  312. package/types/bin/verify.d.ts.map +1 -0
  313. package/types/lib/audit/index.d.ts +153 -0
  314. package/types/lib/audit/index.d.ts.map +1 -0
  315. package/types/lib/audit/progress.d.ts +31 -0
  316. package/types/lib/audit/progress.d.ts.map +1 -0
  317. package/types/lib/audit/reporters.d.ts +62 -0
  318. package/types/lib/audit/reporters.d.ts.map +1 -0
  319. package/types/lib/audit/scoring.d.ts +36 -0
  320. package/types/lib/audit/scoring.d.ts.map +1 -0
  321. package/types/lib/audit/targets.d.ts +77 -0
  322. package/types/lib/audit/targets.d.ts.map +1 -0
  323. package/types/lib/cli/bomAssembly.d.ts +329 -0
  324. package/types/lib/cli/bomAssembly.d.ts.map +1 -0
  325. package/types/lib/cli/cliOptions.d.ts +156 -0
  326. package/types/lib/cli/cliOptions.d.ts.map +1 -0
  327. package/types/lib/cli/index.d.ts +107 -0
  328. package/types/lib/cli/index.d.ts.map +1 -0
  329. package/types/lib/cli/jsBom.d.ts +94 -0
  330. package/types/lib/cli/jsBom.d.ts.map +1 -0
  331. package/types/lib/cli/jvmBom.d.ts +54 -0
  332. package/types/lib/cli/jvmBom.d.ts.map +1 -0
  333. package/types/lib/cli/managedBom.d.ts +105 -0
  334. package/types/lib/cli/managedBom.d.ts.map +1 -0
  335. package/types/lib/cli/nativeBom.d.ts +143 -0
  336. package/types/lib/cli/nativeBom.d.ts.map +1 -0
  337. package/types/lib/core/activity.d.ts +178 -0
  338. package/types/lib/core/activity.d.ts.map +1 -0
  339. package/types/lib/core/env.d.ts +192 -0
  340. package/types/lib/core/env.d.ts.map +1 -0
  341. package/types/lib/core/fs.d.ts +158 -0
  342. package/types/lib/core/fs.d.ts.map +1 -0
  343. package/types/lib/core/httpClient.d.ts +149 -0
  344. package/types/lib/core/httpClient.d.ts.map +1 -0
  345. package/types/lib/core/logger.d.ts +50 -0
  346. package/types/lib/core/logger.d.ts.map +1 -0
  347. package/types/lib/core/parallel.d.ts +95 -0
  348. package/types/lib/core/parallel.d.ts.map +1 -0
  349. package/types/lib/core/paths.d.ts +36 -0
  350. package/types/lib/core/paths.d.ts.map +1 -0
  351. package/types/lib/core/projectConfig.d.ts +23 -0
  352. package/types/lib/core/projectConfig.d.ts.map +1 -0
  353. package/types/lib/core/propertySanitizer.d.ts +23 -0
  354. package/types/lib/core/propertySanitizer.d.ts.map +1 -0
  355. package/types/lib/core/spdx.d.ts +5 -0
  356. package/types/lib/core/spdx.d.ts.map +1 -0
  357. package/types/lib/core/state.d.ts +20 -0
  358. package/types/lib/core/state.d.ts.map +1 -0
  359. package/types/lib/core/text.d.ts +78 -0
  360. package/types/lib/core/text.d.ts.map +1 -0
  361. package/types/lib/core/ui.d.ts +87 -0
  362. package/types/lib/core/ui.d.ts.map +1 -0
  363. package/types/lib/core/urls.d.ts +43 -0
  364. package/types/lib/core/urls.d.ts.map +1 -0
  365. package/types/lib/ecosystems/asarutils.d.ts +71 -0
  366. package/types/lib/ecosystems/asarutils.d.ts.map +1 -0
  367. package/types/lib/ecosystems/bunutils.d.ts +38 -0
  368. package/types/lib/ecosystems/bunutils.d.ts.map +1 -0
  369. package/types/lib/ecosystems/caxa.d.ts +8 -0
  370. package/types/lib/ecosystems/caxa.d.ts.map +1 -0
  371. package/types/lib/ecosystems/chromextutils.d.ts +97 -0
  372. package/types/lib/ecosystems/chromextutils.d.ts.map +1 -0
  373. package/types/lib/ecosystems/cmakeResolver.d.ts +176 -0
  374. package/types/lib/ecosystems/cmakeResolver.d.ts.map +1 -0
  375. package/types/lib/ecosystems/cppEvidence.d.ts +35 -0
  376. package/types/lib/ecosystems/cppEvidence.d.ts.map +1 -0
  377. package/types/lib/ecosystems/denoutils.d.ts +76 -0
  378. package/types/lib/ecosystems/denoutils.d.ts.map +1 -0
  379. package/types/lib/ecosystems/dotnetutils.d.ts +45 -0
  380. package/types/lib/ecosystems/dotnetutils.d.ts.map +1 -0
  381. package/types/lib/ecosystems/ecosystems.d.ts +279 -0
  382. package/types/lib/ecosystems/ecosystems.d.ts.map +1 -0
  383. package/types/lib/ecosystems/golem.d.ts +60 -0
  384. package/types/lib/ecosystems/golem.d.ts.map +1 -0
  385. package/types/lib/ecosystems/gradleutils.d.ts +139 -0
  386. package/types/lib/ecosystems/gradleutils.d.ts.map +1 -0
  387. package/types/lib/ecosystems/jsEvidence.d.ts +17 -0
  388. package/types/lib/ecosystems/jsEvidence.d.ts.map +1 -0
  389. package/types/lib/ecosystems/npmutils.d.ts +183 -0
  390. package/types/lib/ecosystems/npmutils.d.ts.map +1 -0
  391. package/types/lib/ecosystems/parsers-bazel.d.ts +36 -0
  392. package/types/lib/ecosystems/parsers-bazel.d.ts.map +1 -0
  393. package/types/lib/ecosystems/parsers-dotnet.d.ts +116 -0
  394. package/types/lib/ecosystems/parsers-dotnet.d.ts.map +1 -0
  395. package/types/lib/ecosystems/parsers-gleam.d.ts +33 -0
  396. package/types/lib/ecosystems/parsers-gleam.d.ts.map +1 -0
  397. package/types/lib/ecosystems/parsers-go.d.ts +92 -0
  398. package/types/lib/ecosystems/parsers-go.d.ts.map +1 -0
  399. package/types/lib/ecosystems/parsers-js.d.ts +242 -0
  400. package/types/lib/ecosystems/parsers-js.d.ts.map +1 -0
  401. package/types/lib/ecosystems/parsers-jvm.d.ts +100 -0
  402. package/types/lib/ecosystems/parsers-jvm.d.ts.map +1 -0
  403. package/types/lib/ecosystems/parsers-misc.d.ts +450 -0
  404. package/types/lib/ecosystems/parsers-misc.d.ts.map +1 -0
  405. package/types/lib/ecosystems/parsers-python.d.ts +145 -0
  406. package/types/lib/ecosystems/parsers-python.d.ts.map +1 -0
  407. package/types/lib/ecosystems/parsers-rust.d.ts +56 -0
  408. package/types/lib/ecosystems/parsers-rust.d.ts.map +1 -0
  409. package/types/lib/ecosystems/parsers-zig.d.ts +83 -0
  410. package/types/lib/ecosystems/parsers-zig.d.ts.map +1 -0
  411. package/types/lib/ecosystems/pep770.d.ts +38 -0
  412. package/types/lib/ecosystems/pep770.d.ts.map +1 -0
  413. package/types/lib/ecosystems/pylockutils.d.ts +68 -0
  414. package/types/lib/ecosystems/pylockutils.d.ts.map +1 -0
  415. package/types/lib/ecosystems/pythonutils.d.ts +70 -0
  416. package/types/lib/ecosystems/pythonutils.d.ts.map +1 -0
  417. package/types/lib/ecosystems/registryProvenance.d.ts +26 -0
  418. package/types/lib/ecosystems/registryProvenance.d.ts.map +1 -0
  419. package/types/lib/ecosystems/remote/huggingface.d.ts +31 -0
  420. package/types/lib/ecosystems/remote/huggingface.d.ts.map +1 -0
  421. package/types/lib/ecosystems/rubyutils.d.ts +182 -0
  422. package/types/lib/ecosystems/rubyutils.d.ts.map +1 -0
  423. package/types/lib/ecosystems/rusi.d.ts +40 -0
  424. package/types/lib/ecosystems/rusi.d.ts.map +1 -0
  425. package/types/lib/ecosystems/sbtutils.d.ts +179 -0
  426. package/types/lib/ecosystems/sbtutils.d.ts.map +1 -0
  427. package/types/lib/ecosystems/tea.d.ts +180 -0
  428. package/types/lib/ecosystems/tea.d.ts.map +1 -0
  429. package/types/lib/ecosystems/utils.d.ts +41 -0
  430. package/types/lib/ecosystems/utils.d.ts.map +1 -0
  431. package/types/lib/ecosystems/zigResolver.d.ts +70 -0
  432. package/types/lib/ecosystems/zigResolver.d.ts.map +1 -0
  433. package/types/lib/evinser/db.d.ts +17 -0
  434. package/types/lib/evinser/db.d.ts.map +1 -0
  435. package/types/lib/evinser/evinser.d.ts +354 -0
  436. package/types/lib/evinser/evinser.d.ts.map +1 -0
  437. package/types/lib/evinser/scalasem.d.ts +15 -0
  438. package/types/lib/evinser/scalasem.d.ts.map +1 -0
  439. package/types/lib/evinser/swiftsem.d.ts +103 -0
  440. package/types/lib/evinser/swiftsem.d.ts.map +1 -0
  441. package/types/lib/helpers/annotationFormatter.d.ts +23 -0
  442. package/types/lib/helpers/annotationFormatter.d.ts.map +1 -0
  443. package/types/lib/helpers/bomSigner.d.ts +28 -0
  444. package/types/lib/helpers/bomSigner.d.ts.map +1 -0
  445. package/types/lib/helpers/exportUtils.d.ts +52 -0
  446. package/types/lib/helpers/exportUtils.d.ts.map +1 -0
  447. package/types/lib/helpers/remote/dependency-track.d.ts +23 -0
  448. package/types/lib/helpers/remote/dependency-track.d.ts.map +1 -0
  449. package/types/lib/helpers/versutils.d.ts +8 -0
  450. package/types/lib/helpers/versutils.d.ts.map +1 -0
  451. package/types/lib/helpers/vsixutils.d.ts +130 -0
  452. package/types/lib/helpers/vsixutils.d.ts.map +1 -0
  453. package/types/lib/inventory/agentFormulationParser.d.ts +21 -0
  454. package/types/lib/inventory/agentFormulationParser.d.ts.map +1 -0
  455. package/types/lib/inventory/aiCollector.d.ts +61 -0
  456. package/types/lib/inventory/aiCollector.d.ts.map +1 -0
  457. package/types/lib/inventory/aiInventory.d.ts +103 -0
  458. package/types/lib/inventory/aiInventory.d.ts.map +1 -0
  459. package/types/lib/inventory/aiModelVariants.d.ts +31 -0
  460. package/types/lib/inventory/aiModelVariants.d.ts.map +1 -0
  461. package/types/lib/inventory/aiOversightCollector.d.ts +28 -0
  462. package/types/lib/inventory/aiOversightCollector.d.ts.map +1 -0
  463. package/types/lib/inventory/aiProvenanceCollector.d.ts +13 -0
  464. package/types/lib/inventory/aiProvenanceCollector.d.ts.map +1 -0
  465. package/types/lib/inventory/analyzer.d.ts +157 -0
  466. package/types/lib/inventory/analyzer.d.ts.map +1 -0
  467. package/types/lib/inventory/analyzerScope.d.ts +106 -0
  468. package/types/lib/inventory/analyzerScope.d.ts.map +1 -0
  469. package/types/lib/inventory/astWorker.d.ts +9 -0
  470. package/types/lib/inventory/astWorker.d.ts.map +1 -0
  471. package/types/lib/inventory/atomUtils.d.ts +159 -0
  472. package/types/lib/inventory/atomUtils.d.ts.map +1 -0
  473. package/types/lib/inventory/auditCategories.d.ts +80 -0
  474. package/types/lib/inventory/auditCategories.d.ts.map +1 -0
  475. package/types/lib/inventory/bomUtils.d.ts +145 -0
  476. package/types/lib/inventory/bomUtils.d.ts.map +1 -0
  477. package/types/lib/inventory/cacheCommands.d.ts +28 -0
  478. package/types/lib/inventory/cacheCommands.d.ts.map +1 -0
  479. package/types/lib/inventory/cacheDir.d.ts +55 -0
  480. package/types/lib/inventory/cacheDir.d.ts.map +1 -0
  481. package/types/lib/inventory/cbomutils.d.ts +37 -0
  482. package/types/lib/inventory/cbomutils.d.ts.map +1 -0
  483. package/types/lib/inventory/cdxrs.d.ts +90 -0
  484. package/types/lib/inventory/cdxrs.d.ts.map +1 -0
  485. package/types/lib/inventory/ciParsers/azurePipelines.d.ts +27 -0
  486. package/types/lib/inventory/ciParsers/azurePipelines.d.ts.map +1 -0
  487. package/types/lib/inventory/ciParsers/circleCi.d.ts +27 -0
  488. package/types/lib/inventory/ciParsers/circleCi.d.ts.map +1 -0
  489. package/types/lib/inventory/ciParsers/common.d.ts +11 -0
  490. package/types/lib/inventory/ciParsers/common.d.ts.map +1 -0
  491. package/types/lib/inventory/ciParsers/githubActions.d.ts +38 -0
  492. package/types/lib/inventory/ciParsers/githubActions.d.ts.map +1 -0
  493. package/types/lib/inventory/ciParsers/gitlabCi.d.ts +26 -0
  494. package/types/lib/inventory/ciParsers/gitlabCi.d.ts.map +1 -0
  495. package/types/lib/inventory/ciParsers/jenkins.d.ts +26 -0
  496. package/types/lib/inventory/ciParsers/jenkins.d.ts.map +1 -0
  497. package/types/lib/inventory/citations.d.ts +90 -0
  498. package/types/lib/inventory/citations.d.ts.map +1 -0
  499. package/types/lib/inventory/communityAiConfigParser.d.ts +14 -0
  500. package/types/lib/inventory/communityAiConfigParser.d.ts.map +1 -0
  501. package/types/lib/inventory/containerRisk.d.ts +20 -0
  502. package/types/lib/inventory/containerRisk.d.ts.map +1 -0
  503. package/types/lib/inventory/cryptoAlgorithmFamily.d.ts +37 -0
  504. package/types/lib/inventory/cryptoAlgorithmFamily.d.ts.map +1 -0
  505. package/types/lib/inventory/deps.d.ts +140 -0
  506. package/types/lib/inventory/deps.d.ts.map +1 -0
  507. package/types/lib/inventory/depsUtils.d.ts +74 -0
  508. package/types/lib/inventory/depsUtils.d.ts.map +1 -0
  509. package/types/lib/inventory/display.d.ts +227 -0
  510. package/types/lib/inventory/display.d.ts.map +1 -0
  511. package/types/lib/inventory/dosai.d.ts +130 -0
  512. package/types/lib/inventory/dosai.d.ts.map +1 -0
  513. package/types/lib/inventory/dosaiParsers.d.ts +59 -0
  514. package/types/lib/inventory/dosaiParsers.d.ts.map +1 -0
  515. package/types/lib/inventory/dynamic.d.ts +25 -0
  516. package/types/lib/inventory/dynamic.d.ts.map +1 -0
  517. package/types/lib/inventory/envcontext.d.ts +377 -0
  518. package/types/lib/inventory/envcontext.d.ts.map +1 -0
  519. package/types/lib/inventory/evidenceUtils.d.ts +74 -0
  520. package/types/lib/inventory/evidenceUtils.d.ts.map +1 -0
  521. package/types/lib/inventory/fetchBatch.d.ts +127 -0
  522. package/types/lib/inventory/fetchBatch.d.ts.map +1 -0
  523. package/types/lib/inventory/fetchRate.d.ts +118 -0
  524. package/types/lib/inventory/fetchRate.d.ts.map +1 -0
  525. package/types/lib/inventory/forgeEnricher.d.ts +31 -0
  526. package/types/lib/inventory/forgeEnricher.d.ts.map +1 -0
  527. package/types/lib/inventory/formulationParsers.d.ts +50 -0
  528. package/types/lib/inventory/formulationParsers.d.ts.map +1 -0
  529. package/types/lib/inventory/gtfobins.d.ts +27 -0
  530. package/types/lib/inventory/gtfobins.d.ts.map +1 -0
  531. package/types/lib/inventory/hbom.d.ts +58 -0
  532. package/types/lib/inventory/hbom.d.ts.map +1 -0
  533. package/types/lib/inventory/hbomAnalysis.d.ts +56 -0
  534. package/types/lib/inventory/hbomAnalysis.d.ts.map +1 -0
  535. package/types/lib/inventory/hbomLoader.d.ts +7 -0
  536. package/types/lib/inventory/hbomLoader.d.ts.map +1 -0
  537. package/types/lib/inventory/hostTopology.d.ts +47 -0
  538. package/types/lib/inventory/hostTopology.d.ts.map +1 -0
  539. package/types/lib/inventory/inventoryStats.d.ts +42 -0
  540. package/types/lib/inventory/inventoryStats.d.ts.map +1 -0
  541. package/types/lib/inventory/jsonLike.d.ts +23 -0
  542. package/types/lib/inventory/jsonLike.d.ts.map +1 -0
  543. package/types/lib/inventory/licenseEnhancer.d.ts +70 -0
  544. package/types/lib/inventory/licenseEnhancer.d.ts.map +1 -0
  545. package/types/lib/inventory/lolbas.d.ts +16 -0
  546. package/types/lib/inventory/lolbas.d.ts.map +1 -0
  547. package/types/lib/inventory/mcp.d.ts +29 -0
  548. package/types/lib/inventory/mcp.d.ts.map +1 -0
  549. package/types/lib/inventory/mcpConfigParser.d.ts +20 -0
  550. package/types/lib/inventory/mcpConfigParser.d.ts.map +1 -0
  551. package/types/lib/inventory/mcpDiscovery.d.ts +33 -0
  552. package/types/lib/inventory/mcpDiscovery.d.ts.map +1 -0
  553. package/types/lib/inventory/mcpPinning.d.ts +11 -0
  554. package/types/lib/inventory/mcpPinning.d.ts.map +1 -0
  555. package/types/lib/inventory/osPackageResolver.d.ts +49 -0
  556. package/types/lib/inventory/osPackageResolver.d.ts.map +1 -0
  557. package/types/lib/inventory/osinfo.d.ts +201 -0
  558. package/types/lib/inventory/osinfo.d.ts.map +1 -0
  559. package/types/lib/inventory/osqueryTransform.d.ts +84 -0
  560. package/types/lib/inventory/osqueryTransform.d.ts.map +1 -0
  561. package/types/lib/inventory/plugins.d.ts +58 -0
  562. package/types/lib/inventory/plugins.d.ts.map +1 -0
  563. package/types/lib/inventory/protobom.d.ts +71 -0
  564. package/types/lib/inventory/protobom.d.ts.map +1 -0
  565. package/types/lib/inventory/protobomLoader.d.ts +17 -0
  566. package/types/lib/inventory/protobomLoader.d.ts.map +1 -0
  567. package/types/lib/inventory/provenanceUtils.d.ts +98 -0
  568. package/types/lib/inventory/provenanceUtils.d.ts.map +1 -0
  569. package/types/lib/inventory/purl.d.ts +313 -0
  570. package/types/lib/inventory/purl.d.ts.map +1 -0
  571. package/types/lib/inventory/rustFormulationParser.d.ts +17 -0
  572. package/types/lib/inventory/rustFormulationParser.d.ts.map +1 -0
  573. package/types/lib/inventory/sbomDocument.d.ts +59 -0
  574. package/types/lib/inventory/sbomDocument.d.ts.map +1 -0
  575. package/types/lib/inventory/source.d.ts +163 -0
  576. package/types/lib/inventory/source.d.ts.map +1 -0
  577. package/types/lib/inventory/spdx.d.ts +66 -0
  578. package/types/lib/inventory/spdx.d.ts.map +1 -0
  579. package/types/lib/inventory/spdxExpression.d.ts +58 -0
  580. package/types/lib/inventory/spdxExpression.d.ts.map +1 -0
  581. package/types/lib/inventory/spdxUtils.d.ts +12 -0
  582. package/types/lib/inventory/spdxUtils.d.ts.map +1 -0
  583. package/types/lib/inventory/table.d.ts +22 -0
  584. package/types/lib/inventory/table.d.ts.map +1 -0
  585. package/types/lib/inventory/traceRunner.d.ts +80 -0
  586. package/types/lib/inventory/traceRunner.d.ts.map +1 -0
  587. package/types/lib/inventory/unicodeScan.d.ts +46 -0
  588. package/types/lib/inventory/unicodeScan.d.ts.map +1 -0
  589. package/types/lib/managers/binary.d.ts +147 -0
  590. package/types/lib/managers/binary.d.ts.map +1 -0
  591. package/types/lib/managers/containerutils.d.ts +30 -0
  592. package/types/lib/managers/containerutils.d.ts.map +1 -0
  593. package/types/lib/managers/docker.d.ts +157 -0
  594. package/types/lib/managers/docker.d.ts.map +1 -0
  595. package/types/lib/managers/dockerConnection.d.ts +42 -0
  596. package/types/lib/managers/dockerConnection.d.ts.map +1 -0
  597. package/types/lib/managers/oci.d.ts +21 -0
  598. package/types/lib/managers/oci.d.ts.map +1 -0
  599. package/types/lib/managers/piptree.d.ts +13 -0
  600. package/types/lib/managers/piptree.d.ts.map +1 -0
  601. package/types/lib/parsers/cmakeCache.d.ts +70 -0
  602. package/types/lib/parsers/cmakeCache.d.ts.map +1 -0
  603. package/types/lib/parsers/gguf.d.ts +39 -0
  604. package/types/lib/parsers/gguf.d.ts.map +1 -0
  605. package/types/lib/parsers/gitAiNotes.d.ts +15 -0
  606. package/types/lib/parsers/gitAiNotes.d.ts.map +1 -0
  607. package/types/lib/parsers/gitmodules.d.ts +88 -0
  608. package/types/lib/parsers/gitmodules.d.ts.map +1 -0
  609. package/types/lib/parsers/htmlExtract.d.ts +34 -0
  610. package/types/lib/parsers/htmlExtract.d.ts.map +1 -0
  611. package/types/lib/parsers/huggingfaceManifest.d.ts +153 -0
  612. package/types/lib/parsers/huggingfaceManifest.d.ts.map +1 -0
  613. package/types/lib/parsers/huggingfaceUtils.d.ts +155 -0
  614. package/types/lib/parsers/huggingfaceUtils.d.ts.map +1 -0
  615. package/types/lib/parsers/iri.d.ts +68 -0
  616. package/types/lib/parsers/iri.d.ts.map +1 -0
  617. package/types/lib/parsers/npmrc.d.ts +33 -0
  618. package/types/lib/parsers/npmrc.d.ts.map +1 -0
  619. package/types/lib/parsers/ollama.d.ts +22 -0
  620. package/types/lib/parsers/ollama.d.ts.map +1 -0
  621. package/types/lib/parsers/xml.d.ts +47 -0
  622. package/types/lib/parsers/xml.d.ts.map +1 -0
  623. package/types/lib/server/server.d.ts +51 -0
  624. package/types/lib/server/server.d.ts.map +1 -0
  625. package/types/lib/stages/postgen/annotator.d.ts +36 -0
  626. package/types/lib/stages/postgen/annotator.d.ts.map +1 -0
  627. package/types/lib/stages/postgen/auditBom.d.ts +92 -0
  628. package/types/lib/stages/postgen/auditBom.d.ts.map +1 -0
  629. package/types/lib/stages/postgen/postgen.d.ts +59 -0
  630. package/types/lib/stages/postgen/postgen.d.ts.map +1 -0
  631. package/types/lib/stages/postgen/ruleEngine.d.ts +18 -0
  632. package/types/lib/stages/postgen/ruleEngine.d.ts.map +1 -0
  633. package/types/lib/stages/postgen/sortBom.d.ts +34 -0
  634. package/types/lib/stages/postgen/sortBom.d.ts.map +1 -0
  635. package/types/lib/stages/postgen/spdxConverter.d.ts +11 -0
  636. package/types/lib/stages/postgen/spdxConverter.d.ts.map +1 -0
  637. package/types/lib/stages/postgen/specVersionCompat.d.ts +71 -0
  638. package/types/lib/stages/postgen/specVersionCompat.d.ts.map +1 -0
  639. package/types/lib/stages/pregen/envAudit.d.ts +14 -0
  640. package/types/lib/stages/pregen/envAudit.d.ts.map +1 -0
  641. package/types/lib/stages/pregen/pregen.d.ts +59 -0
  642. package/types/lib/stages/pregen/pregen.d.ts.map +1 -0
  643. package/types/lib/third-party/arborist/lib/arborist/index.d.ts +47 -0
  644. package/types/lib/third-party/arborist/lib/arborist/index.d.ts.map +1 -0
  645. package/types/lib/third-party/arborist/lib/arborist/load-actual.d.ts +4 -0
  646. package/types/lib/third-party/arborist/lib/arborist/load-actual.d.ts.map +1 -0
  647. package/types/lib/third-party/arborist/lib/arborist/load-virtual.d.ts +4 -0
  648. package/types/lib/third-party/arborist/lib/arborist/load-virtual.d.ts.map +1 -0
  649. package/types/lib/third-party/arborist/lib/bin-links.d.ts +18 -0
  650. package/types/lib/third-party/arborist/lib/bin-links.d.ts.map +1 -0
  651. package/types/lib/third-party/arborist/lib/calc-dep-flags.d.ts +3 -0
  652. package/types/lib/third-party/arborist/lib/calc-dep-flags.d.ts.map +1 -0
  653. package/types/lib/third-party/arborist/lib/case-insensitive-map.d.ts +9 -0
  654. package/types/lib/third-party/arborist/lib/case-insensitive-map.d.ts.map +1 -0
  655. package/types/lib/third-party/arborist/lib/consistent-resolve.d.ts +3 -0
  656. package/types/lib/third-party/arborist/lib/consistent-resolve.d.ts.map +1 -0
  657. package/types/lib/third-party/arborist/lib/debug.d.ts +3 -0
  658. package/types/lib/third-party/arborist/lib/debug.d.ts.map +1 -0
  659. package/types/lib/third-party/arborist/lib/dep-valid.d.ts +3 -0
  660. package/types/lib/third-party/arborist/lib/dep-valid.d.ts.map +1 -0
  661. package/types/lib/third-party/arborist/lib/edge.d.ts +46 -0
  662. package/types/lib/third-party/arborist/lib/edge.d.ts.map +1 -0
  663. package/types/lib/third-party/arborist/lib/from-path.d.ts +3 -0
  664. package/types/lib/third-party/arborist/lib/from-path.d.ts.map +1 -0
  665. package/types/lib/third-party/arborist/lib/gather-dep-set.d.ts +3 -0
  666. package/types/lib/third-party/arborist/lib/gather-dep-set.d.ts.map +1 -0
  667. package/types/lib/third-party/arborist/lib/index.d.ts +3 -0
  668. package/types/lib/third-party/arborist/lib/index.d.ts.map +1 -0
  669. package/types/lib/third-party/arborist/lib/inventory.d.ts +14 -0
  670. package/types/lib/third-party/arborist/lib/inventory.d.ts.map +1 -0
  671. package/types/lib/third-party/arborist/lib/link.d.ts +18 -0
  672. package/types/lib/third-party/arborist/lib/link.d.ts.map +1 -0
  673. package/types/lib/third-party/arborist/lib/node.d.ts +112 -0
  674. package/types/lib/third-party/arborist/lib/node.d.ts.map +1 -0
  675. package/types/lib/third-party/arborist/lib/npm-extension.d.ts +18 -0
  676. package/types/lib/third-party/arborist/lib/npm-extension.d.ts.map +1 -0
  677. package/types/lib/third-party/arborist/lib/override-resolves.d.ts +3 -0
  678. package/types/lib/third-party/arborist/lib/override-resolves.d.ts.map +1 -0
  679. package/types/lib/third-party/arborist/lib/override-set.d.ts +27 -0
  680. package/types/lib/third-party/arborist/lib/override-set.d.ts.map +1 -0
  681. package/types/lib/third-party/arborist/lib/package-extensions.d.ts +36 -0
  682. package/types/lib/third-party/arborist/lib/package-extensions.d.ts.map +1 -0
  683. package/types/lib/third-party/arborist/lib/printable.d.ts +3 -0
  684. package/types/lib/third-party/arborist/lib/printable.d.ts.map +1 -0
  685. package/types/lib/third-party/arborist/lib/proc-log.d.ts +20 -0
  686. package/types/lib/third-party/arborist/lib/proc-log.d.ts.map +1 -0
  687. package/types/lib/third-party/arborist/lib/realpath.d.ts +3 -0
  688. package/types/lib/third-party/arborist/lib/realpath.d.ts.map +1 -0
  689. package/types/lib/third-party/arborist/lib/relpath.d.ts +3 -0
  690. package/types/lib/third-party/arborist/lib/relpath.d.ts.map +1 -0
  691. package/types/lib/third-party/arborist/lib/shrinkwrap.d.ts +54 -0
  692. package/types/lib/third-party/arborist/lib/shrinkwrap.d.ts.map +1 -0
  693. package/types/lib/third-party/arborist/lib/spec-from-lock.d.ts +3 -0
  694. package/types/lib/third-party/arborist/lib/spec-from-lock.d.ts.map +1 -0
  695. package/types/lib/third-party/arborist/lib/tree-check.d.ts +3 -0
  696. package/types/lib/third-party/arborist/lib/tree-check.d.ts.map +1 -0
  697. package/types/lib/third-party/arborist/lib/validate-npm-package-name.d.ts +13 -0
  698. package/types/lib/third-party/arborist/lib/validate-npm-package-name.d.ts.map +1 -0
  699. package/types/lib/third-party/arborist/lib/version-from-tgz.d.ts +6 -0
  700. package/types/lib/third-party/arborist/lib/version-from-tgz.d.ts.map +1 -0
  701. package/types/lib/third-party/arborist/lib/yarn-lock.d.ts +35 -0
  702. package/types/lib/third-party/arborist/lib/yarn-lock.d.ts.map +1 -0
  703. package/types/lib/validator/bomValidator.d.ts +40 -0
  704. package/types/lib/validator/bomValidator.d.ts.map +1 -0
  705. package/types/lib/validator/complianceEngine.d.ts +72 -0
  706. package/types/lib/validator/complianceEngine.d.ts.map +1 -0
  707. package/types/lib/validator/complianceRules.d.ts +61 -0
  708. package/types/lib/validator/complianceRules.d.ts.map +1 -0
  709. package/types/lib/validator/index.d.ts +101 -0
  710. package/types/lib/validator/index.d.ts.map +1 -0
  711. package/types/lib/validator/reporters/annotations.d.ts +37 -0
  712. package/types/lib/validator/reporters/annotations.d.ts.map +1 -0
  713. package/types/lib/validator/reporters/console.d.ts +34 -0
  714. package/types/lib/validator/reporters/console.d.ts.map +1 -0
  715. package/types/lib/validator/reporters/index.d.ts +30 -0
  716. package/types/lib/validator/reporters/index.d.ts.map +1 -0
  717. package/types/lib/validator/reporters/json.d.ts +11 -0
  718. package/types/lib/validator/reporters/json.d.ts.map +1 -0
  719. package/types/lib/validator/reporters/sarif.d.ts +22 -0
  720. package/types/lib/validator/reporters/sarif.d.ts.map +1 -0
  721. package/mod.d.ts +0 -7
  722. package/mod.js +0 -22
@@ -0,0 +1,190 @@
1
+ import { relative } from "node:path";
2
+
3
+ import npa from "npm-package-arg";
4
+ import semver from "semver";
5
+
6
+ import fromPath from "./from-path.js";
7
+
8
+ // Do not rely on package._fields, so that we don't throw
9
+ // false failures if a tree is generated by other clients.
10
+ // Only relies on child.resolved, which MAY come from
11
+ // client-specific package.json meta _fields, but most of
12
+ // the time will be pulled out of a lockfile
13
+
14
+ // A named ref (tag or branch) resolves to a commit hash, so look up the
15
+ // committish recorded for this edge in the lockfile to detect spec changes.
16
+ const lockedGitCommittish = (child, requestor) => {
17
+ const lock = requestor.root?.meta?.data?.packages?.[requestor.location];
18
+ const spec =
19
+ lock &&
20
+ (lock.dependencies?.[child.name] ||
21
+ lock.optionalDependencies?.[child.name] ||
22
+ lock.devDependencies?.[child.name] ||
23
+ lock.peerDependencies?.[child.name]);
24
+ if (!spec) {
25
+ return null;
26
+ }
27
+ try {
28
+ const parsed = npa.resolve(child.name, spec, requestor.realpath);
29
+ return parsed.type === "git" ? parsed.gitCommittish || "" : null;
30
+ } catch {
31
+ return null;
32
+ }
33
+ };
34
+
35
+ const depValid = (child, requested, requestor) => {
36
+ // NB: we don't do much to verify 'tag' type requests.
37
+ // Just verify that we got a remote resolution. Presumably, it
38
+ // came from a registry and was tagged at some point.
39
+
40
+ if (typeof requested === "string") {
41
+ try {
42
+ // tarball/dir must have resolved to the same tgz on disk, but for
43
+ // file: deps that depend on other files/dirs, we must resolve the
44
+ // location based on the *requestor* file/dir, not where it ends up.
45
+ // '' is equivalent to '*'
46
+ requested = npa.resolve(
47
+ child.name,
48
+ requested || "*",
49
+ fromPath(requestor, requestor.edgesOut.get(child.name)),
50
+ );
51
+ } catch (er) {
52
+ // Not invalid because the child doesn't match, but because
53
+ // the spec itself is not supported. Nothing would match,
54
+ // so the edge is definitely not valid and never can be.
55
+ er.dependency = child.name;
56
+ er.requested = requested;
57
+ requestor.errors.push(er);
58
+ return false;
59
+ }
60
+ }
61
+
62
+ // if the lockfile is super old, or hand-modified,
63
+ // then it's possible to hit this state.
64
+ if (!requested) {
65
+ const er = new Error("Invalid dependency specifier");
66
+ er.dependency = child.name;
67
+ er.requested = requested;
68
+ requestor.errors.push(er);
69
+ return false;
70
+ }
71
+
72
+ switch (requested.type) {
73
+ case "range":
74
+ if (requested.fetchSpec === "*") {
75
+ return true;
76
+ }
77
+ // fallthrough
78
+ case "version":
79
+ // if it's a version or a range other than '*', semver it
80
+ return semver.satisfies(child.version, requested.fetchSpec, true);
81
+
82
+ case "directory":
83
+ return linkValid(child, requested, requestor);
84
+
85
+ case "file":
86
+ return tarballValid(child, requested, requestor);
87
+
88
+ case "alias":
89
+ // check that the alias target is valid
90
+ return depValid(child, requested.subSpec, requestor);
91
+
92
+ case "tag":
93
+ // if it's a tag, we just verify that it has a tarball resolution
94
+ // presumably, it came from the registry and was tagged at some point
95
+ return child.resolved && npa(child.resolved).type === "remote";
96
+
97
+ case "remote":
98
+ // verify that we got it from the desired location
99
+ return child.resolved === requested.fetchSpec;
100
+
101
+ case "git": {
102
+ // if it's a git type, verify that they're the same repo
103
+ //
104
+ // if it specifies a definite commit, then it must have the
105
+ // same commit to be considered the same repo
106
+ //
107
+ // if it has a #semver:<range> specifier, verify that the
108
+ // version in the package is in the semver range
109
+ const resRepo = npa(child.resolved || "");
110
+ const resHost = resRepo.hosted;
111
+ const reqHost = requested.hosted;
112
+ const reqCommit = /^[a-fA-F0-9]{40,64}$/.test(
113
+ requested.gitCommittish || "",
114
+ );
115
+ const nc = { noCommittish: !reqCommit };
116
+ if (!resHost) {
117
+ if (resRepo.fetchSpec !== requested.fetchSpec) {
118
+ return false;
119
+ }
120
+ } else {
121
+ if (reqHost?.ssh(nc) !== resHost.ssh(nc)) {
122
+ return false;
123
+ }
124
+ }
125
+ if (!requested.gitRange) {
126
+ // a named ref can't be verified against the resolved commit offline,
127
+ // so re-resolve if it differs from the committish in the lockfile
128
+ if (!reqCommit) {
129
+ const locked = lockedGitCommittish(child, requestor);
130
+ if (locked !== null && locked !== (requested.gitCommittish || "")) {
131
+ return false;
132
+ }
133
+ }
134
+ return true;
135
+ }
136
+ return semver.satisfies(child.package.version, requested.gitRange, {
137
+ loose: true,
138
+ });
139
+ }
140
+
141
+ default: // impossible, just being cautious
142
+ break;
143
+ }
144
+
145
+ const er = new Error("Unsupported dependency type");
146
+ er.dependency = child.name;
147
+ er.requested = requested;
148
+ requestor.errors.push(er);
149
+ return false;
150
+ };
151
+
152
+ const linkValid = (child, requested, requestor) => {
153
+ const isLink = !!child.isLink;
154
+ // if we're installing links and the node is a link, then it's invalid because we want
155
+ // a real node to be there. Except for workspaces. They are always links.
156
+ if (requestor.installLinks && !child.isWorkspace) {
157
+ return !isLink;
158
+ }
159
+
160
+ // directory must be a link to the specified folder
161
+ return isLink && relative(child.realpath, requested.fetchSpec) === "";
162
+ };
163
+
164
+ const tarballValid = (child, requested) => {
165
+ if (child.isLink) {
166
+ return false;
167
+ }
168
+
169
+ if (child.resolved) {
170
+ return (
171
+ child.resolved.replace(/\\/g, "/") ===
172
+ `file:${requested.fetchSpec.replace(/\\/g, "/")}`
173
+ );
174
+ }
175
+
176
+ // if we have a legacy mutated package.json file. we can't be 100%
177
+ // sure that it resolved to the same file, but if it was the same
178
+ // request, that's a pretty good indicator of sameness.
179
+ if (child.package._requested) {
180
+ return child.package._requested.saveSpec === requested.saveSpec;
181
+ }
182
+
183
+ // ok, we're probably dealing with some legacy cruft here, not much
184
+ // we can do at this point unfortunately.
185
+ return false;
186
+ };
187
+
188
+ export default (child, requested, accept, requestor) =>
189
+ depValid(child, requested, requestor) ||
190
+ (typeof accept === "string" ? depValid(child, accept, requestor) : false);
@@ -0,0 +1,417 @@
1
+ import util from "node:util";
2
+
3
+ import npa from "npm-package-arg";
4
+
5
+ import depValid from "./dep-valid.js";
6
+ import OverrideSet from "./override-set.js";
7
+
8
+ // An edge in the dependency graph
9
+ // Represents a dependency relationship of some kind
10
+
11
+ class ArboristEdge {
12
+ constructor(edge) {
13
+ this.name = edge.name;
14
+ this.spec = edge.spec;
15
+ this.type = edge.type;
16
+
17
+ const edgeFrom = edge.from?.location;
18
+ const edgeTo = edge.to?.location;
19
+ const override = edge.overrides?.value;
20
+
21
+ if (edgeFrom != null) {
22
+ this.from = edgeFrom;
23
+ }
24
+ if (edgeTo) {
25
+ this.to = edgeTo;
26
+ }
27
+ if (edge.error) {
28
+ this.error = edge.error;
29
+ }
30
+ if (edge.peerConflicted) {
31
+ this.peerConflicted = true;
32
+ }
33
+ if (override) {
34
+ this.overridden = override;
35
+ }
36
+ }
37
+ }
38
+
39
+ class Edge {
40
+ #accept;
41
+ #error;
42
+ #explanation;
43
+ #from;
44
+ #name;
45
+ #spec;
46
+ #to;
47
+ #type;
48
+
49
+ static types = Object.freeze([
50
+ "prod",
51
+ "dev",
52
+ "optional",
53
+ "peer",
54
+ "peerOptional",
55
+ "workspace",
56
+ ]);
57
+
58
+ // XXX where is this used?
59
+ static errors = Object.freeze([
60
+ "DETACHED",
61
+ "MISSING",
62
+ "PEER LOCAL",
63
+ "INVALID",
64
+ ]);
65
+
66
+ constructor(options) {
67
+ const { type, name, spec, accept, from, overrides } = options;
68
+
69
+ // XXX are all of these error states even possible?
70
+ if (typeof spec !== "string") {
71
+ throw new TypeError("must provide string spec");
72
+ }
73
+ if (!Edge.types.includes(type)) {
74
+ throw new TypeError(
75
+ `invalid type: ${type}\n(valid types are: ${Edge.types.join(", ")})`,
76
+ );
77
+ }
78
+ if (type === "workspace" && npa(spec).type !== "directory") {
79
+ throw new TypeError("workspace edges must be a symlink");
80
+ }
81
+ if (typeof name !== "string") {
82
+ throw new TypeError("must provide dependency name");
83
+ }
84
+ if (!from) {
85
+ throw new TypeError('must provide "from" node');
86
+ }
87
+ if (accept !== undefined) {
88
+ if (typeof accept !== "string") {
89
+ throw new TypeError("accept field must be a string if provided");
90
+ }
91
+ this.#accept = accept || "*";
92
+ }
93
+ if (overrides !== undefined) {
94
+ this.overrides = overrides;
95
+ }
96
+
97
+ this.#name = name;
98
+ this.#type = type;
99
+ this.#spec = spec;
100
+ this.#explanation = null;
101
+ this.#from = from;
102
+
103
+ from.edgesOut.get(this.#name)?.detach();
104
+ from.addEdgeOut(this);
105
+
106
+ this.reload(true);
107
+ this.peerConflicted = false;
108
+ }
109
+
110
+ satisfiedBy(node) {
111
+ if (node.name !== this.#name || !this.#from) {
112
+ return false;
113
+ }
114
+
115
+ // NOTE: this condition means we explicitly do not support overriding
116
+ // bundled dependencies
117
+ if (node.inDepBundle) {
118
+ return depValid(node, this.rawSpec, this.#accept, this.#from);
119
+ }
120
+
121
+ // If there's no override we just use the spec.
122
+ if (!this.overrides?.keySpec) {
123
+ return depValid(node, this.spec, this.#accept, this.#from);
124
+ }
125
+ // There's some override. If the target node satisfies the overriding spec
126
+ // then it's okay.
127
+ if (depValid(node, this.spec, this.#accept, this.#from)) {
128
+ return true;
129
+ }
130
+ // If it doesn't, then it should at least satisfy the original spec.
131
+ if (!depValid(node, this.rawSpec, this.#accept, this.#from)) {
132
+ return false;
133
+ }
134
+ // It satisfies the original spec, not the overriding spec. We need to make
135
+ // sure it doesn't use the overridden spec.
136
+ // For example:
137
+ // we might have an ^8.0.0 rawSpec, and an override that makes
138
+ // keySpec=8.23.0 and the override value spec=9.0.0.
139
+ // If the node is 9.0.0, then it's okay because it's consistent with spec.
140
+ // If the node is 8.24.0, then it's okay because it's consistent with the rawSpec.
141
+ // If the node is 8.23.0, then it's not okay because even though it's consistent
142
+ // with the rawSpec, it's also consistent with the keySpec.
143
+ // So we're looking for ^8.0.0 or 9.0.0 and not 8.23.0.
144
+ return !depValid(node, this.overrides.keySpec, this.#accept, this.#from);
145
+ }
146
+
147
+ // return the edge data, and an explanation of how that edge came to be here
148
+ explain(seen = []) {
149
+ if (!this.#explanation) {
150
+ const explanation = {
151
+ type: this.#type,
152
+ name: this.#name,
153
+ spec: this.spec,
154
+ };
155
+ if (this.rawSpec !== this.spec) {
156
+ explanation.rawSpec = this.rawSpec;
157
+ explanation.overridden = true;
158
+ }
159
+ if (this.bundled) {
160
+ explanation.bundled = this.bundled;
161
+ }
162
+ if (this.error) {
163
+ explanation.error = this.error;
164
+ }
165
+ if (this.#from) {
166
+ explanation.from = this.#from.explain(null, seen);
167
+ // note when this edge was created or changed by a root packageExtensions repair on the from node
168
+ const applied = this.#from.packageExtensionsApplied;
169
+ if (applied) {
170
+ for (const field of [
171
+ "dependencies",
172
+ "optionalDependencies",
173
+ "peerDependencies",
174
+ "peerDependenciesMeta",
175
+ ]) {
176
+ if (applied[field]?.includes(this.#name)) {
177
+ explanation.packageExtensions = {
178
+ selector: applied.selector,
179
+ field,
180
+ };
181
+ break;
182
+ }
183
+ }
184
+ }
185
+ // note when this edge was created or changed by a root .npm-extension transformManifest repair on the from node
186
+ const transformed = this.#from.npmExtensionApplied;
187
+ if (transformed) {
188
+ for (const field of [
189
+ "dependencies",
190
+ "optionalDependencies",
191
+ "peerDependencies",
192
+ "peerDependenciesMeta",
193
+ ]) {
194
+ if (transformed[field]?.includes(this.#name)) {
195
+ explanation.npmExtension = {
196
+ extensionPoint: transformed.extensionPoint,
197
+ field,
198
+ };
199
+ break;
200
+ }
201
+ }
202
+ }
203
+ }
204
+ this.#explanation = explanation;
205
+ }
206
+ return this.#explanation;
207
+ }
208
+
209
+ get bundled() {
210
+ return !!this.#from?.package?.bundleDependencies?.includes(this.#name);
211
+ }
212
+
213
+ get workspace() {
214
+ return this.#type === "workspace";
215
+ }
216
+
217
+ get prod() {
218
+ return this.#type === "prod";
219
+ }
220
+
221
+ get dev() {
222
+ return this.#type === "dev";
223
+ }
224
+
225
+ get optional() {
226
+ return this.#type === "optional" || this.#type === "peerOptional";
227
+ }
228
+
229
+ get peer() {
230
+ return this.#type === "peer" || this.#type === "peerOptional";
231
+ }
232
+
233
+ get type() {
234
+ return this.#type;
235
+ }
236
+
237
+ get name() {
238
+ return this.#name;
239
+ }
240
+
241
+ get rawSpec() {
242
+ return this.#spec;
243
+ }
244
+
245
+ get spec() {
246
+ if (
247
+ this.overrides?.value &&
248
+ this.overrides.value !== "*" &&
249
+ this.overrides.name === this.#name
250
+ ) {
251
+ if (this.overrides.value.startsWith("$")) {
252
+ const ref = this.overrides.value.slice(1);
253
+ let pkg = this.#from?.sourceReference
254
+ ? this.#from?.sourceReference.root.package
255
+ : this.#from?.root?.package;
256
+
257
+ let specValue = this.#calculateReferentialOverrideSpec(ref, pkg);
258
+
259
+ // If the package isn't found in the root package, fall back to the local package.
260
+ if (!specValue) {
261
+ pkg = this.#from?.package;
262
+ specValue = this.#calculateReferentialOverrideSpec(ref, pkg);
263
+ }
264
+
265
+ if (specValue) {
266
+ return specValue;
267
+ }
268
+ throw new Error(`Unable to resolve reference ${this.overrides.value}`);
269
+ }
270
+ return this.overrides.value;
271
+ }
272
+ return this.#spec;
273
+ }
274
+
275
+ #calculateReferentialOverrideSpec(ref, pkg) {
276
+ if (pkg.devDependencies?.[ref]) {
277
+ return pkg.devDependencies[ref];
278
+ }
279
+ if (pkg.optionalDependencies?.[ref]) {
280
+ return pkg.optionalDependencies[ref];
281
+ }
282
+ if (pkg.dependencies?.[ref]) {
283
+ return pkg.dependencies[ref];
284
+ }
285
+ if (pkg.peerDependencies?.[ref]) {
286
+ return pkg.peerDependencies[ref];
287
+ }
288
+ }
289
+
290
+ get accept() {
291
+ return this.#accept;
292
+ }
293
+
294
+ get valid() {
295
+ return !this.error;
296
+ }
297
+
298
+ get missing() {
299
+ return this.error === "MISSING";
300
+ }
301
+
302
+ get invalid() {
303
+ return this.error === "INVALID";
304
+ }
305
+
306
+ get peerLocal() {
307
+ return this.error === "PEER LOCAL";
308
+ }
309
+
310
+ get error() {
311
+ if (!this.#error) {
312
+ if (!this.#to) {
313
+ if (this.optional) {
314
+ this.#error = null;
315
+ } else {
316
+ this.#error = "MISSING";
317
+ }
318
+ } else if (
319
+ this.peer &&
320
+ this.#from === this.#to.parent &&
321
+ !this.#from?.isTop
322
+ ) {
323
+ this.#error = "PEER LOCAL";
324
+ } else if (!this.satisfiedBy(this.#to)) {
325
+ this.#error = "INVALID";
326
+ } else if (
327
+ this.overrides &&
328
+ this.#to.overrides &&
329
+ this.#to.edgesOut.size &&
330
+ OverrideSet.doOverrideSetsConflict(this.overrides, this.#to.overrides)
331
+ ) {
332
+ // Check for conflicts between the edge's override set and the target node's override set.
333
+ // This catches cases where different parts of the tree have genuinely incompatible
334
+ // version requirements for the same package.
335
+ // The improved conflict detection uses semantic comparison (checking for incompatible
336
+ // version ranges) rather than pure structural equality, avoiding false positives from:
337
+ // - Reference overrides ($syntax) that resolve to compatible versions
338
+ // - Peer dependencies with different but compatible override contexts
339
+ // Note: We only check if the target has dependencies (edgesOut.size > 0), since
340
+ // override conflicts are only relevant if the target has its own dependencies.
341
+ this.#error = "INVALID";
342
+ } else {
343
+ this.#error = "OK";
344
+ }
345
+ }
346
+ if (this.#error === "OK") {
347
+ return null;
348
+ }
349
+ return this.#error;
350
+ }
351
+
352
+ reload(hard = false) {
353
+ this.#explanation = null;
354
+
355
+ let needToUpdateOverrideSet = false;
356
+ let newOverrideSet;
357
+ let oldOverrideSet;
358
+ if (this.#from?.overrides) {
359
+ newOverrideSet = this.#from.overrides.getEdgeRule(this);
360
+ if (newOverrideSet && !newOverrideSet.isEqual(this.overrides)) {
361
+ // If there's a new different override set we need to propagate it to the nodes.
362
+ // If we're deleting the override set then there's no point propagating it right now since it will be filled with another value later.
363
+ needToUpdateOverrideSet = true;
364
+ oldOverrideSet = this.overrides;
365
+ this.overrides = newOverrideSet;
366
+ }
367
+ } else {
368
+ delete this.overrides;
369
+ }
370
+ const newTo = this.#from?.resolve(this.#name);
371
+ if (newTo !== this.#to) {
372
+ if (this.#to) {
373
+ this.#to.deleteEdgeIn(this);
374
+ }
375
+ this.#to = newTo;
376
+ this.#error = null;
377
+ if (this.#to) {
378
+ this.#to.addEdgeIn(this);
379
+ }
380
+ } else if (hard) {
381
+ this.#error = null;
382
+ } else if (needToUpdateOverrideSet && this.#to) {
383
+ // Propagate the new override set to the target node.
384
+ this.#to.updateOverridesEdgeInRemoved(oldOverrideSet);
385
+ this.#to.updateOverridesEdgeInAdded(newOverrideSet);
386
+ }
387
+ }
388
+
389
+ detach() {
390
+ this.#explanation = null;
391
+ if (this.#to) {
392
+ this.#to.deleteEdgeIn(this);
393
+ }
394
+ this.#from?.edgesOut.delete(this.#name);
395
+ this.#to = null;
396
+ this.#error = "DETACHED";
397
+ this.#from = null;
398
+ }
399
+
400
+ get from() {
401
+ return this.#from;
402
+ }
403
+
404
+ get to() {
405
+ return this.#to;
406
+ }
407
+
408
+ toJSON() {
409
+ return new ArboristEdge(this);
410
+ }
411
+
412
+ [util.inspect.custom]() {
413
+ return this.toJSON();
414
+ }
415
+ }
416
+
417
+ export default Edge;
@@ -0,0 +1,36 @@
1
+ import { dirname } from "node:path";
2
+
3
+ import npa from "npm-package-arg";
4
+
5
+ // file dependencies need their dependencies resolved based on the location
6
+ // where the tarball was found, not the location where they end up getting
7
+ // installed. directory (ie, symlink) deps also need to be resolved based on
8
+ // their targets, but that's what realpath is
9
+
10
+ const fromPath = (node, edge) => {
11
+ if (
12
+ edge &&
13
+ edge.overrides &&
14
+ edge.overrides.name === edge.name &&
15
+ edge.overrides.value
16
+ ) {
17
+ // fromPath could be called with a node that has a virtual root, if that
18
+ // happens we want to make sure we get the real root node when overrides
19
+ // are in use. this is to allow things like overriding a dependency with a
20
+ // tarball file that's a relative path from the project root
21
+ if (node.sourceReference) {
22
+ return node.sourceReference.root.realpath;
23
+ }
24
+ return node.root.realpath;
25
+ }
26
+
27
+ if (node.resolved) {
28
+ const spec = npa(node.resolved);
29
+ if (spec?.type === "file") {
30
+ return dirname(spec.fetchSpec);
31
+ }
32
+ }
33
+ return node.realpath;
34
+ };
35
+
36
+ export default fromPath;
@@ -0,0 +1,43 @@
1
+ // Given a set of nodes in a tree, and a filter function to test
2
+ // incoming edges to the dep set that should be ignored otherwise.
3
+ //
4
+ // find the set of deps that are only depended upon by nodes in the set, or
5
+ // their dependencies, or edges that are ignored.
6
+ //
7
+ // Used when figuring out what to prune when replacing a node with a newer
8
+ // version, or when an optional dep fails to install.
9
+
10
+ const gatherDepSet = (set, edgeFilter) => {
11
+ const deps = new Set(set);
12
+
13
+ // add the full set of dependencies. note that this loop will continue
14
+ // as the deps set increases in size.
15
+ for (const node of deps) {
16
+ for (const edge of node.edgesOut.values()) {
17
+ if (edge.to && edgeFilter(edge)) {
18
+ deps.add(edge.to);
19
+ }
20
+ }
21
+ }
22
+
23
+ // now remove all nodes in the set that have a dependent outside the set
24
+ // if any change is made, then re-check
25
+ // continue until no changes made, or deps set evaporates fully.
26
+ let changed = true;
27
+ while (changed === true && deps.size > 0) {
28
+ changed = false;
29
+ for (const dep of deps) {
30
+ for (const edge of dep.edgesIn) {
31
+ if (!deps.has(edge.from) && edgeFilter(edge)) {
32
+ changed = true;
33
+ deps.delete(dep);
34
+ break;
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ return deps;
41
+ };
42
+
43
+ export default gatherDepSet;
@@ -0,0 +1,22 @@
1
+ // Public entry point for the vendored arborist. Upstream's index.js uses
2
+ // module.exports = require(...) chains that have no mechanical CJS→ESM
3
+ // equivalent, so this file is generated from a fixed template by
4
+ // contrib/vendor-arborist.mjs.
5
+
6
+ import Arborist from "./arborist/index.js";
7
+ import Edge from "./edge.js";
8
+ import Link from "./link.js";
9
+ import Node from "./node.js";
10
+ import NpmExtension from "./npm-extension.js";
11
+ import PackageExtensions from "./package-extensions.js";
12
+ import Shrinkwrap from "./shrinkwrap.js";
13
+
14
+ Arborist.Arborist = Arborist;
15
+ Arborist.Node = Node;
16
+ Arborist.Link = Link;
17
+ Arborist.Edge = Edge;
18
+ Arborist.Shrinkwrap = Shrinkwrap;
19
+ Arborist.PackageExtensions = PackageExtensions;
20
+ Arborist.NpmExtension = NpmExtension;
21
+
22
+ export default Arborist;