@cdxgen/cdxgen 0.0.1 → 13.0.0
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.
- package/README.md +921 -87
- package/bin/audit.js +239 -0
- package/bin/cdxgen.js +2324 -0
- package/bin/convert.js +213 -0
- package/bin/evinse.js +353 -0
- package/bin/hbom.js +495 -0
- package/bin/repl.js +2224 -0
- package/bin/sign.js +195 -0
- package/bin/tracebom.js +295 -0
- package/bin/validate.js +268 -0
- package/bin/verify.js +189 -0
- package/data/README.md +307 -0
- package/data/bom-1.4.schema.json +1605 -0
- package/data/bom-1.5.schema.json +3660 -0
- package/data/bom-1.6.schema.json +5511 -0
- package/data/bom-1.7.schema.json +6700 -0
- package/data/cbomosdb-queries.json +68 -0
- package/data/component-tags.json +339 -0
- package/data/container-knowledge-index.json +125 -0
- package/data/cosdb-queries.json +17 -0
- package/data/crypto-oid.json +1998 -0
- package/data/cryptography-defs.json +3793 -0
- package/data/cryptography-defs.schema.json +576 -0
- package/data/cyclonedx-2.0-bundled.schema.json +7182 -0
- package/data/frameworks-list.json +219 -0
- package/data/glibc-stdlib.json +117 -0
- package/data/gtfobins-index.json +6296 -0
- package/data/helpers/init.gradle +71 -0
- package/data/jsf-0.82.schema.json +211 -0
- package/data/known-licenses.json +82 -0
- package/data/lic-mapping.json +338 -0
- package/data/license-aliases.json +6624 -0
- package/data/license-db.json +39059 -0
- package/data/license-deprecations.json +302 -0
- package/data/lolbas-index.json +150 -0
- package/data/predictive-audit-allowlist.json +11 -0
- package/data/pypi-pkg-aliases.json +1199 -0
- package/data/python-stdlib.json +308 -0
- package/data/queries-darwin.json +193 -0
- package/data/queries-win.json +257 -0
- package/data/queries.json +268 -0
- package/data/ruby-known-modules.json +281 -0
- package/data/rules/ai-agent-governance.yaml +323 -0
- package/data/rules/ai-bom.yaml +268 -0
- package/data/rules/ai-oversight.yaml +186 -0
- package/data/rules/ai-provenance.yaml +92 -0
- package/data/rules/asar-archives.yaml +150 -0
- package/data/rules/cbom-security.yaml +165 -0
- package/data/rules/chrome-extensions.yaml +248 -0
- package/data/rules/ci-permissions.yaml +802 -0
- package/data/rules/container-risk.yaml +353 -0
- package/data/rules/dependency-sources.yaml +236 -0
- package/data/rules/golem-go.yaml +229 -0
- package/data/rules/hbom-compliance.yaml +325 -0
- package/data/rules/hbom-performance.yaml +307 -0
- package/data/rules/hbom-security.yaml +248 -0
- package/data/rules/host-topology.yaml +165 -0
- package/data/rules/mcp-servers.yaml +388 -0
- package/data/rules/obom-runtime.yaml +1776 -0
- package/data/rules/package-integrity.yaml +364 -0
- package/data/rules/rootfs-hardening.yaml +179 -0
- package/data/rules/vscode-extensions.yaml +237 -0
- package/data/spdx-export.schema.json +6794 -0
- package/data/spdx-license-list.json +7449 -0
- package/data/spdx-licenses.json +759 -0
- package/data/spdx.schema.json +819 -0
- package/data/templates/README.md +3 -0
- package/data/templates/asvs-4.0.3.cdx.json +2943 -0
- package/data/templates/asvs-5.0.cdx.json +3046 -0
- package/data/templates/bsimm-v13.cdx.json +1008 -0
- package/data/templates/masvs-2.0.0.cdx.json +225 -0
- package/data/templates/nist-ssdf-1.1.cdx.json +828 -0
- package/data/templates/pcissc-secure-slc-1.1.cdx.json +1027 -0
- package/data/templates/scvs-1.0.0.cdx.json +813 -0
- package/data/templates/ssaf-DRAFT-2023-11.cdx.json +127 -0
- package/data/vendor-alias.json +41967 -0
- package/data/wrapdb-releases.json +4227 -0
- package/index.cjs +15 -0
- package/lib/audit/index.js +2800 -0
- package/lib/audit/progress.js +114 -0
- package/lib/audit/reporters.js +937 -0
- package/lib/audit/scoring.js +560 -0
- package/lib/audit/targets.js +798 -0
- package/lib/cli/bomAssembly.js +1833 -0
- package/lib/cli/cliOptions.js +513 -0
- package/lib/cli/index.js +2759 -0
- package/lib/cli/jsBom.js +2087 -0
- package/lib/cli/jvmBom.js +1858 -0
- package/lib/cli/managedBom.js +2083 -0
- package/lib/cli/nativeBom.js +2125 -0
- package/lib/core/activity.js +1087 -0
- package/lib/core/env.js +719 -0
- package/lib/core/fs.js +1058 -0
- package/lib/core/httpClient.js +730 -0
- package/lib/core/logger.js +142 -0
- package/lib/core/parallel.js +323 -0
- package/lib/core/paths.js +70 -0
- package/lib/core/projectConfig.js +122 -0
- package/lib/core/propertySanitizer.js +174 -0
- package/lib/core/spdx.js +5 -0
- package/lib/core/state.js +59 -0
- package/lib/core/text.js +207 -0
- package/lib/core/ui.js +876 -0
- package/lib/core/urls.js +84 -0
- package/lib/ecosystems/asarutils.js +1636 -0
- package/lib/ecosystems/bunutils.js +402 -0
- package/lib/ecosystems/caxa.js +77 -0
- package/lib/ecosystems/chromextutils.js +1174 -0
- package/lib/ecosystems/cmakeResolver.js +587 -0
- package/lib/ecosystems/cppEvidence.js +305 -0
- package/lib/ecosystems/denoutils.js +1094 -0
- package/lib/ecosystems/dotnetutils.js +132 -0
- package/lib/ecosystems/ecosystems.js +2772 -0
- package/lib/ecosystems/golem.js +1807 -0
- package/lib/ecosystems/gradleutils.js +1048 -0
- package/lib/ecosystems/jsEvidence.js +317 -0
- package/lib/ecosystems/npmutils.js +586 -0
- package/lib/ecosystems/parsers-bazel.js +875 -0
- package/lib/ecosystems/parsers-dotnet.js +1430 -0
- package/lib/ecosystems/parsers-gleam.js +302 -0
- package/lib/ecosystems/parsers-go.js +818 -0
- package/lib/ecosystems/parsers-js.js +4222 -0
- package/lib/ecosystems/parsers-jvm.js +948 -0
- package/lib/ecosystems/parsers-misc.js +3191 -0
- package/lib/ecosystems/parsers-python.js +2070 -0
- package/lib/ecosystems/parsers-rust.js +1294 -0
- package/lib/ecosystems/parsers-zig.js +861 -0
- package/lib/ecosystems/pep770.js +341 -0
- package/lib/ecosystems/pylockutils.js +427 -0
- package/lib/ecosystems/pythonutils.js +1281 -0
- package/lib/ecosystems/registryProvenance.js +1003 -0
- package/lib/ecosystems/remote/huggingface.js +1343 -0
- package/lib/ecosystems/rubyutils.js +1629 -0
- package/lib/ecosystems/rusi.js +820 -0
- package/lib/ecosystems/sbtutils.js +972 -0
- package/lib/ecosystems/tea.js +607 -0
- package/lib/ecosystems/utils.js +575 -0
- package/lib/ecosystems/zigResolver.js +410 -0
- package/lib/evinser/db.js +145 -0
- package/lib/evinser/evinser.js +2362 -0
- package/lib/evinser/scalasem.js +65 -0
- package/lib/evinser/swiftsem.js +767 -0
- package/lib/helpers/annotationFormatter.js +84 -0
- package/lib/helpers/bomSigner.js +312 -0
- package/lib/helpers/exportUtils.js +160 -0
- package/lib/helpers/remote/dependency-track.js +117 -0
- package/lib/helpers/versutils.js +202 -0
- package/lib/helpers/vsixutils.js +1069 -0
- package/lib/inventory/agentFormulationParser.js +322 -0
- package/lib/inventory/aiCollector.js +2140 -0
- package/lib/inventory/aiInventory.js +414 -0
- package/lib/inventory/aiModelVariants.js +121 -0
- package/lib/inventory/aiOversightCollector.js +661 -0
- package/lib/inventory/aiProvenanceCollector.js +822 -0
- package/lib/inventory/analyzer.js +6089 -0
- package/lib/inventory/analyzerScope.js +807 -0
- package/lib/inventory/astWorker.js +20 -0
- package/lib/inventory/atomUtils.js +1092 -0
- package/lib/inventory/auditCategories.js +192 -0
- package/lib/inventory/bomUtils.js +369 -0
- package/lib/inventory/cacheCommands.js +182 -0
- package/lib/inventory/cacheDir.js +104 -0
- package/lib/inventory/cbomutils.js +590 -0
- package/lib/inventory/cdxrs.js +434 -0
- package/lib/inventory/ciParsers/azurePipelines.js +295 -0
- package/lib/inventory/ciParsers/circleCi.js +286 -0
- package/lib/inventory/ciParsers/common.js +24 -0
- package/lib/inventory/ciParsers/githubActions.js +2434 -0
- package/lib/inventory/ciParsers/gitlabCi.js +213 -0
- package/lib/inventory/ciParsers/jenkins.js +180 -0
- package/lib/inventory/citations.js +234 -0
- package/lib/inventory/communityAiConfigParser.js +756 -0
- package/lib/inventory/containerRisk.js +204 -0
- package/lib/inventory/cryptoAlgorithmFamily.js +258 -0
- package/lib/inventory/deps.js +807 -0
- package/lib/inventory/depsUtils.js +588 -0
- package/lib/inventory/display.js +2128 -0
- package/lib/inventory/dosai.js +601 -0
- package/lib/inventory/dosaiParsers.js +154 -0
- package/lib/inventory/dynamic.js +145 -0
- package/lib/inventory/envcontext.js +1789 -0
- package/lib/inventory/evidenceUtils.js +774 -0
- package/lib/inventory/fetchBatch.js +779 -0
- package/lib/inventory/fetchRate.js +255 -0
- package/lib/inventory/forgeEnricher.js +300 -0
- package/lib/inventory/formulationParsers.js +422 -0
- package/lib/inventory/gtfobins.js +339 -0
- package/lib/inventory/hbom.js +719 -0
- package/lib/inventory/hbomAnalysis.js +310 -0
- package/lib/inventory/hbomLoader.js +35 -0
- package/lib/inventory/hostTopology.js +835 -0
- package/lib/inventory/inventoryStats.js +100 -0
- package/lib/inventory/jsonLike.js +121 -0
- package/lib/inventory/licenseEnhancer.js +918 -0
- package/lib/inventory/lolbas.js +285 -0
- package/lib/inventory/mcp.js +253 -0
- package/lib/inventory/mcpConfigParser.js +683 -0
- package/lib/inventory/mcpDiscovery.js +112 -0
- package/lib/inventory/mcpPinning.js +209 -0
- package/lib/inventory/osPackageResolver.js +493 -0
- package/lib/inventory/osinfo.js +277 -0
- package/lib/inventory/osqueryTransform.js +274 -0
- package/lib/inventory/plugins.js +466 -0
- package/lib/inventory/protobom.js +231 -0
- package/lib/inventory/protobomLoader.js +43 -0
- package/lib/inventory/provenanceUtils.js +224 -0
- package/lib/inventory/purl.js +749 -0
- package/lib/inventory/rustFormulationParser.js +339 -0
- package/lib/inventory/sbomDocument.js +340 -0
- package/lib/inventory/source.js +1488 -0
- package/lib/inventory/spdx.js +361 -0
- package/lib/inventory/spdxExpression.js +512 -0
- package/lib/inventory/spdxUtils.js +107 -0
- package/lib/inventory/table.js +263 -0
- package/lib/inventory/traceRunner.js +439 -0
- package/lib/inventory/unicodeScan.js +147 -0
- package/lib/managers/binary.js +3307 -0
- package/lib/managers/containerutils.js +125 -0
- package/lib/managers/docker.js +2145 -0
- package/lib/managers/dockerConnection.js +162 -0
- package/lib/managers/oci.js +704 -0
- package/lib/managers/piptree.js +267 -0
- package/lib/parsers/cmakeCache.js +199 -0
- package/lib/parsers/gguf.js +492 -0
- package/lib/parsers/gitAiNotes.js +233 -0
- package/lib/parsers/gitmodules.js +239 -0
- package/lib/parsers/htmlExtract.js +610 -0
- package/lib/parsers/huggingfaceManifest.js +551 -0
- package/lib/parsers/huggingfaceUtils.js +506 -0
- package/lib/parsers/iri.js +618 -0
- package/lib/parsers/npmrc.js +99 -0
- package/lib/parsers/ollama.js +101 -0
- package/lib/parsers/xml.js +841 -0
- package/lib/server/openapi.yaml +433 -0
- package/lib/server/server.js +616 -0
- package/lib/stages/postgen/annotator.js +977 -0
- package/lib/stages/postgen/auditBom.js +468 -0
- package/lib/stages/postgen/postgen.js +1239 -0
- package/lib/stages/postgen/ruleEngine.js +731 -0
- package/lib/stages/postgen/sortBom.js +195 -0
- package/lib/stages/postgen/spdxConverter.js +796 -0
- package/lib/stages/postgen/specVersionCompat.js +703 -0
- package/lib/stages/pregen/envAudit.js +388 -0
- package/lib/stages/pregen/pregen.js +637 -0
- package/lib/third-party/README.md +9 -0
- package/lib/third-party/arborist/CHANGELOG.md +1109 -0
- package/lib/third-party/arborist/LICENSE.md +20 -0
- package/lib/third-party/arborist/README.md +315 -0
- package/lib/third-party/arborist/lib/arborist/index.js +258 -0
- package/lib/third-party/arborist/lib/arborist/load-actual.js +605 -0
- package/lib/third-party/arborist/lib/arborist/load-virtual.js +300 -0
- package/lib/third-party/arborist/lib/bin-links.js +120 -0
- package/lib/third-party/arborist/lib/calc-dep-flags.js +130 -0
- package/lib/third-party/arborist/lib/case-insensitive-map.js +51 -0
- package/lib/third-party/arborist/lib/consistent-resolve.js +42 -0
- package/lib/third-party/arborist/lib/debug.js +50 -0
- package/lib/third-party/arborist/lib/dep-valid.js +190 -0
- package/lib/third-party/arborist/lib/edge.js +417 -0
- package/lib/third-party/arborist/lib/from-path.js +36 -0
- package/lib/third-party/arborist/lib/gather-dep-set.js +43 -0
- package/lib/third-party/arborist/lib/index.js +22 -0
- package/lib/third-party/arborist/lib/inventory.js +138 -0
- package/lib/third-party/arborist/lib/link.js +169 -0
- package/lib/third-party/arborist/lib/node.js +1673 -0
- package/lib/third-party/arborist/lib/npm-extension.js +45 -0
- package/lib/third-party/arborist/lib/override-resolves.js +11 -0
- package/lib/third-party/arborist/lib/override-set.js +319 -0
- package/lib/third-party/arborist/lib/package-extensions.js +289 -0
- package/lib/third-party/arborist/lib/printable.js +210 -0
- package/lib/third-party/arborist/lib/proc-log.js +30 -0
- package/lib/third-party/arborist/lib/realpath.js +100 -0
- package/lib/third-party/arborist/lib/relpath.js +4 -0
- package/lib/third-party/arborist/lib/shrinkwrap.js +1291 -0
- package/lib/third-party/arborist/lib/spec-from-lock.js +34 -0
- package/lib/third-party/arborist/lib/tree-check.js +165 -0
- package/lib/third-party/arborist/lib/validate-npm-package-name.js +107 -0
- package/lib/third-party/arborist/lib/version-from-tgz.js +51 -0
- package/lib/third-party/arborist/lib/yarn-lock.js +397 -0
- package/lib/validator/bomValidator.js +985 -0
- package/lib/validator/complianceEngine.js +241 -0
- package/lib/validator/complianceRules.js +1680 -0
- package/lib/validator/generated/runtime.mjs +17 -0
- package/lib/validator/generated/validate-1.6.mjs +21258 -0
- package/lib/validator/generated/validate-1.7.mjs +24803 -0
- package/lib/validator/generated/validate-2.0.mjs +22931 -0
- package/lib/validator/index.js +246 -0
- package/lib/validator/reporters/annotations.js +142 -0
- package/lib/validator/reporters/console.js +160 -0
- package/lib/validator/reporters/index.js +41 -0
- package/lib/validator/reporters/json.js +37 -0
- package/lib/validator/reporters/sarif.js +184 -0
- package/package.json +209 -26
- package/types/bin/audit.d.ts +3 -0
- package/types/bin/audit.d.ts.map +1 -0
- package/types/bin/cdxgen.d.ts +3 -0
- package/types/bin/cdxgen.d.ts.map +1 -0
- package/types/bin/convert.d.ts +3 -0
- package/types/bin/convert.d.ts.map +1 -0
- package/types/bin/evinse.d.ts +3 -0
- package/types/bin/evinse.d.ts.map +1 -0
- package/types/bin/hbom.d.ts +3 -0
- package/types/bin/hbom.d.ts.map +1 -0
- package/types/bin/repl.d.ts +3 -0
- package/types/bin/repl.d.ts.map +1 -0
- package/types/bin/sign.d.ts +3 -0
- package/types/bin/sign.d.ts.map +1 -0
- package/types/bin/tracebom.d.ts +3 -0
- package/types/bin/tracebom.d.ts.map +1 -0
- package/types/bin/validate.d.ts +14 -0
- package/types/bin/validate.d.ts.map +1 -0
- package/types/bin/verify.d.ts +3 -0
- package/types/bin/verify.d.ts.map +1 -0
- package/types/lib/audit/index.d.ts +153 -0
- package/types/lib/audit/index.d.ts.map +1 -0
- package/types/lib/audit/progress.d.ts +31 -0
- package/types/lib/audit/progress.d.ts.map +1 -0
- package/types/lib/audit/reporters.d.ts +62 -0
- package/types/lib/audit/reporters.d.ts.map +1 -0
- package/types/lib/audit/scoring.d.ts +36 -0
- package/types/lib/audit/scoring.d.ts.map +1 -0
- package/types/lib/audit/targets.d.ts +77 -0
- package/types/lib/audit/targets.d.ts.map +1 -0
- package/types/lib/cli/bomAssembly.d.ts +315 -0
- package/types/lib/cli/bomAssembly.d.ts.map +1 -0
- package/types/lib/cli/cliOptions.d.ts +156 -0
- package/types/lib/cli/cliOptions.d.ts.map +1 -0
- package/types/lib/cli/index.d.ts +107 -0
- package/types/lib/cli/index.d.ts.map +1 -0
- package/types/lib/cli/jsBom.d.ts +94 -0
- package/types/lib/cli/jsBom.d.ts.map +1 -0
- package/types/lib/cli/jvmBom.d.ts +54 -0
- package/types/lib/cli/jvmBom.d.ts.map +1 -0
- package/types/lib/cli/managedBom.d.ts +105 -0
- package/types/lib/cli/managedBom.d.ts.map +1 -0
- package/types/lib/cli/nativeBom.d.ts +143 -0
- package/types/lib/cli/nativeBom.d.ts.map +1 -0
- package/types/lib/core/activity.d.ts +178 -0
- package/types/lib/core/activity.d.ts.map +1 -0
- package/types/lib/core/env.d.ts +192 -0
- package/types/lib/core/env.d.ts.map +1 -0
- package/types/lib/core/fs.d.ts +158 -0
- package/types/lib/core/fs.d.ts.map +1 -0
- package/types/lib/core/httpClient.d.ts +149 -0
- package/types/lib/core/httpClient.d.ts.map +1 -0
- package/types/lib/core/logger.d.ts +28 -0
- package/types/lib/core/logger.d.ts.map +1 -0
- package/types/lib/core/parallel.d.ts +95 -0
- package/types/lib/core/parallel.d.ts.map +1 -0
- package/types/lib/core/paths.d.ts +36 -0
- package/types/lib/core/paths.d.ts.map +1 -0
- package/types/lib/core/projectConfig.d.ts +23 -0
- package/types/lib/core/projectConfig.d.ts.map +1 -0
- package/types/lib/core/propertySanitizer.d.ts +23 -0
- package/types/lib/core/propertySanitizer.d.ts.map +1 -0
- package/types/lib/core/spdx.d.ts +5 -0
- package/types/lib/core/spdx.d.ts.map +1 -0
- package/types/lib/core/state.d.ts +20 -0
- package/types/lib/core/state.d.ts.map +1 -0
- package/types/lib/core/text.d.ts +78 -0
- package/types/lib/core/text.d.ts.map +1 -0
- package/types/lib/core/ui.d.ts +87 -0
- package/types/lib/core/ui.d.ts.map +1 -0
- package/types/lib/core/urls.d.ts +43 -0
- package/types/lib/core/urls.d.ts.map +1 -0
- package/types/lib/ecosystems/asarutils.d.ts +71 -0
- package/types/lib/ecosystems/asarutils.d.ts.map +1 -0
- package/types/lib/ecosystems/bunutils.d.ts +38 -0
- package/types/lib/ecosystems/bunutils.d.ts.map +1 -0
- package/types/lib/ecosystems/caxa.d.ts +8 -0
- package/types/lib/ecosystems/caxa.d.ts.map +1 -0
- package/types/lib/ecosystems/chromextutils.d.ts +97 -0
- package/types/lib/ecosystems/chromextutils.d.ts.map +1 -0
- package/types/lib/ecosystems/cmakeResolver.d.ts +176 -0
- package/types/lib/ecosystems/cmakeResolver.d.ts.map +1 -0
- package/types/lib/ecosystems/cppEvidence.d.ts +35 -0
- package/types/lib/ecosystems/cppEvidence.d.ts.map +1 -0
- package/types/lib/ecosystems/denoutils.d.ts +76 -0
- package/types/lib/ecosystems/denoutils.d.ts.map +1 -0
- package/types/lib/ecosystems/dotnetutils.d.ts +45 -0
- package/types/lib/ecosystems/dotnetutils.d.ts.map +1 -0
- package/types/lib/ecosystems/ecosystems.d.ts +279 -0
- package/types/lib/ecosystems/ecosystems.d.ts.map +1 -0
- package/types/lib/ecosystems/golem.d.ts +60 -0
- package/types/lib/ecosystems/golem.d.ts.map +1 -0
- package/types/lib/ecosystems/gradleutils.d.ts +139 -0
- package/types/lib/ecosystems/gradleutils.d.ts.map +1 -0
- package/types/lib/ecosystems/jsEvidence.d.ts +17 -0
- package/types/lib/ecosystems/jsEvidence.d.ts.map +1 -0
- package/types/lib/ecosystems/npmutils.d.ts +183 -0
- package/types/lib/ecosystems/npmutils.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-bazel.d.ts +36 -0
- package/types/lib/ecosystems/parsers-bazel.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-dotnet.d.ts +116 -0
- package/types/lib/ecosystems/parsers-dotnet.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-gleam.d.ts +33 -0
- package/types/lib/ecosystems/parsers-gleam.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-go.d.ts +92 -0
- package/types/lib/ecosystems/parsers-go.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-js.d.ts +242 -0
- package/types/lib/ecosystems/parsers-js.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-jvm.d.ts +100 -0
- package/types/lib/ecosystems/parsers-jvm.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-misc.d.ts +450 -0
- package/types/lib/ecosystems/parsers-misc.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-python.d.ts +145 -0
- package/types/lib/ecosystems/parsers-python.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-rust.d.ts +56 -0
- package/types/lib/ecosystems/parsers-rust.d.ts.map +1 -0
- package/types/lib/ecosystems/parsers-zig.d.ts +83 -0
- package/types/lib/ecosystems/parsers-zig.d.ts.map +1 -0
- package/types/lib/ecosystems/pep770.d.ts +38 -0
- package/types/lib/ecosystems/pep770.d.ts.map +1 -0
- package/types/lib/ecosystems/pylockutils.d.ts +68 -0
- package/types/lib/ecosystems/pylockutils.d.ts.map +1 -0
- package/types/lib/ecosystems/pythonutils.d.ts +70 -0
- package/types/lib/ecosystems/pythonutils.d.ts.map +1 -0
- package/types/lib/ecosystems/registryProvenance.d.ts +26 -0
- package/types/lib/ecosystems/registryProvenance.d.ts.map +1 -0
- package/types/lib/ecosystems/remote/huggingface.d.ts +31 -0
- package/types/lib/ecosystems/remote/huggingface.d.ts.map +1 -0
- package/types/lib/ecosystems/rubyutils.d.ts +182 -0
- package/types/lib/ecosystems/rubyutils.d.ts.map +1 -0
- package/types/lib/ecosystems/rusi.d.ts +40 -0
- package/types/lib/ecosystems/rusi.d.ts.map +1 -0
- package/types/lib/ecosystems/sbtutils.d.ts +179 -0
- package/types/lib/ecosystems/sbtutils.d.ts.map +1 -0
- package/types/lib/ecosystems/tea.d.ts +180 -0
- package/types/lib/ecosystems/tea.d.ts.map +1 -0
- package/types/lib/ecosystems/utils.d.ts +41 -0
- package/types/lib/ecosystems/utils.d.ts.map +1 -0
- package/types/lib/ecosystems/zigResolver.d.ts +70 -0
- package/types/lib/ecosystems/zigResolver.d.ts.map +1 -0
- package/types/lib/evinser/db.d.ts +17 -0
- package/types/lib/evinser/db.d.ts.map +1 -0
- package/types/lib/evinser/evinser.d.ts +354 -0
- package/types/lib/evinser/evinser.d.ts.map +1 -0
- package/types/lib/evinser/scalasem.d.ts +15 -0
- package/types/lib/evinser/scalasem.d.ts.map +1 -0
- package/types/lib/evinser/swiftsem.d.ts +103 -0
- package/types/lib/evinser/swiftsem.d.ts.map +1 -0
- package/types/lib/helpers/annotationFormatter.d.ts +23 -0
- package/types/lib/helpers/annotationFormatter.d.ts.map +1 -0
- package/types/lib/helpers/bomSigner.d.ts +28 -0
- package/types/lib/helpers/bomSigner.d.ts.map +1 -0
- package/types/lib/helpers/exportUtils.d.ts +52 -0
- package/types/lib/helpers/exportUtils.d.ts.map +1 -0
- package/types/lib/helpers/remote/dependency-track.d.ts +23 -0
- package/types/lib/helpers/remote/dependency-track.d.ts.map +1 -0
- package/types/lib/helpers/versutils.d.ts +8 -0
- package/types/lib/helpers/versutils.d.ts.map +1 -0
- package/types/lib/helpers/vsixutils.d.ts +130 -0
- package/types/lib/helpers/vsixutils.d.ts.map +1 -0
- package/types/lib/inventory/agentFormulationParser.d.ts +21 -0
- package/types/lib/inventory/agentFormulationParser.d.ts.map +1 -0
- package/types/lib/inventory/aiCollector.d.ts +61 -0
- package/types/lib/inventory/aiCollector.d.ts.map +1 -0
- package/types/lib/inventory/aiInventory.d.ts +103 -0
- package/types/lib/inventory/aiInventory.d.ts.map +1 -0
- package/types/lib/inventory/aiModelVariants.d.ts +31 -0
- package/types/lib/inventory/aiModelVariants.d.ts.map +1 -0
- package/types/lib/inventory/aiOversightCollector.d.ts +28 -0
- package/types/lib/inventory/aiOversightCollector.d.ts.map +1 -0
- package/types/lib/inventory/aiProvenanceCollector.d.ts +13 -0
- package/types/lib/inventory/aiProvenanceCollector.d.ts.map +1 -0
- package/types/lib/inventory/analyzer.d.ts +157 -0
- package/types/lib/inventory/analyzer.d.ts.map +1 -0
- package/types/lib/inventory/analyzerScope.d.ts +106 -0
- package/types/lib/inventory/analyzerScope.d.ts.map +1 -0
- package/types/lib/inventory/astWorker.d.ts +9 -0
- package/types/lib/inventory/astWorker.d.ts.map +1 -0
- package/types/lib/inventory/atomUtils.d.ts +159 -0
- package/types/lib/inventory/atomUtils.d.ts.map +1 -0
- package/types/lib/inventory/auditCategories.d.ts +80 -0
- package/types/lib/inventory/auditCategories.d.ts.map +1 -0
- package/types/lib/inventory/bomUtils.d.ts +145 -0
- package/types/lib/inventory/bomUtils.d.ts.map +1 -0
- package/types/lib/inventory/cacheCommands.d.ts +28 -0
- package/types/lib/inventory/cacheCommands.d.ts.map +1 -0
- package/types/lib/inventory/cacheDir.d.ts +55 -0
- package/types/lib/inventory/cacheDir.d.ts.map +1 -0
- package/types/lib/inventory/cbomutils.d.ts +37 -0
- package/types/lib/inventory/cbomutils.d.ts.map +1 -0
- package/types/lib/inventory/cdxrs.d.ts +90 -0
- package/types/lib/inventory/cdxrs.d.ts.map +1 -0
- package/types/lib/inventory/ciParsers/azurePipelines.d.ts +27 -0
- package/types/lib/inventory/ciParsers/azurePipelines.d.ts.map +1 -0
- package/types/lib/inventory/ciParsers/circleCi.d.ts +27 -0
- package/types/lib/inventory/ciParsers/circleCi.d.ts.map +1 -0
- package/types/lib/inventory/ciParsers/common.d.ts +11 -0
- package/types/lib/inventory/ciParsers/common.d.ts.map +1 -0
- package/types/lib/inventory/ciParsers/githubActions.d.ts +38 -0
- package/types/lib/inventory/ciParsers/githubActions.d.ts.map +1 -0
- package/types/lib/inventory/ciParsers/gitlabCi.d.ts +26 -0
- package/types/lib/inventory/ciParsers/gitlabCi.d.ts.map +1 -0
- package/types/lib/inventory/ciParsers/jenkins.d.ts +26 -0
- package/types/lib/inventory/ciParsers/jenkins.d.ts.map +1 -0
- package/types/lib/inventory/citations.d.ts +90 -0
- package/types/lib/inventory/citations.d.ts.map +1 -0
- package/types/lib/inventory/communityAiConfigParser.d.ts +14 -0
- package/types/lib/inventory/communityAiConfigParser.d.ts.map +1 -0
- package/types/lib/inventory/containerRisk.d.ts +20 -0
- package/types/lib/inventory/containerRisk.d.ts.map +1 -0
- package/types/lib/inventory/cryptoAlgorithmFamily.d.ts +37 -0
- package/types/lib/inventory/cryptoAlgorithmFamily.d.ts.map +1 -0
- package/types/lib/inventory/deps.d.ts +140 -0
- package/types/lib/inventory/deps.d.ts.map +1 -0
- package/types/lib/inventory/depsUtils.d.ts +74 -0
- package/types/lib/inventory/depsUtils.d.ts.map +1 -0
- package/types/lib/inventory/display.d.ts +227 -0
- package/types/lib/inventory/display.d.ts.map +1 -0
- package/types/lib/inventory/dosai.d.ts +130 -0
- package/types/lib/inventory/dosai.d.ts.map +1 -0
- package/types/lib/inventory/dosaiParsers.d.ts +59 -0
- package/types/lib/inventory/dosaiParsers.d.ts.map +1 -0
- package/types/lib/inventory/dynamic.d.ts +25 -0
- package/types/lib/inventory/dynamic.d.ts.map +1 -0
- package/types/lib/inventory/envcontext.d.ts +377 -0
- package/types/lib/inventory/envcontext.d.ts.map +1 -0
- package/types/lib/inventory/evidenceUtils.d.ts +74 -0
- package/types/lib/inventory/evidenceUtils.d.ts.map +1 -0
- package/types/lib/inventory/fetchBatch.d.ts +127 -0
- package/types/lib/inventory/fetchBatch.d.ts.map +1 -0
- package/types/lib/inventory/fetchRate.d.ts +118 -0
- package/types/lib/inventory/fetchRate.d.ts.map +1 -0
- package/types/lib/inventory/forgeEnricher.d.ts +31 -0
- package/types/lib/inventory/forgeEnricher.d.ts.map +1 -0
- package/types/lib/inventory/formulationParsers.d.ts +50 -0
- package/types/lib/inventory/formulationParsers.d.ts.map +1 -0
- package/types/lib/inventory/gtfobins.d.ts +27 -0
- package/types/lib/inventory/gtfobins.d.ts.map +1 -0
- package/types/lib/inventory/hbom.d.ts +58 -0
- package/types/lib/inventory/hbom.d.ts.map +1 -0
- package/types/lib/inventory/hbomAnalysis.d.ts +56 -0
- package/types/lib/inventory/hbomAnalysis.d.ts.map +1 -0
- package/types/lib/inventory/hbomLoader.d.ts +7 -0
- package/types/lib/inventory/hbomLoader.d.ts.map +1 -0
- package/types/lib/inventory/hostTopology.d.ts +47 -0
- package/types/lib/inventory/hostTopology.d.ts.map +1 -0
- package/types/lib/inventory/inventoryStats.d.ts +42 -0
- package/types/lib/inventory/inventoryStats.d.ts.map +1 -0
- package/types/lib/inventory/jsonLike.d.ts +23 -0
- package/types/lib/inventory/jsonLike.d.ts.map +1 -0
- package/types/lib/inventory/licenseEnhancer.d.ts +70 -0
- package/types/lib/inventory/licenseEnhancer.d.ts.map +1 -0
- package/types/lib/inventory/lolbas.d.ts +16 -0
- package/types/lib/inventory/lolbas.d.ts.map +1 -0
- package/types/lib/inventory/mcp.d.ts +29 -0
- package/types/lib/inventory/mcp.d.ts.map +1 -0
- package/types/lib/inventory/mcpConfigParser.d.ts +20 -0
- package/types/lib/inventory/mcpConfigParser.d.ts.map +1 -0
- package/types/lib/inventory/mcpDiscovery.d.ts +33 -0
- package/types/lib/inventory/mcpDiscovery.d.ts.map +1 -0
- package/types/lib/inventory/mcpPinning.d.ts +11 -0
- package/types/lib/inventory/mcpPinning.d.ts.map +1 -0
- package/types/lib/inventory/osPackageResolver.d.ts +49 -0
- package/types/lib/inventory/osPackageResolver.d.ts.map +1 -0
- package/types/lib/inventory/osinfo.d.ts +120 -0
- package/types/lib/inventory/osinfo.d.ts.map +1 -0
- package/types/lib/inventory/osqueryTransform.d.ts +84 -0
- package/types/lib/inventory/osqueryTransform.d.ts.map +1 -0
- package/types/lib/inventory/plugins.d.ts +58 -0
- package/types/lib/inventory/plugins.d.ts.map +1 -0
- package/types/lib/inventory/protobom.d.ts +71 -0
- package/types/lib/inventory/protobom.d.ts.map +1 -0
- package/types/lib/inventory/protobomLoader.d.ts +17 -0
- package/types/lib/inventory/protobomLoader.d.ts.map +1 -0
- package/types/lib/inventory/provenanceUtils.d.ts +98 -0
- package/types/lib/inventory/provenanceUtils.d.ts.map +1 -0
- package/types/lib/inventory/purl.d.ts +313 -0
- package/types/lib/inventory/purl.d.ts.map +1 -0
- package/types/lib/inventory/rustFormulationParser.d.ts +17 -0
- package/types/lib/inventory/rustFormulationParser.d.ts.map +1 -0
- package/types/lib/inventory/sbomDocument.d.ts +59 -0
- package/types/lib/inventory/sbomDocument.d.ts.map +1 -0
- package/types/lib/inventory/source.d.ts +163 -0
- package/types/lib/inventory/source.d.ts.map +1 -0
- package/types/lib/inventory/spdx.d.ts +66 -0
- package/types/lib/inventory/spdx.d.ts.map +1 -0
- package/types/lib/inventory/spdxExpression.d.ts +58 -0
- package/types/lib/inventory/spdxExpression.d.ts.map +1 -0
- package/types/lib/inventory/spdxUtils.d.ts +12 -0
- package/types/lib/inventory/spdxUtils.d.ts.map +1 -0
- package/types/lib/inventory/table.d.ts +19 -0
- package/types/lib/inventory/table.d.ts.map +1 -0
- package/types/lib/inventory/traceRunner.d.ts +80 -0
- package/types/lib/inventory/traceRunner.d.ts.map +1 -0
- package/types/lib/inventory/unicodeScan.d.ts +46 -0
- package/types/lib/inventory/unicodeScan.d.ts.map +1 -0
- package/types/lib/managers/binary.d.ts +76 -0
- package/types/lib/managers/binary.d.ts.map +1 -0
- package/types/lib/managers/containerutils.d.ts +30 -0
- package/types/lib/managers/containerutils.d.ts.map +1 -0
- package/types/lib/managers/docker.d.ts +157 -0
- package/types/lib/managers/docker.d.ts.map +1 -0
- package/types/lib/managers/dockerConnection.d.ts +42 -0
- package/types/lib/managers/dockerConnection.d.ts.map +1 -0
- package/types/lib/managers/oci.d.ts +21 -0
- package/types/lib/managers/oci.d.ts.map +1 -0
- package/types/lib/managers/piptree.d.ts +13 -0
- package/types/lib/managers/piptree.d.ts.map +1 -0
- package/types/lib/parsers/cmakeCache.d.ts +70 -0
- package/types/lib/parsers/cmakeCache.d.ts.map +1 -0
- package/types/lib/parsers/gguf.d.ts +39 -0
- package/types/lib/parsers/gguf.d.ts.map +1 -0
- package/types/lib/parsers/gitAiNotes.d.ts +15 -0
- package/types/lib/parsers/gitAiNotes.d.ts.map +1 -0
- package/types/lib/parsers/gitmodules.d.ts +88 -0
- package/types/lib/parsers/gitmodules.d.ts.map +1 -0
- package/types/lib/parsers/htmlExtract.d.ts +34 -0
- package/types/lib/parsers/htmlExtract.d.ts.map +1 -0
- package/types/lib/parsers/huggingfaceManifest.d.ts +153 -0
- package/types/lib/parsers/huggingfaceManifest.d.ts.map +1 -0
- package/types/lib/parsers/huggingfaceUtils.d.ts +155 -0
- package/types/lib/parsers/huggingfaceUtils.d.ts.map +1 -0
- package/types/lib/parsers/iri.d.ts +68 -0
- package/types/lib/parsers/iri.d.ts.map +1 -0
- package/types/lib/parsers/npmrc.d.ts +33 -0
- package/types/lib/parsers/npmrc.d.ts.map +1 -0
- package/types/lib/parsers/ollama.d.ts +22 -0
- package/types/lib/parsers/ollama.d.ts.map +1 -0
- package/types/lib/parsers/xml.d.ts +47 -0
- package/types/lib/parsers/xml.d.ts.map +1 -0
- package/types/lib/server/server.d.ts +51 -0
- package/types/lib/server/server.d.ts.map +1 -0
- package/types/lib/stages/postgen/annotator.d.ts +36 -0
- package/types/lib/stages/postgen/annotator.d.ts.map +1 -0
- package/types/lib/stages/postgen/auditBom.d.ts +92 -0
- package/types/lib/stages/postgen/auditBom.d.ts.map +1 -0
- package/types/lib/stages/postgen/postgen.d.ts +59 -0
- package/types/lib/stages/postgen/postgen.d.ts.map +1 -0
- package/types/lib/stages/postgen/ruleEngine.d.ts +18 -0
- package/types/lib/stages/postgen/ruleEngine.d.ts.map +1 -0
- package/types/lib/stages/postgen/sortBom.d.ts +34 -0
- package/types/lib/stages/postgen/sortBom.d.ts.map +1 -0
- package/types/lib/stages/postgen/spdxConverter.d.ts +11 -0
- package/types/lib/stages/postgen/spdxConverter.d.ts.map +1 -0
- package/types/lib/stages/postgen/specVersionCompat.d.ts +71 -0
- package/types/lib/stages/postgen/specVersionCompat.d.ts.map +1 -0
- package/types/lib/stages/pregen/envAudit.d.ts +14 -0
- package/types/lib/stages/pregen/envAudit.d.ts.map +1 -0
- package/types/lib/stages/pregen/pregen.d.ts +59 -0
- package/types/lib/stages/pregen/pregen.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/arborist/index.d.ts +47 -0
- package/types/lib/third-party/arborist/lib/arborist/index.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/arborist/load-actual.d.ts +4 -0
- package/types/lib/third-party/arborist/lib/arborist/load-actual.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/arborist/load-virtual.d.ts +4 -0
- package/types/lib/third-party/arborist/lib/arborist/load-virtual.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/bin-links.d.ts +18 -0
- package/types/lib/third-party/arborist/lib/bin-links.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/calc-dep-flags.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/calc-dep-flags.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/case-insensitive-map.d.ts +9 -0
- package/types/lib/third-party/arborist/lib/case-insensitive-map.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/consistent-resolve.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/consistent-resolve.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/debug.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/debug.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/dep-valid.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/dep-valid.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/edge.d.ts +46 -0
- package/types/lib/third-party/arborist/lib/edge.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/from-path.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/from-path.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/gather-dep-set.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/gather-dep-set.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/index.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/index.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/inventory.d.ts +14 -0
- package/types/lib/third-party/arborist/lib/inventory.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/link.d.ts +18 -0
- package/types/lib/third-party/arborist/lib/link.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/node.d.ts +112 -0
- package/types/lib/third-party/arborist/lib/node.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/npm-extension.d.ts +18 -0
- package/types/lib/third-party/arborist/lib/npm-extension.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/override-resolves.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/override-resolves.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/override-set.d.ts +27 -0
- package/types/lib/third-party/arborist/lib/override-set.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/package-extensions.d.ts +36 -0
- package/types/lib/third-party/arborist/lib/package-extensions.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/printable.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/printable.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/proc-log.d.ts +20 -0
- package/types/lib/third-party/arborist/lib/proc-log.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/realpath.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/realpath.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/relpath.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/relpath.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/shrinkwrap.d.ts +54 -0
- package/types/lib/third-party/arborist/lib/shrinkwrap.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/spec-from-lock.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/spec-from-lock.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/tree-check.d.ts +3 -0
- package/types/lib/third-party/arborist/lib/tree-check.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/validate-npm-package-name.d.ts +13 -0
- package/types/lib/third-party/arborist/lib/validate-npm-package-name.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/version-from-tgz.d.ts +6 -0
- package/types/lib/third-party/arborist/lib/version-from-tgz.d.ts.map +1 -0
- package/types/lib/third-party/arborist/lib/yarn-lock.d.ts +35 -0
- package/types/lib/third-party/arborist/lib/yarn-lock.d.ts.map +1 -0
- package/types/lib/validator/bomValidator.d.ts +40 -0
- package/types/lib/validator/bomValidator.d.ts.map +1 -0
- package/types/lib/validator/complianceEngine.d.ts +72 -0
- package/types/lib/validator/complianceEngine.d.ts.map +1 -0
- package/types/lib/validator/complianceRules.d.ts +61 -0
- package/types/lib/validator/complianceRules.d.ts.map +1 -0
- package/types/lib/validator/index.d.ts +101 -0
- package/types/lib/validator/index.d.ts.map +1 -0
- package/types/lib/validator/reporters/annotations.d.ts +37 -0
- package/types/lib/validator/reporters/annotations.d.ts.map +1 -0
- package/types/lib/validator/reporters/console.d.ts +34 -0
- package/types/lib/validator/reporters/console.d.ts.map +1 -0
- package/types/lib/validator/reporters/index.d.ts +30 -0
- package/types/lib/validator/reporters/index.d.ts.map +1 -0
- package/types/lib/validator/reporters/json.d.ts +11 -0
- package/types/lib/validator/reporters/json.d.ts.map +1 -0
- package/types/lib/validator/reporters/sarif.d.ts +22 -0
- package/types/lib/validator/reporters/sarif.d.ts.map +1 -0
- package/mod.d.ts +0 -7
- package/mod.js +0 -22
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Determines whether the `node_modules` directory should be scanned for the
|
|
3
|
+
* current run. Scanning is always performed in deep mode or when no project
|
|
4
|
+
* type is selected; otherwise the selected types must include at least one of
|
|
5
|
+
* the requested base project types.
|
|
6
|
+
*
|
|
7
|
+
* @param {object} options CLI options
|
|
8
|
+
* @param {string[]} baseProjectTypes Base project types that require the scan
|
|
9
|
+
* @returns {boolean} True when `node_modules` should be included in the scan
|
|
10
|
+
*/
|
|
11
|
+
export declare const shouldIncludeNodeModulesDir: (options?: object, baseProjectTypes?: string[]) => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Regex source string that matches hex digests of common lengths
|
|
14
|
+
* (32, 40, 64, 96, or 128 characters) used for integrity validation.
|
|
15
|
+
*
|
|
16
|
+
* @type {string}
|
|
17
|
+
*/
|
|
18
|
+
export declare const HASH_PATTERN: string;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a default parent component based on the directory name.
|
|
21
|
+
*
|
|
22
|
+
* @param {String} path Directory or file name
|
|
23
|
+
* @param {String} type Package type
|
|
24
|
+
* @param {Object} options CLI options
|
|
25
|
+
* @returns component object
|
|
26
|
+
*/
|
|
27
|
+
export declare const createDefaultParentComponent: (path: string, type?: string, options?: Object) => {
|
|
28
|
+
group: any;
|
|
29
|
+
name: any;
|
|
30
|
+
version: string;
|
|
31
|
+
type: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Builds the parent (metadata.component) for the BOM from the
|
|
35
|
+
* `--project-name`/`--project-version`/`--project-group` CLI options,
|
|
36
|
+
* constructing a purl and bom-ref. Returns the caller-supplied
|
|
37
|
+
* `options.parentComponent` unchanged when present.
|
|
38
|
+
*
|
|
39
|
+
* @param {object} options CLI options
|
|
40
|
+
* @returns {object|undefined} Parent component object, or undefined when no
|
|
41
|
+
* project name/version is available
|
|
42
|
+
*/
|
|
43
|
+
export declare const determineParentComponent: (options: object) => object | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Assembles the `metadata.tools` block, including the cdxgen tool entry and,
|
|
46
|
+
* for spec versions prior to 1.5, the legacy tools array. For spec version
|
|
47
|
+
* 1.6+ the author field is converted to the authors array.
|
|
48
|
+
*
|
|
49
|
+
* @param {object} options CLI options
|
|
50
|
+
* @param {object} [context={}] Additional context carrying existing components
|
|
51
|
+
* @returns {{ components?: object[], tools?: object[] }} Object containing the
|
|
52
|
+
* tools array (1.4) or a components array with tool components (1.5+)
|
|
53
|
+
*/
|
|
54
|
+
export declare const addToolsSection: (options: object, context?: object) => {
|
|
55
|
+
components?: object[];
|
|
56
|
+
tools?: object[];
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Renders a component's group/name@version as a simple display string.
|
|
60
|
+
*
|
|
61
|
+
* @param {object} comp Component object
|
|
62
|
+
* @returns {string} `group/name@version`, `name@version`, or `name`
|
|
63
|
+
*/
|
|
64
|
+
export declare const componentToSimpleFullName: (comp: object) => string;
|
|
65
|
+
/**
|
|
66
|
+
* Strips transient keys (`evidence`, `_integrity`, `license`, `qualifiers`,
|
|
67
|
+
* `repository`, `homepage`) from a parent component while preserving licenses
|
|
68
|
+
* and external references (bug #1519).
|
|
69
|
+
*
|
|
70
|
+
* @param {object} comp Parent component to clean in place
|
|
71
|
+
* @returns {object} The cleaned parent component
|
|
72
|
+
*/
|
|
73
|
+
export declare const cleanParentComponent: (comp: object) => object;
|
|
74
|
+
/**
|
|
75
|
+
* Builds the `metadata.authors` array from `options.author`, which may be a
|
|
76
|
+
* single string or an array of author strings. Entries shorter than two
|
|
77
|
+
* characters are ignored.
|
|
78
|
+
*
|
|
79
|
+
* @param {object} options CLI options
|
|
80
|
+
* @returns {object[]} Author objects of the form `{ name }`
|
|
81
|
+
*/
|
|
82
|
+
export declare const addAuthorsSection: (options: object) => object[];
|
|
83
|
+
/**
|
|
84
|
+
* Method to generate metadata.lifecycles section. We assume that we operate during "build"
|
|
85
|
+
* most of the time and under "post-build" for containers.
|
|
86
|
+
*
|
|
87
|
+
* @param {Object} options
|
|
88
|
+
* @returns {Array} Lifecycles array
|
|
89
|
+
*/
|
|
90
|
+
export declare const addLifecyclesSection: (options: Object) => any[];
|
|
91
|
+
/**
|
|
92
|
+
* Function to create metadata block
|
|
93
|
+
*
|
|
94
|
+
*/
|
|
95
|
+
export declare function addMetadata(parentComponent?: {}, options?: {}, context?: {}): {
|
|
96
|
+
timestamp: string;
|
|
97
|
+
tools: {
|
|
98
|
+
components?: object[];
|
|
99
|
+
tools?: object[];
|
|
100
|
+
};
|
|
101
|
+
authors: object[];
|
|
102
|
+
supplier: undefined;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Method to create external references
|
|
106
|
+
*
|
|
107
|
+
* @param {Array | Object} opkg
|
|
108
|
+
* @returns {Array}
|
|
109
|
+
*/
|
|
110
|
+
export declare function addExternalReferences(opkg: any[] | Object): any[];
|
|
111
|
+
/**
|
|
112
|
+
* For all modules in the specified package, creates a list of
|
|
113
|
+
* component objects from each one.
|
|
114
|
+
*
|
|
115
|
+
* @param {Object} options CLI options
|
|
116
|
+
* @param {Object} allImports All imports
|
|
117
|
+
* @param {Object} pkg Package object
|
|
118
|
+
* @param {string} ptype Package type
|
|
119
|
+
* @returns {Object[]} Array of component objects
|
|
120
|
+
*/
|
|
121
|
+
export declare function listComponents(options: Object, allImports: Object, pkg: Object, ptype?: string): Object[];
|
|
122
|
+
/**
|
|
123
|
+
* Component types that never receive an ecosystem purl.
|
|
124
|
+
*
|
|
125
|
+
* @type {string[]}
|
|
126
|
+
*/
|
|
127
|
+
export declare const NON_PURL_TYPES: string[];
|
|
128
|
+
/**
|
|
129
|
+
* Property-name prefix used to key npm bin-command import evidence
|
|
130
|
+
* (`cdx:npm:bin/`).
|
|
131
|
+
*
|
|
132
|
+
* @type {string}
|
|
133
|
+
*/
|
|
134
|
+
export declare const NPM_BIN_IMPORT_PREFIX: string;
|
|
135
|
+
/**
|
|
136
|
+
* Returns all non-empty property values for a given property name on a package.
|
|
137
|
+
*
|
|
138
|
+
* @param {object} pkg Package/component object with an optional `properties` array
|
|
139
|
+
* @param {string} propertyName Property name to match
|
|
140
|
+
* @returns {string[]} Matching property values as strings
|
|
141
|
+
*/
|
|
142
|
+
export declare function getPackagePropertyValues(pkg: object, propertyName: string): string[];
|
|
143
|
+
/**
|
|
144
|
+
* Splits a comma-separated property value into a trimmed, non-empty string array.
|
|
145
|
+
*
|
|
146
|
+
* @param {string} value Comma-separated value
|
|
147
|
+
* @returns {string[]} Trimmed list entries
|
|
148
|
+
*/
|
|
149
|
+
export declare function splitPackagePropertyList(value: string): string[];
|
|
150
|
+
/**
|
|
151
|
+
* Collects the set of bin command names an npm package exposes, derived from
|
|
152
|
+
* the `bin` field and the `cdx:npm:bin` / `cdx:npm:binPaths` properties.
|
|
153
|
+
*
|
|
154
|
+
* @param {object} pkg Package object
|
|
155
|
+
* @returns {Set<string>} Bin command names
|
|
156
|
+
*/
|
|
157
|
+
export declare function getPackageBinCommandNames(pkg: object): Set<string>;
|
|
158
|
+
/**
|
|
159
|
+
* Checks whether any bin command of a package appears in the analyzer import
|
|
160
|
+
* evidence (keyed under `cdx:npm:bin/`).
|
|
161
|
+
*
|
|
162
|
+
* @param {object} allImports Map of import names to usage counts
|
|
163
|
+
* @param {object} pkg Package object
|
|
164
|
+
* @returns {boolean} True when at least one bin command is imported
|
|
165
|
+
*/
|
|
166
|
+
export declare function hasNpmBinCommandEvidence(allImports: object, pkg: object): boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Given the specified package, create a CycloneDX component and add it to the list.
|
|
169
|
+
*/
|
|
170
|
+
export declare function addComponent(options: any, allImports: any, pkg: any, ptype: any, compMap: any, isRootPkg?: boolean): void;
|
|
171
|
+
/**
|
|
172
|
+
* If the author has described the module as a 'framework', the take their
|
|
173
|
+
* word for it, otherwise, identify the module as a 'library'.
|
|
174
|
+
*/
|
|
175
|
+
export declare function determinePackageType(pkg: any): any;
|
|
176
|
+
/**
|
|
177
|
+
* Uses the SHA1 shasum (if present) otherwise utilizes Subresource Integrity
|
|
178
|
+
* of the package with support for multiple hashing algorithms.
|
|
179
|
+
*/
|
|
180
|
+
export declare function processHashes(pkg: any, component: any): void;
|
|
181
|
+
/**
|
|
182
|
+
* Adds a hash to component.
|
|
183
|
+
*/
|
|
184
|
+
export declare function addComponentHash(alg: any, digest: any, component: any): void;
|
|
185
|
+
/**
|
|
186
|
+
* Return the BOM in json format including any namespace mapping
|
|
187
|
+
*
|
|
188
|
+
* @param {Object} options Options
|
|
189
|
+
* @param {Object} pkgInfo Package information
|
|
190
|
+
* @param {string} ptype Package type
|
|
191
|
+
* @param {Object} context Context
|
|
192
|
+
*
|
|
193
|
+
* @returns {Object} BOM with namespace mapping
|
|
194
|
+
*/
|
|
195
|
+
export declare const buildBomNSData: (options: Object, pkgInfo: Object, ptype: string, context: Object) => Object;
|
|
196
|
+
/**
|
|
197
|
+
* Function to create bom string for Android apps using blint
|
|
198
|
+
*
|
|
199
|
+
* @param {string} path to the project
|
|
200
|
+
* @param {Object} options Parse options from the cli
|
|
201
|
+
* @returns {Object|undefined} BOM object
|
|
202
|
+
*/
|
|
203
|
+
export declare function createAndroidBom(path: string, options: Object): Object | undefined;
|
|
204
|
+
/**
|
|
205
|
+
* Function to create bom string for binaries using blint
|
|
206
|
+
*
|
|
207
|
+
* @param {string} path to the project
|
|
208
|
+
* @param {Object} options Parse options from the cli
|
|
209
|
+
* @returns {Object|undefined} BOM object
|
|
210
|
+
*/
|
|
211
|
+
export declare function createBinaryBom(path: string, options: Object): Object | undefined;
|
|
212
|
+
/**
|
|
213
|
+
* Identify the requested AI inventory project types.
|
|
214
|
+
*
|
|
215
|
+
* @param {Object} options Parse options from the cli
|
|
216
|
+
* @returns {string[]} Requested AI inventory types
|
|
217
|
+
*/
|
|
218
|
+
export declare function getRequestedAiInventoryTypes(options: Object): string[];
|
|
219
|
+
/**
|
|
220
|
+
* Returns the AI inventory types excluded via `--exclude-type`.
|
|
221
|
+
*
|
|
222
|
+
* @param {object} options CLI options
|
|
223
|
+
* @returns {string[]} Excluded AI inventory types
|
|
224
|
+
*/
|
|
225
|
+
export declare function getExcludedAiInventoryTypes(options: object): string[];
|
|
226
|
+
/**
|
|
227
|
+
* Removes the excluded AI inventory types from the included list.
|
|
228
|
+
*
|
|
229
|
+
* @param {string[]} includedAiInventoryTypes Types selected for collection
|
|
230
|
+
* @param {string[]} excludedAiInventoryTypes Types excluded by the user
|
|
231
|
+
* @returns {string[]} Filtered list of AI inventory types
|
|
232
|
+
*/
|
|
233
|
+
export declare function filterIncludedAiInventoryTypes(includedAiInventoryTypes: string[], excludedAiInventoryTypes: string[]): string[];
|
|
234
|
+
/**
|
|
235
|
+
* Determine which AI inventory types should be collected for a scan.
|
|
236
|
+
*
|
|
237
|
+
* This combines explicit project-type opt-ins with BOM audit category-driven
|
|
238
|
+
* opt-ins, then removes any explicitly excluded inventory types.
|
|
239
|
+
*
|
|
240
|
+
* @param {Object} options Parse options from the CLI
|
|
241
|
+
* @returns {string[]} AI inventory types to collect
|
|
242
|
+
*/
|
|
243
|
+
export declare function getIncludedAiInventoryTypes(options: Object): string[];
|
|
244
|
+
/**
|
|
245
|
+
* Returns the single AI inventory type when exactly one project type alias is
|
|
246
|
+
* selected, otherwise undefined.
|
|
247
|
+
*
|
|
248
|
+
* @param {object} options CLI options
|
|
249
|
+
* @returns {string|undefined} The exact AI inventory type or undefined
|
|
250
|
+
*/
|
|
251
|
+
export declare function getExactAiInventoryType(options: object): string | undefined;
|
|
252
|
+
/**
|
|
253
|
+
* Determine whether MCP source-code analysis should run for the current scan.
|
|
254
|
+
*
|
|
255
|
+
* @param {string[]} includedAiInventoryTypes AI inventory types selected for collection
|
|
256
|
+
* @returns {boolean} True when MCP inventory collection is enabled
|
|
257
|
+
*/
|
|
258
|
+
export declare function shouldDetectMcpInventory(includedAiInventoryTypes: string[]): boolean;
|
|
259
|
+
/**
|
|
260
|
+
* Collects sorted, unique relative file names for AI inventory subjects whose
|
|
261
|
+
* `cdx:file:kind` property matches one of the given kinds.
|
|
262
|
+
*
|
|
263
|
+
* @param {object[]} subjects Component or service subjects to inspect
|
|
264
|
+
* @param {string} discoveryPath Base path used to compute relative file names
|
|
265
|
+
* @param {Set<string>} kindSet Accepted kind values
|
|
266
|
+
* @returns {string[]} Sorted unique relative file names
|
|
267
|
+
*/
|
|
268
|
+
export declare function summarizeAiInventoryNames(subjects: object[], discoveryPath: string, kindSet: Set<string>): string[];
|
|
269
|
+
/**
|
|
270
|
+
* Collects sorted unique service names from an AI inventory services list.
|
|
271
|
+
*
|
|
272
|
+
* @param {object[]} services Services with a `name` property
|
|
273
|
+
* @returns {string[]} Sorted unique service names
|
|
274
|
+
*/
|
|
275
|
+
export declare function summarizeAiInventoryServiceNames(services: object[]): string[];
|
|
276
|
+
/**
|
|
277
|
+
* Formats one padded summary line for the AI inventory console output.
|
|
278
|
+
*
|
|
279
|
+
* @param {string} label Left-aligned label (padded to 20 chars)
|
|
280
|
+
* @param {number} count Item count
|
|
281
|
+
* @param {string[]} nameList Optional list of names to append in parentheses
|
|
282
|
+
* @returns {string} The formatted summary line
|
|
283
|
+
*/
|
|
284
|
+
export declare function formatAiInventorySummaryLine(label: string, count: number, nameList: string[]): string;
|
|
285
|
+
/**
|
|
286
|
+
* Prints a human-readable AI inventory summary to stderr, including counts and
|
|
287
|
+
* names for instruction files, skill files, MCP configs, and MCP services.
|
|
288
|
+
* Returns without printing when the inventory is empty.
|
|
289
|
+
*
|
|
290
|
+
* @param {object} aiInventory AI inventory object with components and services
|
|
291
|
+
* @param {string} discoveryPath Base path used to compute relative file names
|
|
292
|
+
* @returns {void}
|
|
293
|
+
*/
|
|
294
|
+
export declare function emitAiInventorySummary(aiInventory: object, discoveryPath: string): void;
|
|
295
|
+
/**
|
|
296
|
+
* Dedupe components
|
|
297
|
+
*
|
|
298
|
+
* @param {Object} options Options
|
|
299
|
+
* @param {Array} components Components
|
|
300
|
+
* @param {Object} parentComponent Parent component
|
|
301
|
+
* @param {Array} dependencies Dependencies
|
|
302
|
+
*
|
|
303
|
+
* @returns {Object} Object including BOM Json
|
|
304
|
+
*/
|
|
305
|
+
export declare function dedupeBom(options: Object, components: any[], parentComponent: Object, dependencies: any[]): Object;
|
|
306
|
+
/**
|
|
307
|
+
* Checks whether the user explicitly selected a project type alias that
|
|
308
|
+
* belongs to the given base project type.
|
|
309
|
+
*
|
|
310
|
+
* @param {object} options CLI options
|
|
311
|
+
* @param {string} baseProjectType Base project type to check against
|
|
312
|
+
* @returns {boolean} True when an explicit alias selection matches
|
|
313
|
+
*/
|
|
314
|
+
export declare const hasExplicitProjectTypeSelection: (options: object, baseProjectType: string) => boolean;
|
|
315
|
+
//# sourceMappingURL=bomAssembly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bomAssembly.d.ts","sourceRoot":"","sources":["../../../lib/cli/bomAssembly.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI argument → options conversion for cdxgen.
|
|
3
|
+
*
|
|
4
|
+
* Extracts the complex arg-to-options mapping from `bin/cdxgen.js` into
|
|
5
|
+
* pure, testable functions with no side-effects (no process.exit, no
|
|
6
|
+
* console output).
|
|
7
|
+
*
|
|
8
|
+
* Architecture note: This module is a helper and must NOT import from
|
|
9
|
+
* `lib/cli/index.js` or `lib/stages/`. See AGENTS.md "Module layering
|
|
10
|
+
* rules".
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Validate the `--spec-version` value against the v13 spec floor (1.6).
|
|
15
|
+
*
|
|
16
|
+
* Returns `null` when the value is an accepted generation target, or an
|
|
17
|
+
* actionable error string when it is rejected. The error message for
|
|
18
|
+
* sub-floor versions (1.4 / 1.5) explains that output downgrade still
|
|
19
|
+
* exists, so users are not left without a migration path.
|
|
20
|
+
*
|
|
21
|
+
* @param {number} specVersion The parsed `--spec-version` value.
|
|
22
|
+
* @param {string} [commandName] The invoked binary name for the message.
|
|
23
|
+
* @returns {string|null} Error message, or `null` when valid.
|
|
24
|
+
*/
|
|
25
|
+
export declare function validateSpecVersion(specVersion: number, commandName?: string): string | null;
|
|
26
|
+
/**
|
|
27
|
+
* Check whether a value was explicitly provided by the user (i.e., is not
|
|
28
|
+
* the yargs default). Yargs always populates default values, so we cannot
|
|
29
|
+
* simply check for truthiness.
|
|
30
|
+
*
|
|
31
|
+
* We detect "user-provided" by checking whether the actual value differs
|
|
32
|
+
* from the declared yargs default. This is robust for primitive types
|
|
33
|
+
* (number, string, boolean) which is the case for all cdxgen CLI flags.
|
|
34
|
+
*
|
|
35
|
+
* @param {*} value The value from the parsed args
|
|
36
|
+
* @param {*} yaDefault The default declared in yargs `.option()`
|
|
37
|
+
* @returns {boolean} True when the user explicitly set this flag
|
|
38
|
+
*/
|
|
39
|
+
export declare function isUserProvided(value: any, yaDefault: any): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Apply command-name-based defaults to the raw parsed args. When cdxgen is
|
|
42
|
+
* invoked via a symlink or alias (e.g. `obom`, `cbom`, `spdxgen`, `aibom`),
|
|
43
|
+
* certain args receive implicit values.
|
|
44
|
+
*
|
|
45
|
+
* **Pure function** — returns a shallow copy of `args` with mutations; the
|
|
46
|
+
* original `args` object is not modified.
|
|
47
|
+
*
|
|
48
|
+
* @param {object} args Parsed yargs argv
|
|
49
|
+
* @param {string} invokedCommandName Binary name without extension
|
|
50
|
+
* @returns {object} A shallow copy of args with alias-based defaults applied
|
|
51
|
+
*/
|
|
52
|
+
export declare function applyCommandNameDefaults(args: object, invokedCommandName: string): object;
|
|
53
|
+
export declare function buildInitialOptions(args: any, { filePath, isRemoteOrPurl }: {
|
|
54
|
+
filePath: any;
|
|
55
|
+
isRemoteOrPurl: any;
|
|
56
|
+
}): any;
|
|
57
|
+
export type OptionsWarning = {
|
|
58
|
+
/**
|
|
59
|
+
* Severity level
|
|
60
|
+
*/
|
|
61
|
+
level: "info" | "warn" | "error";
|
|
62
|
+
/**
|
|
63
|
+
* Human-readable description
|
|
64
|
+
*/
|
|
65
|
+
message: string;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* @typedef {object} OptionsWarning
|
|
69
|
+
* @property {"info"|"warn"|"error"} level Severity level
|
|
70
|
+
* @property {string} message Human-readable description
|
|
71
|
+
*/
|
|
72
|
+
/**
|
|
73
|
+
* Apply command-specific, standard, and security overrides to the options
|
|
74
|
+
* object. This covers:
|
|
75
|
+
*
|
|
76
|
+
* - Dedup of `projectType`
|
|
77
|
+
* - `cbom` / `saasbom` command overrides
|
|
78
|
+
* - `cdxgen-secure` mode
|
|
79
|
+
* - Dry-run mode
|
|
80
|
+
* - Standards-driven specVersion default
|
|
81
|
+
* - HBOM formulation suppression
|
|
82
|
+
*
|
|
83
|
+
* **Mutates `options` in place** and returns a list of warnings that the
|
|
84
|
+
* caller should surface to the user (e.g. via `console.warn`).
|
|
85
|
+
*
|
|
86
|
+
* @param {object} options The options object from Phase 2
|
|
87
|
+
* @param {object} context
|
|
88
|
+
* @param {string} context.invokedCommandName Binary name (e.g. "cbom")
|
|
89
|
+
* @param {boolean} context.userSetSpecVersion True when the user explicitly
|
|
90
|
+
* passed `--spec-version`
|
|
91
|
+
* @param {boolean} [context.isDryRun=false] Current dry-run state
|
|
92
|
+
* @returns {OptionsWarning[]} Warnings to surface to the user
|
|
93
|
+
*/
|
|
94
|
+
export declare function applyPostConstructionOverrides(options: object, context: {
|
|
95
|
+
invokedCommandName: string;
|
|
96
|
+
userSetSpecVersion: boolean;
|
|
97
|
+
isDryRun?: boolean;
|
|
98
|
+
}): OptionsWarning[];
|
|
99
|
+
/**
|
|
100
|
+
* Apply advanced option expansion based on `profile`, `lifecycle`, and
|
|
101
|
+
* `technique` settings. This is the extracted form of the
|
|
102
|
+
* `applyAdvancedOptions()` function that was previously inline in
|
|
103
|
+
* `bin/cdxgen.js`.
|
|
104
|
+
*
|
|
105
|
+
* **Mutates `options` in place.**
|
|
106
|
+
*
|
|
107
|
+
* Design note: Several profiles unconditionally override user flags like
|
|
108
|
+
* `deep`, `evidence`, and `installDeps`. This is intentional — the profile
|
|
109
|
+
* is a "meta-flag" that sets a curated combination. When users select a
|
|
110
|
+
* profile, they opt into its opinionated defaults.
|
|
111
|
+
*
|
|
112
|
+
* @param {object} options The options object
|
|
113
|
+
* @param {object} [context]
|
|
114
|
+
* @param {boolean} [context.isSecureMode] Whether cdxgen runs in secure mode
|
|
115
|
+
* @returns {OptionsWarning[]} Warnings for the caller
|
|
116
|
+
*/
|
|
117
|
+
export declare function applyAdvancedOptions(options: object, context?: {
|
|
118
|
+
isSecureMode?: boolean;
|
|
119
|
+
}): OptionsWarning[];
|
|
120
|
+
/**
|
|
121
|
+
* Build the complete `options` object from parsed CLI arguments.
|
|
122
|
+
*
|
|
123
|
+
* This is the single entry point that replaces the ~330 lines of inline
|
|
124
|
+
* imperative code in `bin/cdxgen.js`. It orchestrates all four phases:
|
|
125
|
+
*
|
|
126
|
+
* 1. Command-name alias expansion
|
|
127
|
+
* 2. Initial options construction (field renames, derived values)
|
|
128
|
+
* 3. Post-construction overrides (dedup, command flags, specVersion)
|
|
129
|
+
* 4. Advanced options (profile, lifecycle, technique)
|
|
130
|
+
*
|
|
131
|
+
* Returns both the options object and a list of warnings that the caller
|
|
132
|
+
* (typically `bin/cdxgen.js`) should surface to the user.
|
|
133
|
+
*
|
|
134
|
+
* @param {object} args Raw parsed yargs argv
|
|
135
|
+
* @param {object} context
|
|
136
|
+
* @param {string} context.invokedCommandName Binary name without extension
|
|
137
|
+
* @param {string} context.filePath Resolved source path
|
|
138
|
+
* @param {boolean} context.isRemoteOrPurl True for URL/purl sources
|
|
139
|
+
* @param {boolean} context.userSetSpecVersion True when the user explicitly
|
|
140
|
+
* passed `--spec-version`
|
|
141
|
+
* @param {boolean} [context.isDryRun=false] Dry-run mode
|
|
142
|
+
* @param {boolean} [context.isSecureMode] Secure mode
|
|
143
|
+
* @returns {{ options: object, warnings: OptionsWarning[] }}
|
|
144
|
+
*/
|
|
145
|
+
export declare function buildOptionsFromArgs(args: object, context: {
|
|
146
|
+
invokedCommandName: string;
|
|
147
|
+
filePath: string;
|
|
148
|
+
isRemoteOrPurl: boolean;
|
|
149
|
+
userSetSpecVersion: boolean;
|
|
150
|
+
isDryRun?: boolean;
|
|
151
|
+
isSecureMode?: boolean;
|
|
152
|
+
}): {
|
|
153
|
+
options: object;
|
|
154
|
+
warnings: OptionsWarning[];
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=cliOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliOptions.d.ts","sourceRoot":"","sources":["../../../lib/cli/cliOptions.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAJpC,MAIoC,EAAE,WAAW,AAHzD,CACA,EADQ,MAG4D,GAF1D,MAAM,GAAC,IAAI,CAoBvB;AA6BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAJzB,GAIyB,EAAE,SAAS,EAHpC,GAGoC,GAFlC,OAAO,CAInB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAJlC,MAIkC,EAAE,kBAAkB,EAHtD,MAGsD,GAFpD,MAAM,CAoBlB;AAwCD,wBAAgB,mBAAmB,CAAC,IAAI,KAAA,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE;;;CAAA,OAyCrE;AAGE,YAAkB,cAAc,GAChC;;;;IAAkC,KAAK,EAA5B,MAAM,GAAC,MAAM,GAAC,OAAO,CAChC;;;;IAAkC,OAAO,EAA9B,MAAM,CACnB;CAAA,CAAA;AAJD;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAR3C,MAQ2C,EAAE,OAAO,EAN5D;IAAwB,kBAAkB,EAAlC,MAAM,CACd;IAAyB,kBAAkB,EAAnC,OAAO,CAEf;IAA0B,QAAQ,AAAlC,CACA,EADQ,OAAO,CACf;CAE4D,GAFlD,cAAc,EAAE,CAoF5B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EALjC,MAKiC,EAAE,OAAO,AAJlD,CAEA,EADA;IAA0B,YAAY,AAAtC,CACA,EADQ,OAAO,CACf;CAEuD,GAF7C,cAAc,EAAE,CA+G5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAX9B,MAW8B,EAAE,OAAO,EAT/C;IAAwB,kBAAkB,EAAlC,MAAM,CACd;IAAwB,QAAQ,EAAxB,MAAM,CACd;IAAyB,cAAc,EAA/B,OAAO,CACf;IAAyB,kBAAkB,EAAnC,OAAO,CAEf;IAA0B,QAAQ,AAAlC,CACA,EADQ,OAAO,CACf;IAA0B,YAAY,AAAtC,CACA,EADQ,OAAO,CACf;CAE+C,GAFrC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,CA6B3D"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export { summarizeAiInventory } from "../inventory/aiInventory.js";
|
|
2
|
+
export { createAndroidBom, createBinaryBom, dedupeBom, listComponents, } from "./bomAssembly.js";
|
|
3
|
+
export { createAsarBom, createCaxaBom, createChromeExtensionBom, createNodejsBom, createVscodeExtensionBom, } from "./jsBom.js";
|
|
4
|
+
export { createJarBom, createJavaBom } from "./jvmBom.js";
|
|
5
|
+
export { createCloudBuildBom, createCryptoCertsBom, createCsharpBom, createGitHubBom, createHelmBom, createJenkinsBom, createPHPBom, createPixiBom, createPythonBom, createRubyBom, } from "./managedBom.js";
|
|
6
|
+
export { createClojureBom, createCocoaBom, createCppBom, createDartBom, createElixirBom, createGleamBom, createGoBom, createHaskellBom, createNixBom, createRustBom, createSwiftBom, createZigBom, } from "./nativeBom.js";
|
|
7
|
+
/**
|
|
8
|
+
* Function to create obom string for the current OS using osquery
|
|
9
|
+
*
|
|
10
|
+
* @param {string} _path to the project
|
|
11
|
+
* @param {Object} options Parse options from the cli
|
|
12
|
+
* @returns {Promise<Object>} Promise resolving to BOM object
|
|
13
|
+
*/
|
|
14
|
+
export declare function createOSBom(_path: string, options: Object): Promise<Object>;
|
|
15
|
+
/**
|
|
16
|
+
* Function to create bom string for docker compose
|
|
17
|
+
*
|
|
18
|
+
* @param {string} path to the project
|
|
19
|
+
* @param {Object} options Parse options from the cli
|
|
20
|
+
* @returns {Promise<Object>} Promise resolving to BOM object
|
|
21
|
+
*/
|
|
22
|
+
export declare function createContainerSpecLikeBom(path: string, options: Object): Promise<Object>;
|
|
23
|
+
/**
|
|
24
|
+
* Function to create bom string for all languages
|
|
25
|
+
*
|
|
26
|
+
* @param {string[]} pathList list of to the project
|
|
27
|
+
* @param {Object} options Parse options from the cli
|
|
28
|
+
* @returns {Promise<Object>} Promise resolving to BOM object
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* Join non-zero counts into a phase summary.
|
|
32
|
+
*
|
|
33
|
+
* Each entry carries its own plural form rather than having one appended, so
|
|
34
|
+
* nouns like "shared library" read correctly.
|
|
35
|
+
*
|
|
36
|
+
* @param {Array<[number, string, string]>} entries Count, singular, and plural
|
|
37
|
+
* @returns {string} Summary such as "412 OS packages, 3 services"
|
|
38
|
+
*/
|
|
39
|
+
export declare function summarizeCounts(entries: Array<[number, string, string]>): string;
|
|
40
|
+
/**
|
|
41
|
+
* Summarize components by purl type, so a scan reports "412 npm, 88 pypi"
|
|
42
|
+
* rather than an anonymous total.
|
|
43
|
+
*
|
|
44
|
+
* @param {object[]} components Components carrying purls
|
|
45
|
+
* @returns {string} Comma-separated counts, busiest type first
|
|
46
|
+
*/
|
|
47
|
+
export declare function summarizePurlTypes(components: object[]): string;
|
|
48
|
+
/**
|
|
49
|
+
* Generates BOMs across multiple project types and/or paths, then merges and
|
|
50
|
+
* deduplicates the results into a single BOM namespace data object. Handles
|
|
51
|
+
* OCI/container inventory, per-path scans, formulation accumulation, and
|
|
52
|
+
* parent-component reconciliation.
|
|
53
|
+
*
|
|
54
|
+
* @param {string|string[]} pathList Comma-separated string or array of paths
|
|
55
|
+
* @param {object} options CLI options
|
|
56
|
+
* @returns {Promise<object>} Promise resolving to a deduplicated BOM namespace
|
|
57
|
+
* data object (components, dependencies, bomJson, parentComponent, etc.)
|
|
58
|
+
*/
|
|
59
|
+
export declare function createMultiXBom(pathList: string | string[], options: object): Promise<object>;
|
|
60
|
+
/**
|
|
61
|
+
* Function to create a dynamic SBOM by executing a command and tracing the
|
|
62
|
+
* shared libraries it loads at runtime via instrumentation.
|
|
63
|
+
*
|
|
64
|
+
* Components receive scope=required, evidence.identity[].methods[].technique=
|
|
65
|
+
* instrumentation, and confidence 0.8 (version known) or 0.5 (version unknown).
|
|
66
|
+
*
|
|
67
|
+
* @param {string} path - Target path (used as working directory fallback)
|
|
68
|
+
* @param {Object} options - CLI options; must include options.traceCmd
|
|
69
|
+
* @returns {Promise<Object>} Promise resolving to BOM data object
|
|
70
|
+
*/
|
|
71
|
+
export declare function createDynamicBom(path: string, options: Object): Promise<Object>;
|
|
72
|
+
/**
|
|
73
|
+
* Function to create bom string for various languages
|
|
74
|
+
*
|
|
75
|
+
* @param {string} path to the project
|
|
76
|
+
* @param {Object} options Parse options from the cli
|
|
77
|
+
* @returns {Promise<Object|undefined>} Promise resolving to BOM object, or undefined if path is not readable
|
|
78
|
+
*/
|
|
79
|
+
export declare function createXBom(path: string, options: Object): Promise<Object | undefined>;
|
|
80
|
+
/**
|
|
81
|
+
* Function to create a hardware BOM for the current host.
|
|
82
|
+
*
|
|
83
|
+
* @param {string} _path Source path (unused for live host HBOM generation)
|
|
84
|
+
* @param {Object} options Parse options from the cli
|
|
85
|
+
* @returns {Promise<Object>} Promise resolving to BOM object
|
|
86
|
+
*/
|
|
87
|
+
export declare function createHBom(_path: string, options: Object): Promise<Object>;
|
|
88
|
+
/**
|
|
89
|
+
* Function to create bom string for various languages
|
|
90
|
+
*
|
|
91
|
+
* @param {string} path to the project
|
|
92
|
+
* @param {Object} options Parse options from the cli
|
|
93
|
+
* @returns {Promise<Object>} Promise resolving to BOM object
|
|
94
|
+
*/
|
|
95
|
+
export declare function createBom(path: string, options: Object): Promise<Object>;
|
|
96
|
+
/**
|
|
97
|
+
* Method to submit the generated bom to dependency-track or cyclonedx server
|
|
98
|
+
*
|
|
99
|
+
* @param {Object} args CLI args
|
|
100
|
+
* @param {Object} bomContents BOM Json
|
|
101
|
+
* @return {Promise<{ token: string } | undefined>} a promise with a token (if request was successful) or undefined (in case of invalid arguments)
|
|
102
|
+
* @throws {Error} if the request fails
|
|
103
|
+
*/
|
|
104
|
+
export declare function submitBom(args: Object, bomContents: Object): Promise<{
|
|
105
|
+
token: string;
|
|
106
|
+
} | undefined>;
|
|
107
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/cli/index.js"],"names":[],"mappings":"AAmEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAsCnE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA8B1D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AAyBxB;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAJtB,MAIsB,EAAE,OAAO,EAH/B,MAG+B,GAF7B,OAAO,CAAC,MAAM,CAAC,CAwE3B;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAJ1C,MAI0C,EAAE,OAAO,EAHnD,MAGmD,GAFjD,OAAO,CAAC,MAAM,CAAC,CAkU3B;AAgCD;;;;;;GAMG;AACH;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAH5B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAGF,GAF1B,MAAM,CAUlB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAHlC,MAAM,EAG4B,GAFhC,MAAM,CAalB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EALnC,MAAM,GAAC,MAAM,EAKsB,EAAE,OAAO,EAJ5C,MAI4C,GAH1C,OAAO,CAAC,MAAM,CAAC,CA4kC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAJhC,MAIgC,EAAE,OAAO,EAHzC,MAGyC,GAFvC,OAAO,CAAC,MAAM,CAAC,CAoD3B;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAJ1B,MAI0B,EAAE,OAAO,EAHnC,MAGmC,GAFjC,OAAO,CAAC,MAAM,GAAC,SAAS,CAAC,CA4YrC;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAJ3B,MAI2B,EAAE,OAAO,EAHpC,MAGoC,GAFlC,OAAO,CAAC,MAAM,CAAC,CAsB3B;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAJzB,MAIyB,EAAE,OAAO,EAHlC,MAGkC,GAFhC,OAAO,CAAC,MAAM,CAAC,CA4U3B;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAAC,IAAI,EALzB,MAKyB,EAAE,WAAW,EAJtC,MAIsC,GAHrC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CA+HjD"}
|