@cdxgen/cdxgen 13.3.0 → 13.5.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 +12 -9
- package/bin/cdxgen-secure.js +15 -0
- package/bin/cdxgen.js +115 -31
- package/bin/evinse.js +23 -1
- package/bin/hbom.js +15 -7
- package/bin/repl.js +115 -0
- package/bin/sign.js +45 -15
- package/bin/tracebom.js +5 -1
- package/bin/validate.js +84 -18
- package/bin/verify.js +155 -86
- package/data/cbomosdb-queries.json +13 -1
- package/data/component-tags.json +8 -0
- package/data/helpers/init.gradle +46 -21
- package/data/queries-darwin.json +25 -1
- package/data/queries-win.json +19 -1
- package/data/queries.json +41 -0
- package/data/remediations.json +344 -1
- package/data/rules/cbom-security.yaml +235 -4
- package/data/rules/dependency-sources.yaml +67 -0
- package/data/rules/go-binaries.yaml +46 -0
- package/data/rules/golem-go.yaml +80 -0
- package/data/rules/hbom-compliance.yaml +40 -22
- package/data/rules/hbom-performance.yaml +7 -1
- package/data/rules/host-topology.yaml +1 -1
- package/data/rules/obom-runtime.yaml +31 -2
- package/data/rules/php-runtime.yaml +143 -0
- package/data/rules/scala-evidence.yaml +115 -0
- package/lib/audit/index.js +52 -6
- package/lib/cli/bomAssembly.js +28 -3
- package/lib/cli/cliOptions.js +110 -3
- package/lib/cli/index.js +186 -58
- package/lib/cli/jsBom.js +50 -29
- package/lib/cli/jvmBom.js +779 -146
- package/lib/cli/managedBom.js +1021 -261
- package/lib/cli/nativeBom.js +364 -58
- package/lib/core/activity.js +12 -0
- package/lib/core/env.js +47 -17
- package/lib/core/fs.js +31 -21
- package/lib/core/httpClient.js +233 -69
- package/lib/core/pluginRun.js +184 -0
- package/lib/core/processTree.js +100 -0
- package/lib/core/projectConfig.js +1 -0
- package/lib/core/projectTooling.js +97 -0
- package/lib/core/propertySanitizer.js +72 -0
- package/lib/core/runState.js +39 -0
- package/lib/core/toml.js +72 -0
- package/lib/ecosystems/asarutils.js +4 -2
- package/lib/ecosystems/bunutils.js +5 -7
- package/lib/ecosystems/cargoCache.js +231 -8
- package/lib/ecosystems/cmakeResolver.js +10 -21
- package/lib/ecosystems/cppBuildContext.js +631 -0
- package/lib/ecosystems/cppEvidence.js +337 -22
- package/lib/ecosystems/cppIncludeResolver.js +294 -0
- package/lib/ecosystems/denoutils.js +93 -66
- package/lib/ecosystems/ecosystems.js +1967 -788
- package/lib/ecosystems/golem.js +578 -18
- package/lib/ecosystems/gradleutils.js +340 -46
- package/lib/ecosystems/jsEvidence.js +85 -24
- package/lib/ecosystems/kosi.js +21 -4
- package/lib/ecosystems/npmutils.js +64 -0
- package/lib/ecosystems/parsers-dotnet.js +668 -153
- package/lib/ecosystems/parsers-elm.js +46 -28
- package/lib/ecosystems/parsers-gleam.js +3 -4
- package/lib/ecosystems/parsers-go.js +1283 -297
- package/lib/ecosystems/parsers-js.js +92 -26
- package/lib/ecosystems/parsers-julia.js +2 -3
- package/lib/ecosystems/parsers-jvm.js +463 -29
- package/lib/ecosystems/parsers-misc.js +405 -93
- package/lib/ecosystems/parsers-python.js +152 -20
- package/lib/ecosystems/parsers-rust.js +4 -4
- package/lib/ecosystems/parsers-terraform.js +1573 -19
- package/lib/ecosystems/pythonutils.js +102 -6
- package/lib/ecosystems/remote/huggingface.js +3 -0
- package/lib/ecosystems/rubyutils.js +73 -20
- package/lib/ecosystems/rusi.js +32 -9
- package/lib/ecosystems/sbtutils.js +243 -187
- package/lib/ecosystems/scalacliutils.js +343 -0
- package/lib/ecosystems/scalasem.js +2620 -0
- package/lib/ecosystems/terraformRegistry.js +288 -0
- package/lib/ecosystems/utils.js +2 -0
- package/lib/ecosystems/vendoredCode.js +156 -0
- package/lib/evinser/evinser.js +695 -78
- package/lib/evinser/swiftsem.js +68 -5
- package/lib/helpers/agenticToolutils.js +2 -2
- package/lib/helpers/bomSigner.js +576 -128
- package/lib/inventory/agentSkillSpec.js +17 -0
- package/lib/inventory/aiCollector.js +4 -1
- package/lib/inventory/analyzer.js +110 -127
- package/lib/inventory/apkInstalledDb.js +243 -0
- package/lib/inventory/atomUtils.js +204 -48
- package/lib/inventory/auditCategories.js +10 -3
- package/lib/inventory/buildToolRateLimit.js +144 -0
- package/lib/inventory/cacheCommands.js +2 -1
- package/lib/inventory/cacheDir.js +52 -9
- package/lib/inventory/certificates.js +2371 -0
- package/lib/inventory/cmakeBuildDirs.js +254 -0
- package/lib/inventory/communityAiConfigParser.js +4 -9
- package/lib/inventory/deps.js +507 -128
- package/lib/inventory/display.js +200 -3
- package/lib/inventory/dosai.js +747 -101
- package/lib/inventory/dosaiParsers.js +310 -15
- package/lib/inventory/dynamic.js +96 -8
- package/lib/inventory/envcontext.js +168 -5
- package/lib/inventory/evidenceUtils.js +590 -132
- package/lib/inventory/fetchBatch.js +574 -38
- package/lib/inventory/fetchDiskCache.js +597 -0
- package/lib/inventory/forgeEnricher.js +14 -5
- package/lib/inventory/formulationParsers.js +3 -2
- package/lib/inventory/goBuildInfo.js +140 -0
- package/lib/inventory/hbom.js +67 -7
- package/lib/inventory/hbomAnalysis.js +16 -0
- package/lib/inventory/hostTopology.js +21 -0
- package/lib/inventory/jvmLocalRepos.js +917 -0
- package/lib/inventory/mcpConfigParser.js +2 -3
- package/lib/inventory/osPackagePurl.js +244 -0
- package/lib/inventory/osPackageResolver.js +89 -87
- package/lib/inventory/osinfo.js +79 -31
- package/lib/inventory/osqueryTransform.js +114 -5
- package/lib/inventory/parentSelection.js +146 -0
- package/lib/inventory/phpBuildInfo.js +487 -0
- package/lib/inventory/phpHostProbe.js +641 -0
- package/lib/inventory/rootfsCerts.js +426 -0
- package/lib/inventory/rustFormulationParser.js +3 -4
- package/lib/inventory/scalaCoords.js +153 -0
- package/lib/inventory/source.js +215 -11
- package/lib/inventory/spdx.js +245 -0
- package/lib/inventory/traceRunner.js +93 -8
- package/lib/inventory/tracedCrypto.js +423 -0
- package/lib/managers/binary.js +529 -183
- package/lib/managers/docker.js +199 -44
- package/lib/managers/oci.js +24 -2
- package/lib/parsers/cmakeCache.js +69 -0
- package/lib/parsers/cmakeLists.js +16 -2
- package/lib/parsers/cmakePresets.js +400 -0
- package/lib/parsers/compileCommands.js +557 -0
- package/lib/parsers/email.js +277 -0
- package/lib/parsers/largeJson.js +34 -2
- package/lib/parsers/strictJson.js +322 -0
- package/lib/parsers/terraformConfig.js +1073 -0
- package/lib/parsers/terraformSource.js +652 -0
- package/lib/server/server.js +209 -1
- package/lib/stages/postgen/annotator.js +17 -1
- package/lib/stages/postgen/introspection/markers.js +1 -1
- package/lib/stages/postgen/introspection/reflect.js +4 -1
- package/lib/stages/postgen/postgen.js +20 -6
- package/lib/stages/postgen/ruleEngine.js +58 -1
- package/lib/stages/postgen/specVersionCompat.js +62 -0
- package/lib/stages/pregen/pregen.js +117 -5
- package/lib/validator/bomValidator.js +26 -5
- package/lib/validator/generated/runtime.mjs +13 -0
- package/lib/validator/generated/validate-1.6.mjs +26 -7
- package/lib/validator/generated/validate-1.7.mjs +31 -12
- package/lib/validator/generated/validate-2.0.mjs +30 -11
- package/lib/validator/index.js +25 -10
- package/lib/validator/reporters/json.js +1 -0
- package/package.json +23 -23
- package/types/bin/cdxgen-secure.d.ts +3 -0
- package/types/bin/cdxgen-secure.d.ts.map +1 -0
- package/types/bin/repl.d.ts.map +1 -1
- package/types/lib/audit/index.d.ts.map +1 -1
- package/types/lib/cli/bomAssembly.d.ts +9 -2
- package/types/lib/cli/bomAssembly.d.ts.map +1 -1
- package/types/lib/cli/cliOptions.d.ts +43 -0
- package/types/lib/cli/cliOptions.d.ts.map +1 -1
- package/types/lib/cli/index.d.ts.map +1 -1
- package/types/lib/cli/jsBom.d.ts.map +1 -1
- package/types/lib/cli/jvmBom.d.ts +44 -1
- package/types/lib/cli/jvmBom.d.ts.map +1 -1
- package/types/lib/cli/managedBom.d.ts +7 -4
- package/types/lib/cli/managedBom.d.ts.map +1 -1
- package/types/lib/cli/nativeBom.d.ts +3 -1
- package/types/lib/cli/nativeBom.d.ts.map +1 -1
- package/types/lib/core/activity.d.ts.map +1 -1
- package/types/lib/core/env.d.ts +27 -2
- package/types/lib/core/env.d.ts.map +1 -1
- package/types/lib/core/fs.d.ts.map +1 -1
- package/types/lib/core/httpClient.d.ts +13 -8
- package/types/lib/core/httpClient.d.ts.map +1 -1
- package/types/lib/core/pluginRun.d.ts +97 -0
- package/types/lib/core/pluginRun.d.ts.map +1 -0
- package/types/lib/core/processTree.d.ts +36 -0
- package/types/lib/core/processTree.d.ts.map +1 -0
- package/types/lib/core/projectConfig.d.ts.map +1 -1
- package/types/lib/core/projectTooling.d.ts +41 -0
- package/types/lib/core/projectTooling.d.ts.map +1 -0
- package/types/lib/core/propertySanitizer.d.ts +26 -0
- package/types/lib/core/propertySanitizer.d.ts.map +1 -1
- package/types/lib/core/runState.d.ts +29 -0
- package/types/lib/core/runState.d.ts.map +1 -0
- package/types/lib/core/toml.d.ts +20 -0
- package/types/lib/core/toml.d.ts.map +1 -0
- package/types/lib/ecosystems/asarutils.d.ts.map +1 -1
- package/types/lib/ecosystems/bunutils.d.ts.map +1 -1
- package/types/lib/ecosystems/cargoCache.d.ts +12 -0
- package/types/lib/ecosystems/cargoCache.d.ts.map +1 -1
- package/types/lib/ecosystems/cmakeResolver.d.ts +5 -3
- package/types/lib/ecosystems/cmakeResolver.d.ts.map +1 -1
- package/types/lib/ecosystems/cppBuildContext.d.ts +55 -0
- package/types/lib/ecosystems/cppBuildContext.d.ts.map +1 -0
- package/types/lib/ecosystems/cppEvidence.d.ts +19 -3
- package/types/lib/ecosystems/cppEvidence.d.ts.map +1 -1
- package/types/lib/ecosystems/cppIncludeResolver.d.ts +92 -0
- package/types/lib/ecosystems/cppIncludeResolver.d.ts.map +1 -0
- package/types/lib/ecosystems/denoutils.d.ts +9 -3
- package/types/lib/ecosystems/denoutils.d.ts.map +1 -1
- package/types/lib/ecosystems/ecosystems.d.ts +62 -13
- package/types/lib/ecosystems/ecosystems.d.ts.map +1 -1
- package/types/lib/ecosystems/golem.d.ts +81 -1
- package/types/lib/ecosystems/golem.d.ts.map +1 -1
- package/types/lib/ecosystems/gradleutils.d.ts +59 -7
- package/types/lib/ecosystems/gradleutils.d.ts.map +1 -1
- package/types/lib/ecosystems/jsEvidence.d.ts.map +1 -1
- package/types/lib/ecosystems/kosi.d.ts.map +1 -1
- package/types/lib/ecosystems/npmutils.d.ts +15 -0
- package/types/lib/ecosystems/npmutils.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-dotnet.d.ts +155 -5
- package/types/lib/ecosystems/parsers-dotnet.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-elm.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-gleam.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-go.d.ts +119 -5
- package/types/lib/ecosystems/parsers-go.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-js.d.ts +6 -1
- package/types/lib/ecosystems/parsers-js.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-julia.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-jvm.d.ts +74 -3
- package/types/lib/ecosystems/parsers-jvm.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-misc.d.ts +21 -59
- package/types/lib/ecosystems/parsers-misc.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-python.d.ts +57 -6
- package/types/lib/ecosystems/parsers-python.d.ts.map +1 -1
- package/types/lib/ecosystems/parsers-terraform.d.ts +38 -21
- package/types/lib/ecosystems/parsers-terraform.d.ts.map +1 -1
- package/types/lib/ecosystems/pythonutils.d.ts +26 -1
- package/types/lib/ecosystems/pythonutils.d.ts.map +1 -1
- package/types/lib/ecosystems/remote/huggingface.d.ts.map +1 -1
- package/types/lib/ecosystems/rubyutils.d.ts +21 -1
- package/types/lib/ecosystems/rubyutils.d.ts.map +1 -1
- package/types/lib/ecosystems/rusi.d.ts.map +1 -1
- package/types/lib/ecosystems/sbtutils.d.ts +88 -2
- package/types/lib/ecosystems/sbtutils.d.ts.map +1 -1
- package/types/lib/ecosystems/scalacliutils.d.ts +56 -0
- package/types/lib/ecosystems/scalacliutils.d.ts.map +1 -0
- package/types/lib/ecosystems/scalasem.d.ts +311 -0
- package/types/lib/ecosystems/scalasem.d.ts.map +1 -0
- package/types/lib/ecosystems/terraformRegistry.d.ts +9 -0
- package/types/lib/ecosystems/terraformRegistry.d.ts.map +1 -0
- package/types/lib/ecosystems/utils.d.ts +2 -2
- package/types/lib/ecosystems/utils.d.ts.map +1 -1
- package/types/lib/ecosystems/vendoredCode.d.ts +32 -0
- package/types/lib/ecosystems/vendoredCode.d.ts.map +1 -0
- package/types/lib/evinser/evinser.d.ts +100 -8
- package/types/lib/evinser/evinser.d.ts.map +1 -1
- package/types/lib/evinser/swiftsem.d.ts +10 -0
- package/types/lib/evinser/swiftsem.d.ts.map +1 -1
- package/types/lib/helpers/bomSigner.d.ts +80 -4
- package/types/lib/helpers/bomSigner.d.ts.map +1 -1
- package/types/lib/inventory/agentSkillSpec.d.ts +13 -0
- package/types/lib/inventory/agentSkillSpec.d.ts.map +1 -0
- package/types/lib/inventory/aiCollector.d.ts.map +1 -1
- package/types/lib/inventory/analyzer.d.ts.map +1 -1
- package/types/lib/inventory/apkInstalledDb.d.ts +42 -0
- package/types/lib/inventory/apkInstalledDb.d.ts.map +1 -0
- package/types/lib/inventory/atomUtils.d.ts +96 -10
- package/types/lib/inventory/atomUtils.d.ts.map +1 -1
- package/types/lib/inventory/auditCategories.d.ts +3 -0
- package/types/lib/inventory/auditCategories.d.ts.map +1 -1
- package/types/lib/inventory/buildToolRateLimit.d.ts +38 -0
- package/types/lib/inventory/buildToolRateLimit.d.ts.map +1 -0
- package/types/lib/inventory/cacheCommands.d.ts +2 -1
- package/types/lib/inventory/cacheCommands.d.ts.map +1 -1
- package/types/lib/inventory/cacheDir.d.ts +12 -4
- package/types/lib/inventory/cacheDir.d.ts.map +1 -1
- package/types/lib/inventory/certificates.d.ts +205 -0
- package/types/lib/inventory/certificates.d.ts.map +1 -0
- package/types/lib/inventory/cmakeBuildDirs.d.ts +58 -0
- package/types/lib/inventory/cmakeBuildDirs.d.ts.map +1 -0
- package/types/lib/inventory/communityAiConfigParser.d.ts.map +1 -1
- package/types/lib/inventory/deps.d.ts +61 -2
- package/types/lib/inventory/deps.d.ts.map +1 -1
- package/types/lib/inventory/display.d.ts +18 -0
- package/types/lib/inventory/display.d.ts.map +1 -1
- package/types/lib/inventory/dosai.d.ts +202 -14
- package/types/lib/inventory/dosai.d.ts.map +1 -1
- package/types/lib/inventory/dosaiParsers.d.ts +53 -7
- package/types/lib/inventory/dosaiParsers.d.ts.map +1 -1
- package/types/lib/inventory/dynamic.d.ts +16 -1
- package/types/lib/inventory/dynamic.d.ts.map +1 -1
- package/types/lib/inventory/envcontext.d.ts +40 -2
- package/types/lib/inventory/envcontext.d.ts.map +1 -1
- package/types/lib/inventory/evidenceUtils.d.ts +48 -14
- package/types/lib/inventory/evidenceUtils.d.ts.map +1 -1
- package/types/lib/inventory/fetchBatch.d.ts +83 -14
- package/types/lib/inventory/fetchBatch.d.ts.map +1 -1
- package/types/lib/inventory/fetchDiskCache.d.ts +169 -0
- package/types/lib/inventory/fetchDiskCache.d.ts.map +1 -0
- package/types/lib/inventory/forgeEnricher.d.ts.map +1 -1
- package/types/lib/inventory/formulationParsers.d.ts.map +1 -1
- package/types/lib/inventory/goBuildInfo.d.ts +10 -0
- package/types/lib/inventory/goBuildInfo.d.ts.map +1 -0
- package/types/lib/inventory/hbom.d.ts.map +1 -1
- package/types/lib/inventory/hbomAnalysis.d.ts +10 -0
- package/types/lib/inventory/hbomAnalysis.d.ts.map +1 -1
- package/types/lib/inventory/hostTopology.d.ts.map +1 -1
- package/types/lib/inventory/jvmLocalRepos.d.ts +178 -0
- package/types/lib/inventory/jvmLocalRepos.d.ts.map +1 -0
- package/types/lib/inventory/mcpConfigParser.d.ts.map +1 -1
- package/types/lib/inventory/osPackagePurl.d.ts +99 -0
- package/types/lib/inventory/osPackagePurl.d.ts.map +1 -0
- package/types/lib/inventory/osPackageResolver.d.ts +6 -2
- package/types/lib/inventory/osPackageResolver.d.ts.map +1 -1
- package/types/lib/inventory/osinfo.d.ts +31 -6
- package/types/lib/inventory/osinfo.d.ts.map +1 -1
- package/types/lib/inventory/osqueryTransform.d.ts +51 -0
- package/types/lib/inventory/osqueryTransform.d.ts.map +1 -1
- package/types/lib/inventory/parentSelection.d.ts +34 -0
- package/types/lib/inventory/parentSelection.d.ts.map +1 -0
- package/types/lib/inventory/phpBuildInfo.d.ts +142 -0
- package/types/lib/inventory/phpBuildInfo.d.ts.map +1 -0
- package/types/lib/inventory/phpHostProbe.d.ts +35 -0
- package/types/lib/inventory/phpHostProbe.d.ts.map +1 -0
- package/types/lib/inventory/rootfsCerts.d.ts +27 -0
- package/types/lib/inventory/rootfsCerts.d.ts.map +1 -0
- package/types/lib/inventory/rustFormulationParser.d.ts.map +1 -1
- package/types/lib/inventory/scalaCoords.d.ts +80 -0
- package/types/lib/inventory/scalaCoords.d.ts.map +1 -0
- package/types/lib/inventory/source.d.ts +28 -0
- package/types/lib/inventory/source.d.ts.map +1 -1
- package/types/lib/inventory/spdx.d.ts +24 -0
- package/types/lib/inventory/spdx.d.ts.map +1 -1
- package/types/lib/inventory/traceRunner.d.ts +16 -1
- package/types/lib/inventory/traceRunner.d.ts.map +1 -1
- package/types/lib/inventory/tracedCrypto.d.ts +64 -0
- package/types/lib/inventory/tracedCrypto.d.ts.map +1 -0
- package/types/lib/managers/binary.d.ts +10 -0
- package/types/lib/managers/binary.d.ts.map +1 -1
- package/types/lib/managers/docker.d.ts +12 -0
- package/types/lib/managers/docker.d.ts.map +1 -1
- package/types/lib/managers/oci.d.ts +3 -1
- package/types/lib/managers/oci.d.ts.map +1 -1
- package/types/lib/parsers/cmakeCache.d.ts +16 -0
- package/types/lib/parsers/cmakeCache.d.ts.map +1 -1
- package/types/lib/parsers/cmakeLists.d.ts +2 -1
- package/types/lib/parsers/cmakeLists.d.ts.map +1 -1
- package/types/lib/parsers/cmakePresets.d.ts +78 -0
- package/types/lib/parsers/cmakePresets.d.ts.map +1 -0
- package/types/lib/parsers/compileCommands.d.ts +115 -0
- package/types/lib/parsers/compileCommands.d.ts.map +1 -0
- package/types/lib/parsers/email.d.ts +19 -0
- package/types/lib/parsers/email.d.ts.map +1 -0
- package/types/lib/parsers/largeJson.d.ts +13 -0
- package/types/lib/parsers/largeJson.d.ts.map +1 -1
- package/types/lib/parsers/strictJson.d.ts +46 -0
- package/types/lib/parsers/strictJson.d.ts.map +1 -0
- package/types/lib/parsers/terraformConfig.d.ts +70 -0
- package/types/lib/parsers/terraformConfig.d.ts.map +1 -0
- package/types/lib/parsers/terraformSource.d.ts +66 -0
- package/types/lib/parsers/terraformSource.d.ts.map +1 -0
- package/types/lib/server/server.d.ts +8 -0
- package/types/lib/server/server.d.ts.map +1 -1
- package/types/lib/stages/postgen/annotator.d.ts.map +1 -1
- package/types/lib/stages/postgen/introspection/reflect.d.ts.map +1 -1
- package/types/lib/stages/postgen/postgen.d.ts.map +1 -1
- package/types/lib/stages/postgen/ruleEngine.d.ts +7 -4
- package/types/lib/stages/postgen/ruleEngine.d.ts.map +1 -1
- package/types/lib/stages/postgen/specVersionCompat.d.ts.map +1 -1
- package/types/lib/stages/pregen/pregen.d.ts +14 -1
- package/types/lib/stages/pregen/pregen.d.ts.map +1 -1
- package/types/lib/validator/bomValidator.d.ts.map +1 -1
- package/types/lib/validator/index.d.ts +8 -0
- package/types/lib/validator/index.d.ts.map +1 -1
- package/types/lib/validator/reporters/json.d.ts.map +1 -1
- package/lib/third-party/arborist/snapshots/calc-dep-flags.test.cjs +0 -462
|
@@ -15,10 +15,14 @@ export declare function isSafeGitRefName(refName: string | undefined): boolean;
|
|
|
15
15
|
* @param {string[]} args git arguments
|
|
16
16
|
* @param {Object} options command options
|
|
17
17
|
* @param {string|undefined} options.cwd working directory
|
|
18
|
+
* @param {boolean|undefined} options.noRepository run outside any repository,
|
|
19
|
+
* so the config of a repository in the working directory, such as url.*.insteadOf
|
|
20
|
+
* or core.sshCommand, cannot change where a remote command connects
|
|
18
21
|
* @returns {Object} spawn result
|
|
19
22
|
*/
|
|
20
23
|
export declare function hardenedGitCommand(args: string[], options?: {
|
|
21
24
|
cwd: string | undefined;
|
|
25
|
+
noRepository: boolean | undefined;
|
|
22
26
|
}): Object;
|
|
23
27
|
/**
|
|
24
28
|
* Build CycloneDX release notes from git tags and commits.
|
|
@@ -55,6 +59,17 @@ export declare function isAllowedWinPath(p: string): boolean;
|
|
|
55
59
|
* @returns {boolean} true if the path is present in the allowed paths. false otherwise.
|
|
56
60
|
*/
|
|
57
61
|
export declare function isAllowedPath(p: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Checks where the given path really points, after following symlinks, against
|
|
64
|
+
* where the allowed paths really point. Both sides are resolved, so an allowed
|
|
65
|
+
* directory that is itself reached through a link (such as /tmp on macOS) still
|
|
66
|
+
* matches, while a link inside an allowed directory that leads outside it does
|
|
67
|
+
* not.
|
|
68
|
+
*
|
|
69
|
+
* @param {string} p Path string to check
|
|
70
|
+
* @returns {boolean} true if the real path is inside a real allowed path
|
|
71
|
+
*/
|
|
72
|
+
export declare function isAllowedRealPath(p: string): boolean;
|
|
58
73
|
/**
|
|
59
74
|
* Determine if the path could be a package URL.
|
|
60
75
|
*
|
|
@@ -76,6 +91,19 @@ export declare function maybeRemotePath(filePath: string): boolean;
|
|
|
76
91
|
* @returns {Object|null} Error object if invalid, or null if valid
|
|
77
92
|
*/
|
|
78
93
|
export declare function validateAndRejectGitSource(filePath: string): Object | null;
|
|
94
|
+
/**
|
|
95
|
+
* Return the host a git client connects to for a remote, read the way git,
|
|
96
|
+
* libcurl and OpenSSH read it rather than the way new URL() does. git ends the
|
|
97
|
+
* authority of ssh:// and git:// URLs only at the first slash, percent-decodes
|
|
98
|
+
* it before splitting off the host, and reads a leading "[...]" as the host.
|
|
99
|
+
* OpenSSH takes the host after the last "@". So a "?" or "#" before the first
|
|
100
|
+
* slash, a second "@", brackets in the user name, or a percent sign in an
|
|
101
|
+
* ssh:// or git:// authority make the host ambiguous.
|
|
102
|
+
*
|
|
103
|
+
* @param {string} remote Git URL or SCP-like address
|
|
104
|
+
* @returns {string|undefined} lower-cased host, or undefined when it is ambiguous
|
|
105
|
+
*/
|
|
106
|
+
export declare function getGitRemoteHost(remote: string): string | undefined;
|
|
79
107
|
/**
|
|
80
108
|
* Clone a git repository into a temporary directory.
|
|
81
109
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../lib/inventory/source.js"],"names":[],"mappings":"AAqCA,6FAA6F;AAC7F,eAAO,MAAM,4BAA4B,wIAC8F,CAAC;AAExI,6DAA6D;AAC7D,eAAO,MAAM,2BAA2B,UAWvC,CAAC;AAuBF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAH7B,MAAM,GAAC,SAGsB,GAF3B,OAAO,CAUnB;AAiBD
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../lib/inventory/source.js"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,30 @@ export declare function readLicenseText(licenseFilepath: any, licenseContentType
|
|
|
57
57
|
* @param {string} name License full name
|
|
58
58
|
*/
|
|
59
59
|
export declare function findLicenseId(name: string): any;
|
|
60
|
+
/**
|
|
61
|
+
* Identify a license from the title and opening of its full text. A license
|
|
62
|
+
* text quotes other licenses (the GNU GPL's text names the GNU Lesser GPL),
|
|
63
|
+
* so the substring scan of `guessLicenseId` alone can name the wrong one.
|
|
64
|
+
*
|
|
65
|
+
* @param {string} content License file contents
|
|
66
|
+
* @returns {string|undefined} SPDX license id or expression
|
|
67
|
+
*/
|
|
68
|
+
export declare function licenseIdFromText(content: string): string | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Identify every license a notice grants, in the order the notice grants
|
|
71
|
+
* them. A notice can grant several: one LICENSE file holding an MIT grant and
|
|
72
|
+
* an Apache-2.0 grant (gopkg.in/yaml.v3), or a choice of licenses followed by
|
|
73
|
+
* each full text (github.com/spdx/tools-golang). A license text quotes others
|
|
74
|
+
* (the GNU GPL names the GNU Lesser GPL, the MPL names the GNU licenses), so
|
|
75
|
+
* only phrases that a grant carries count: a GNU license is found by its title
|
|
76
|
+
* standing on a line of its own, the others by a sentence of their grant.
|
|
77
|
+
* A notice none of these phrases match falls back to {@link guessLicenseId}.
|
|
78
|
+
*
|
|
79
|
+
* @param {string} content License file contents
|
|
80
|
+
* @returns {string[]} SPDX license ids or expressions; empty when none is
|
|
81
|
+
* recognized
|
|
82
|
+
*/
|
|
83
|
+
export declare function guessLicenseIds(content: string): string[];
|
|
60
84
|
/**
|
|
61
85
|
* Method to guess the spdx license id from license contents
|
|
62
86
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spdx.d.ts","sourceRoot":"","sources":["../../../lib/inventory/spdx.js"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAFf,MAAM,EAIf,CAAC;AAMF;;;;;;IAMI;AACJ,wBAAgB,uBAAuB,CAAC,OAAO,EAJpC,MAIoC,GAHlC,OAAO,CA0BnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,OAAA,SA2BhD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,KAAA,qBAqG9B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,QAAA,EAAE,GAAG,QAAA,GAFnC,MAAM,CAoDjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,KAAA,EAAE,CAAC,KAAA,EAAE,cAAc,KAAA,QAoCpD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,eAAe,KAAA,EAAE,kBAAkB,KAAA;;SAUlE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAFvB,MAEuB,OAYjC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAF3B,MAE2B,
|
|
1
|
+
{"version":3,"file":"spdx.d.ts","sourceRoot":"","sources":["../../../lib/inventory/spdx.js"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAFf,MAAM,EAIf,CAAC;AAMF;;;;;;IAMI;AACJ,wBAAgB,uBAAuB,CAAC,OAAO,EAJpC,MAIoC,GAHlC,OAAO,CA0BnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,OAAA,SA2BhD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,KAAA,qBAqG9B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,QAAA,EAAE,GAAG,QAAA,GAFnC,MAAM,CAoDjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,KAAA,EAAE,CAAC,KAAA,EAAE,cAAc,KAAA,QAoCpD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,eAAe,KAAA,EAAE,kBAAkB,KAAA;;SAUlE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAFvB,MAEuB,OAYjC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAH9B,MAG8B,GAF5B,MAAM,GAAC,SAAS,CAyF5B;AAqDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAJ5B,MAI4B,GAH1B,MAAM,EAAE,CAgFpB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAF3B,MAE2B,OAcrC"}
|
|
@@ -57,7 +57,7 @@ export declare function resolveSaferExecBinary(): string | undefined;
|
|
|
57
57
|
* @param {boolean} [options.denyPersistenceWrites] - Deny writes to auto-execution and persistence locations
|
|
58
58
|
* @param {boolean} [options.privateTmp] - Private tmpfs /tmp and /var/tmp (Linux)
|
|
59
59
|
* @param {string} [options.protectHome] - Home isolation: read-only, tmpfs, or off (Linux)
|
|
60
|
-
* @returns {Promise<{libPaths: string[], httpAccessEntries: Object[], egressEntries?: Object[], dryRunSummary?: Object}>} Collected libraries, HTTP URLs, proxy egress decisions, and the dry-run summary
|
|
60
|
+
* @returns {Promise<{libPaths: string[], httpAccessEntries: Object[], cryptoEntries?: Object[], cryptoComponents?: Object[], cryptoResult?: Object, egressEntries?: Object[], dryRunSummary?: Object}>} Collected libraries, HTTP URLs, crypto observations, proxy egress decisions, and the dry-run summary
|
|
61
61
|
* @throws {Error} When the @cdxgen/safer-exec tracing runtime is not installed
|
|
62
62
|
* (for example after pruning it from a standalone payload), since the traced
|
|
63
63
|
* command could never run and the BOM would silently be empty
|
|
@@ -94,9 +94,24 @@ export declare function executeAndTrace(commandStr: string, workingDir?: string,
|
|
|
94
94
|
}): Promise<{
|
|
95
95
|
libPaths: string[];
|
|
96
96
|
httpAccessEntries: Object[];
|
|
97
|
+
cryptoEntries?: Object[];
|
|
98
|
+
cryptoComponents?: Object[];
|
|
99
|
+
cryptoResult?: Object;
|
|
97
100
|
egressEntries?: Object[];
|
|
98
101
|
dryRunSummary?: Object;
|
|
99
102
|
}>;
|
|
103
|
+
/**
|
|
104
|
+
* Picks the safer-exec engine's own lines out of the stderr it shares with the
|
|
105
|
+
* traced command. Warnings start with "safer-exec: warning:"; when the engine
|
|
106
|
+
* stops a run, its error is the last other "safer-exec: " line it prints.
|
|
107
|
+
*
|
|
108
|
+
* @param {string} stderr Captured stderr of a safer-exec run
|
|
109
|
+
* @returns {{warnings: string[], error: string|undefined}} Unique engine warnings, and the engine's error if any
|
|
110
|
+
*/
|
|
111
|
+
export declare function engineMessages(stderr: string): {
|
|
112
|
+
warnings: string[];
|
|
113
|
+
error: string | undefined;
|
|
114
|
+
};
|
|
100
115
|
/**
|
|
101
116
|
* Extracts the egress proxy's decisions from a safer-exec audit log.
|
|
102
117
|
* "proxy-connect" targets are "host:port"; "proxy-violation" targets are
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traceRunner.d.ts","sourceRoot":"","sources":["../../../lib/inventory/traceRunner.js"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAFvB,OAAO,CAInB;AAKD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAHxB,MAGwB,GAFtB;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,CA6BzC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAFzB,MAAM,GAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"traceRunner.d.ts","sourceRoot":"","sources":["../../../lib/inventory/traceRunner.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Names the bulk cipher of a TLS cipher suite as a crypto-oid.json key, from
|
|
3
|
+
* either its IANA name (TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) or its OpenSSL
|
|
4
|
+
* name (ECDHE-RSA-AES128-GCM-SHA256).
|
|
5
|
+
*
|
|
6
|
+
* @param {string} suiteName Cipher suite name
|
|
7
|
+
* @returns {{name: string, bits: number, mode: string|undefined}|undefined} The cipher, when it has an OID
|
|
8
|
+
*/
|
|
9
|
+
export declare function suiteCipher(suiteName: string): {
|
|
10
|
+
name: string;
|
|
11
|
+
bits: number;
|
|
12
|
+
mode: string | undefined;
|
|
13
|
+
} | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Turns the CBOM safer-exec writes for a traced command into components that
|
|
16
|
+
* cdxgen can merge and validate:
|
|
17
|
+
*
|
|
18
|
+
* - every asset gets a bom-ref, without which the assets merge into one
|
|
19
|
+
* - algorithms carry their OID, and those without one are left out
|
|
20
|
+
* - hybrid key-exchange groups become their classical and ML-KEM halves
|
|
21
|
+
* - cipher suites become their bulk cipher, which the protocol's suites refer
|
|
22
|
+
* to by bom-ref
|
|
23
|
+
* - algorithm properties keep only values the schema allows
|
|
24
|
+
* - crypto libraries are left out: they are the traced library components,
|
|
25
|
+
* marked with cdx:dynamic:cryptoLibrary
|
|
26
|
+
*
|
|
27
|
+
* @param {Object[]} cbomComponents Components of the safer-exec CBOM
|
|
28
|
+
* @returns {Object[]} Normalized cryptographic-asset components
|
|
29
|
+
*/
|
|
30
|
+
export declare function normalizeTracedCryptoComponents(cbomComponents: Object[]): Object[];
|
|
31
|
+
/**
|
|
32
|
+
* Builds the shared certificate model for the chains servers presented in TLS
|
|
33
|
+
* ≤ 1.2 handshakes, from the `chain` arrays of safer-exec's crypto result
|
|
34
|
+
* (report channel, safer-exec ≥ 1.2.0; earlier releases and TLS 1.3 entries
|
|
35
|
+
* carry no chain and yield nothing). The records go through the shared
|
|
36
|
+
* certificate collector, so bom-refs, properties and dedup match certificates
|
|
37
|
+
* found on disk. A presented chain is untrusted server input: no issuer edges
|
|
38
|
+
* are inferred from it, and the certificate and public-key components link
|
|
39
|
+
* through the collector as every producer's do. Each TLS protocol component
|
|
40
|
+
* provides the certificates and keys presented under it — the edge safer-
|
|
41
|
+
* exec's own CBOM records — which answers which servers presented a key.
|
|
42
|
+
*
|
|
43
|
+
* @param {Object} cryptoResult safer-exec CRYPTO result (`result.crypto`)
|
|
44
|
+
* @param {Set<string>} protocolRefs bom-refs of the protocol components in the BOM;
|
|
45
|
+
* a provides edge is only emitted for a protocol that is actually present
|
|
46
|
+
* @returns {{components: Object[], dependencies: Object[]}} certificate,
|
|
47
|
+
* public-key and algorithm components, and the protocol provides edges
|
|
48
|
+
*/
|
|
49
|
+
export declare function observedChainComponents(cryptoResult: Object, protocolRefs?: Set<string>): {
|
|
50
|
+
components: Object[];
|
|
51
|
+
dependencies: Object[];
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Maps the crypto libraries safer-exec reported to the paths they were loaded
|
|
55
|
+
* from.
|
|
56
|
+
*
|
|
57
|
+
* @param {Object[]} cryptoEntries safer-exec crypto-library and crypto-cipher audit entries
|
|
58
|
+
* @returns {Map<string, {name: string, version: string}>} Crypto libraries by path
|
|
59
|
+
*/
|
|
60
|
+
export declare function cryptoLibrariesByPath(cryptoEntries: Object[]): Map<string, {
|
|
61
|
+
name: string;
|
|
62
|
+
version: string;
|
|
63
|
+
}>;
|
|
64
|
+
//# sourceMappingURL=tracedCrypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracedCrypto.d.ts","sourceRoot":"","sources":["../../../lib/inventory/tracedCrypto.js"],"names":[],"mappings":"AA0DA;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAH1B,MAG0B,GAFxB;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAC,SAAS,CAAA;CAAC,GAAC,SAAS,CAuB1E;AA+DD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,+BAA+B,CAAC,cAAc,EAHnD,MAAM,EAG6C,GAFjD,MAAM,EAAE,CA+GpB;AAqBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAPH,MAOG,EACZ,YAAY,GAPH,GAAG,CAAC,MAAM,CAOK,GALb;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAC,CAwF1D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAHxC,MAAM,EAGkC,GAFtC,GAAG,CAAC,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC,CAgBxD"}
|
|
@@ -115,6 +115,16 @@ export declare function dropRedundantSourceComponents(pkgList: any[]): any[];
|
|
|
115
115
|
* @returns {Object} Metadata containing packages, dependencies, etc
|
|
116
116
|
*/
|
|
117
117
|
export declare function getOSPackages(src: string, imageConfig: Object, options?: {}): Object;
|
|
118
|
+
/**
|
|
119
|
+
* Split a `Name <address>` maintainer string into an `organizationalContact`.
|
|
120
|
+
*
|
|
121
|
+
* @param {string} value Maintainer or supplier string
|
|
122
|
+
* @returns {{name: string, email?: string}|undefined} The contact, if any
|
|
123
|
+
*/
|
|
124
|
+
export declare function parseOrganizationalContact(value: string): {
|
|
125
|
+
name: string;
|
|
126
|
+
email?: string;
|
|
127
|
+
} | undefined;
|
|
118
128
|
/**
|
|
119
129
|
* Collect the dependency edges trivy recorded for one OS package component.
|
|
120
130
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../lib/managers/binary.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../../lib/managers/binary.js"],"names":[],"mappings":"AA2aA;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,AAH9C,CACA,EADQ,MAAM,EAGqC,GAFzC,MAAM,EAAE,CAgBpB;AA4FD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAJ9B,MAI8B,GAH5B,MAAM,GAAC,SAAS,CAmB5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EALtB,MAKsB,UA+BpC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,OAAA,EAAE,GAAG,EAJ9B,MAI8B,GAFhC,SAAS,GAAC,MAAM,CAmC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EARK,MAQL,EACJ,OAAO,EARE,MAQF,EACP,IAAI,EARK,MAQL,EACJ,KAAK,EARI,MAQJ,EACL,QAAQ,AARP,CACA,EADQ,MAQD,GAPG,MAAM,CA4ElB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAJ/B,MAI+B,EAAE,QAAQ,AAHjD,CACA,EADQ,MAGyC,GAFvC,MAAM,CA6BlB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,OAAA,SAoBpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,GAAG,QAAA,EAAE,WAAW,EAL7B,MAK6B,EAAE,OAAO,KAAK,GAFrD,MAAM,CAymBlB;AA6HD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAHrC,MAGqC,GAFnC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAC,GAAC,SAAS,CAgBpD;AAqlDD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,0DAJtB,MAAM,QACN,MAAM,KACJ;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAC,GAAC,SAsD/C,CAAC;AAyHF;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,UAAU,AALvD,CACA,EADQ,MAAM,EAK8C,GAJlD;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC,CA8FnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EALzB,MAKyB,GAJvB,MAAM,GAAC,SAAS,CA8D5B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAJxB,MAIwB,EAAE,UAAU,EAHpC,MAGoC,WA6C9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,GAAG,EANrB,MAMqB,EAAE,aAAa,EALpC,MAKoC,EAAE,QAAQ,EAJ9C,OAI8C,GAF7C,OAAO,CAiClB"}
|
|
@@ -74,6 +74,18 @@ export declare const makeRequest: (path: string, method: string, forRegistry?: s
|
|
|
74
74
|
* @returns {boolean} true when the string is a plausible image reference
|
|
75
75
|
*/
|
|
76
76
|
export declare const isImageReference: (fullImageName: string) => boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Whether an image named in a scanned manifest, such as a docker-compose file
|
|
79
|
+
* or a Kubernetes spec, may be pulled and inventoried. The name comes from the
|
|
80
|
+
* scanned project, so a local archive path would read files outside the
|
|
81
|
+
* allowed paths and a registry outside CDXGEN_ALLOWED_HOSTS would bypass the
|
|
82
|
+
* host allowlist.
|
|
83
|
+
*
|
|
84
|
+
* @param {string} fullImageName Image name from the manifest
|
|
85
|
+
* @param {Object} [imageObj] Result of parseImageName for the same name
|
|
86
|
+
* @returns {boolean} true when the image may be followed
|
|
87
|
+
*/
|
|
88
|
+
export declare const isFollowableManifestImage: (fullImageName: string, imageObj?: Object) => boolean;
|
|
77
89
|
/**
|
|
78
90
|
* Parse image name
|
|
79
91
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../../lib/managers/docker.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../../../lib/managers/docker.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAgDrC,yDAAyD;AACzD,eAAO,MAAM,KAAK,SAA0B,CAAC;AAC7C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAFtB,MAEoC,CAAC;AAkS/C;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,SAHnB,MAAM,KACJ,MAiBZ,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,QAoB3B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,QA2CnC;AAyTD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,aANf,MAAM,gBAEN,MAAM,KACJ,OAAO,CAAC,MAAM,GAAC,SAAS,CA6HpC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,SANb,MAAM,UACN,MAAM,gBACN,MAAM,KACJ,OAAO,CAAC,MAAM,GAAC,MAAM,GAAC,SAAS,CAgC3C,CAAC;AA8CF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,gBAAgB,kBAHlB,MAAM,KACJ,OAsEZ,CAAC;AAgBF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,kBAJ3B,MAAM,aACN,MAAM,KACJ,OAmBZ,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;CA2E1B,CAAC;AAyFF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,QAFlB,MAgCZ,CAAC;AAkBF;;GAEG;AACH,eAAO,MAAM,QAAQ,sCA6MpB,CAAC;AAkBC,YAA4B,gBAAgB,GAAlC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAkB;AAmH/C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,kBANZ,MAAM,OACN,MAAM,WACN,MAAM,KACJ,OAAO,CAAC,OAAO,CAqF3B,CAAC;AAiGF;;;GAGG;AACH,eAAO,MAAM,aAAa,mEAqGzB,CAAC;AA2KF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,iBATrB,MAAM,aACN,MAAM,WACN,MAAM,wBACN,MAAM,WACN,MAAM,KACJ,OAAO,CAAC,MAAM,CAwK1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,oDAyJvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,iDAkJ1B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,kBALb,MAAM,UACN,OAAO,KACL,OAAO,CAAC,MAAM,GAAC,SAAS,CAKpC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,cALpB,MAAM,iBACN,MAAM,KACJ,MAAM,GAAC,SA2CnB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,qBAHpB,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,CAAC,cACnC,KAAK,CAAC,MAAM,CAAC,SA4BvB,CAAC"}
|
|
@@ -18,9 +18,11 @@ export declare function isSameRegistryHost(registry: string, realmUrl: URL): boo
|
|
|
18
18
|
*
|
|
19
19
|
* @param {string} image OCI image reference (e.g. `"registry.example.com/org/app:tag"`)
|
|
20
20
|
* @param {string} [platform] OCI platform string (e.g. `"linux/amd64"`); no-op for JS implementation
|
|
21
|
+
* @param {Object} [options]
|
|
22
|
+
* @param {function(Buffer): void} [options.checkBytes] Called with the raw bytes of the BOM layer that is about to be returned. An error it throws is rethrown, and no other referrer is tried.
|
|
21
23
|
* @returns {Promise<Object|undefined>} Parsed CycloneDX BOM JSON object, or `undefined` if not found
|
|
22
24
|
*/
|
|
23
|
-
export declare function getBomWithOras(image: string, _platform?: undefined): Promise<Object | undefined>;
|
|
25
|
+
export declare function getBomWithOras(image: string, _platform?: undefined, options?: Object): Promise<Object | undefined>;
|
|
24
26
|
/**
|
|
25
27
|
* Attach a CycloneDX BOM to an OCI image using the OCI 1.1 artifact manifest
|
|
26
28
|
* API, pushing the BOM as a blob and linking it via the referrers API (with a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../../lib/managers/oci.js"],"names":[],"mappings":"AAuOA;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAJhC,MAIgC,EAAE,QAAQ,EAH1C,GAG0C,GAFxC,OAAO,CAgBnB;
|
|
1
|
+
{"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../../lib/managers/oci.js"],"names":[],"mappings":"AAuOA;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAJhC,MAIgC,EAAE,QAAQ,EAH1C,GAG0C,GAFxC,OAAO,CAgBnB;AAuJD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAPI,MAOJ,EACL,SAAS,YAAY,EACrB,OAAO,AAPN,CACA,EADQ,MAOG,GALD,OAAO,CAAC,MAAM,GAAC,SAAS,CAAC,CA6HrC;AAmFD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,KAAK,EALhC,MAKgC,EAAE,OAAO,EAJzC,MAIyC,GAHvC,OAAO,CAAC,MAAM,GAAC,SAAS,CAAC,CAmIrC"}
|
|
@@ -67,4 +67,20 @@ export declare function resolveCmakeCacheFacts(map: Map<string, {
|
|
|
67
67
|
findPackages: Map<string, string>;
|
|
68
68
|
fetchContentBase?: string;
|
|
69
69
|
};
|
|
70
|
+
/**
|
|
71
|
+
* Parse a compiler description CMake writes when it configures a build
|
|
72
|
+
* (`CMakeFiles/<cmake version>/CMake<LANG>Compiler.cmake`): the compiler's
|
|
73
|
+
* path, CMake's id for it and its version, all identified by CMake itself.
|
|
74
|
+
*
|
|
75
|
+
* @param {string} text File contents
|
|
76
|
+
* @returns {{language: string, compiler: string, family: string, id: string, version: string}|null}
|
|
77
|
+
* `null` when the text names no compiler
|
|
78
|
+
*/
|
|
79
|
+
export declare function parseCmakeCompilerFile(text: string): {
|
|
80
|
+
language: string;
|
|
81
|
+
compiler: string;
|
|
82
|
+
family: string;
|
|
83
|
+
id: string;
|
|
84
|
+
version: string;
|
|
85
|
+
} | null;
|
|
70
86
|
//# sourceMappingURL=cmakeCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmakeCache.d.ts","sourceRoot":"","sources":["../../../lib/parsers/cmakeCache.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAHzB,MAGyB,GAFvB,GAAG,CAAC,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC,CA0BtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAJlC,MAIkC,GAHhC,MAAM,GAAC,IAAI,CA0BvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAH/B,GAAG,CAAC,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAGV,GAF7B;IAAE,WAAW,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,CAiG1P"}
|
|
1
|
+
{"version":3,"file":"cmakeCache.d.ts","sourceRoot":"","sources":["../../../lib/parsers/cmakeCache.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAHzB,MAGyB,GAFvB,GAAG,CAAC,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC,CA0BtD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAJlC,MAIkC,GAHhC,MAAM,GAAC,IAAI,CA0BvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAH/B,GAAG,CAAC,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAGV,GAF7B;IAAE,WAAW,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,CAiG1P;AAeD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAJhC,MAIgC,GAH9B;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAC,IAAI,CAgDlG"}
|
|
@@ -27,7 +27,8 @@ export declare function parseCmakeCommands(text: string): {
|
|
|
27
27
|
/**
|
|
28
28
|
* Replace `${VAR}` references with the values of simple `set()` calls. A
|
|
29
29
|
* reference to an unknown variable is left in place, so callers can tell a
|
|
30
|
-
* resolved value from an unresolved one.
|
|
30
|
+
* resolved value from an unresolved one. Expansion stops at the previous
|
|
31
|
+
* round once the text would exceed 64 KiB.
|
|
31
32
|
*
|
|
32
33
|
* @param {string} value Argument text
|
|
33
34
|
* @param {Map<string,string>} variables Known variable values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmakeLists.d.ts","sourceRoot":"","sources":["../../../lib/parsers/cmakeLists.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA8DH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAL5B,MAK4B,GAJ1B;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,EAAE,CA8G1D;
|
|
1
|
+
{"version":3,"file":"cmakeLists.d.ts","sourceRoot":"","sources":["../../../lib/parsers/cmakeLists.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA8DH;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAL5B,MAK4B,GAJ1B;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,EAAE,CA8G1D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAJ/B,MAI+B,EAAE,SAAS,EAH1C,GAAG,CAAC,MAAM,EAAC,MAAM,CAGyB,GAFxC,MAAM,CAkClB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAH/B;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,EAGC,GAF7B,GAAG,CAAC,MAAM,EAAC,MAAM,CAAC,CAwB9B;AAgFD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EALhC,MAKgC,GAJ9B;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAC,EAAE,CAyG3K"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure reader for CMake presets (`CMakePresets.json` and
|
|
3
|
+
* `CMakeUserPresets.json`, schema versions 1 to 10).
|
|
4
|
+
*
|
|
5
|
+
* A configure preset names how a project is configured: the generator, the
|
|
6
|
+
* build directory, the toolchain file and the cache variables (build type,
|
|
7
|
+
* compilers). Presets inherit from one another, may be hidden (templates
|
|
8
|
+
* that only exist to be inherited), may be enabled only under a condition,
|
|
9
|
+
* and spell paths with macros such as `${sourceDir}` and `$env{NAME}`.
|
|
10
|
+
*
|
|
11
|
+
* This module is layer 1: text and a context object in, data out. Reading the
|
|
12
|
+
* files (and their `include` lists) is done by the caller, which also supplies
|
|
13
|
+
* the process environment through `context.penv`.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Parse the text of a presets file.
|
|
17
|
+
*
|
|
18
|
+
* @param {string} text File contents
|
|
19
|
+
* @returns {{version: number|undefined, include: string[], configurePresets: Object[]}|null}
|
|
20
|
+
* `null` when the text is not a presets document
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseCmakePresets(text: string): {
|
|
23
|
+
version: number | undefined;
|
|
24
|
+
include: string[];
|
|
25
|
+
configurePresets: Object[];
|
|
26
|
+
} | null;
|
|
27
|
+
/**
|
|
28
|
+
* Expand the macros CMake allows in preset strings.
|
|
29
|
+
*
|
|
30
|
+
* Supported: `${sourceDir}`, `${sourceParentDir}`, `${sourceDirName}`,
|
|
31
|
+
* `${presetName}`, `${generator}`, `${hostSystemName}`, `${fileDir}`,
|
|
32
|
+
* `${dollar}`, `${pathListSep}`, `$env{NAME}` (the preset's own environment,
|
|
33
|
+
* then the process environment) and `$penv{NAME}` (the process environment).
|
|
34
|
+
* `$vendor{...}` and unknown macros are left as written.
|
|
35
|
+
*
|
|
36
|
+
* @param {string} value String to expand
|
|
37
|
+
* @param {Object} context Macro values; `env` (preset environment, a plain
|
|
38
|
+
* object) and `penv` (a function reading the process environment) are
|
|
39
|
+
* optional
|
|
40
|
+
* @returns {string} Expanded string
|
|
41
|
+
*/
|
|
42
|
+
export declare function expandPresetMacros(value: string, context?: Object): string;
|
|
43
|
+
/**
|
|
44
|
+
* Evaluate a preset condition (schema version 3 and later).
|
|
45
|
+
*
|
|
46
|
+
* @param {*} condition Condition object (or boolean, or null)
|
|
47
|
+
* @param {function(string): string} expand Macro expander for the preset
|
|
48
|
+
* @returns {boolean|undefined} `undefined` when the condition cannot be
|
|
49
|
+
* decided here: `matches`/`notMatches` take a regular expression from the
|
|
50
|
+
* repository, which is not run
|
|
51
|
+
*/
|
|
52
|
+
export declare function evaluatePresetCondition(condition: any, expand: Function): boolean | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Resolve the configure presets of a set of presets documents.
|
|
55
|
+
*
|
|
56
|
+
* Inheritance follows CMake: a preset's own fields win, then those of its
|
|
57
|
+
* `inherits` entries in order (the first wins), recursively; `cacheVariables`
|
|
58
|
+
* and `environment` merge key by key the same way, and a `null` entry unsets
|
|
59
|
+
* the key. `name`, `hidden`, `inherits`, `description` and `displayName` are
|
|
60
|
+
* not inherited. A preset that is part of an inheritance cycle, or inherits
|
|
61
|
+
* one that does not exist, is dropped.
|
|
62
|
+
*
|
|
63
|
+
* @param {Array<{file: string, fileDir: string, document: Object}>} documents
|
|
64
|
+
* Parsed documents in reading order (`CMakePresets.json` first, then its
|
|
65
|
+
* includes, then `CMakeUserPresets.json`)
|
|
66
|
+
* @param {Object} context `sourceDir`, `hostSystemName`, `pathListSep`, and
|
|
67
|
+
* `penv` (a function reading the process environment)
|
|
68
|
+
* @returns {Object[]} Visible configure presets: `name`, `displayName`,
|
|
69
|
+
* `file`, `inherits`, `generator`, `binaryDir` (absolute), `toolchainFile`,
|
|
70
|
+
* `cacheVariables` (expanded strings), `environment` (expanded strings),
|
|
71
|
+
* `hasCondition`, and `conditionMet` (true, false or undefined)
|
|
72
|
+
*/
|
|
73
|
+
export declare function resolveConfigurePresets(documents: Array<{
|
|
74
|
+
file: string;
|
|
75
|
+
fileDir: string;
|
|
76
|
+
document: Object;
|
|
77
|
+
}>, context?: Object): Object[];
|
|
78
|
+
//# sourceMappingURL=cmakePresets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmakePresets.d.ts","sourceRoot":"","sources":["../../../lib/parsers/cmakePresets.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAmBH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAJ3B,MAI2B,GAHzB;IAAC,OAAO,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAC,GAAC,IAAI,CAiC3F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAN7B,MAM6B,EAAE,OAAO,GALtC,MAK2C,GAFzC,MAAM,CAkClB;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EANtC,GAMsC,EAAE,MAAM,UAAA,GAJ5C,OAAO,GAAC,SAAS,CA8D7B;AAiBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAVtC,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAUjB,EAAE,OAAO,GAP/C,MAOoD,GALlD,MAAM,EAAE,CA0EpB"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure reader for JSON compilation databases (`compile_commands.json`).
|
|
3
|
+
*
|
|
4
|
+
* Each entry names a translation unit (`file`), the directory its command ran
|
|
5
|
+
* in (`directory`) and the command, either as an argument list (`arguments`)
|
|
6
|
+
* or as one command line (`command`) split with the quoting rules of the
|
|
7
|
+
* shell it was written for. From the entries this module derives the
|
|
8
|
+
* compilers a build uses, the include directories each unit is compiled
|
|
9
|
+
* with, and the security-hardening options in effect.
|
|
10
|
+
*
|
|
11
|
+
* Layer 1: data in, data out. Locating and reading the file, and running a
|
|
12
|
+
* compiler to learn its version, belong to the callers.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Split a POSIX shell command line into words: single quotes keep everything
|
|
16
|
+
* literally, double quotes keep everything except `\"`, `\\`, `\$` and
|
|
17
|
+
* `` \` ``, and a backslash outside quotes escapes the next character.
|
|
18
|
+
*
|
|
19
|
+
* @param {string} command Command line
|
|
20
|
+
* @returns {string[]} Words
|
|
21
|
+
*/
|
|
22
|
+
export declare function splitPosixCommand(command: string): string[];
|
|
23
|
+
/**
|
|
24
|
+
* Split a Windows command line into words as the Microsoft C runtime does:
|
|
25
|
+
* double quotes group, `\"` is a literal quote, and backslashes are literal
|
|
26
|
+
* unless they precede a quote.
|
|
27
|
+
*
|
|
28
|
+
* @param {string} command Command line
|
|
29
|
+
* @returns {string[]} Words
|
|
30
|
+
*/
|
|
31
|
+
export declare function splitWindowsCommand(command: string): string[];
|
|
32
|
+
/**
|
|
33
|
+
* The compiler family a driver's name implies.
|
|
34
|
+
*
|
|
35
|
+
* @param {string} driver Driver path or name
|
|
36
|
+
* @returns {string} `msvc`, `clang-cl`, `clang`, `gcc`, `nvcc`, `icx`,
|
|
37
|
+
* `icc`, `nvhpc`, `edg` or `unknown`
|
|
38
|
+
*/
|
|
39
|
+
export declare function compilerFamilyOfName(driver: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* The argument list of a database entry, with any compiler launcher
|
|
42
|
+
* (`ccache`, `sccache`, ...) removed so the first argument is the compiler.
|
|
43
|
+
*
|
|
44
|
+
* @param {Object} entry Database entry
|
|
45
|
+
* @returns {string[]} Arguments
|
|
46
|
+
*/
|
|
47
|
+
export declare function entryArguments(entry: Object): string[];
|
|
48
|
+
/**
|
|
49
|
+
* The language a unit is compiled as: from `-x`/`/TP`/`/TC`, the driver
|
|
50
|
+
* name, then the file extension.
|
|
51
|
+
*
|
|
52
|
+
* @param {string[]} args Arguments, compiler first
|
|
53
|
+
* @param {string} file Translation unit
|
|
54
|
+
* @returns {string} `c`, `c++`, `cuda` or `unknown`
|
|
55
|
+
*/
|
|
56
|
+
export declare function unitLanguage(args: string[], file: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* The include directories a unit is compiled with, as absolute paths.
|
|
59
|
+
*
|
|
60
|
+
* @param {string[]} args Arguments, compiler first
|
|
61
|
+
* @param {string} directory The entry's working directory
|
|
62
|
+
* @returns {string[]} Directories, in command order
|
|
63
|
+
*/
|
|
64
|
+
export declare function includeDirectories(args: string[], directory: string): string[];
|
|
65
|
+
/**
|
|
66
|
+
* The security-hardening settings an argument list turns on or off. Later
|
|
67
|
+
* options override earlier ones, as they do for the compiler.
|
|
68
|
+
*
|
|
69
|
+
* @param {string[]} args Compiler or linker arguments
|
|
70
|
+
* @returns {Map<string, string>} Setting name to value:
|
|
71
|
+
* `fortifySource` (level), `stackProtector` (`on`, `strong`, `all`,
|
|
72
|
+
* `off`), `pie` (`on`/`off`), `relro` (`partial`/`full`, from `-z relro`
|
|
73
|
+
* and `-z now`), `cfProtection` (`full`, `branch`, `return`, `none`),
|
|
74
|
+
* `sanitizers` (comma-separated), `glibcxxAssertions` (`on`),
|
|
75
|
+
* `stackClashProtection` (`on`/`off`), `msvcBufferSecurityCheck` (`/GS`
|
|
76
|
+
* `on`/`off`), `msvcControlFlowGuard` (`on`/`off`)
|
|
77
|
+
*/
|
|
78
|
+
export declare function hardeningSettings(args: string[]): Map<string, string>;
|
|
79
|
+
/**
|
|
80
|
+
* Summarise a compilation database.
|
|
81
|
+
*
|
|
82
|
+
* @param {Object[]} entries Parsed database (a JSON array)
|
|
83
|
+
* @returns {{
|
|
84
|
+
* units: number,
|
|
85
|
+
* compilers: Map<string, {driver: string, family: string, units: number, languages: Set<string>}>,
|
|
86
|
+
* includeDirectories: Set<string>,
|
|
87
|
+
* hardening: Map<string, Map<string, number>>,
|
|
88
|
+
* }} `compilers` is keyed by the driver as written; `hardening` maps each
|
|
89
|
+
* setting to the number of units per value
|
|
90
|
+
*/
|
|
91
|
+
export declare function summarizeCompileDatabase(entries: Object[]): {
|
|
92
|
+
units: number;
|
|
93
|
+
compilers: Map<string, {
|
|
94
|
+
driver: string;
|
|
95
|
+
family: string;
|
|
96
|
+
units: number;
|
|
97
|
+
languages: Set<string>;
|
|
98
|
+
}>;
|
|
99
|
+
includeDirectories: Set<string>;
|
|
100
|
+
hardening: Map<string, Map<string, number>>;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Read a compiler's family and version from what it prints for `--version`
|
|
104
|
+
* (or, for MSVC, on start-up).
|
|
105
|
+
*
|
|
106
|
+
* @param {string} banner Output of the version query
|
|
107
|
+
* @param {string} [nameFamily] Family implied by the driver's name
|
|
108
|
+
* @returns {{family: string, version: string|undefined, edgFrontEnd: boolean}}
|
|
109
|
+
*/
|
|
110
|
+
export declare function classifyCompilerBanner(banner: string, nameFamily?: string): {
|
|
111
|
+
family: string;
|
|
112
|
+
version: string | undefined;
|
|
113
|
+
edgFrontEnd: boolean;
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=compileCommands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compileCommands.d.ts","sourceRoot":"","sources":["../../../lib/parsers/compileCommands.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAcH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAH9B,MAG8B,GAF5B,MAAM,EAAE,CAoDpB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAHhC,MAGgC,GAF9B,MAAM,EAAE,CA6CpB;AAQD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAJhC,MAIgC,GAH9B,MAAM,CAwClB;AAKD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAHzB,MAGyB,GAFvB,MAAM,EAAE,CA8BpB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAJtB,MAAM,EAIgB,EAAE,IAAI,EAH5B,MAG4B,GAF1B,MAAM,CA6ClB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAJ5B,MAAM,EAIsB,EAAE,SAAS,EAHvC,MAGuC,GAFrC,MAAM,EAAE,CAwCpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAT3B,MAAM,EASqB,GARzB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgH/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EATrC,MAAM,EAS+B,GARnC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC,CAAC;IAChG,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C,CA0CH;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAJlC,MAIkC,EAAE,UAAU,AAHtD,CACA,EADQ,MAG0D,GAFxD;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAC,CA4B7E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An internationalized hostname: mapped to its A-label form with UTS #46
|
|
3
|
+
* processing, held to the ASCII hostname rules, and every A-label decoded
|
|
4
|
+
* back and checked for the characters IDNA allows.
|
|
5
|
+
*
|
|
6
|
+
* @param {string} hostname Hostname, possibly holding non-ASCII labels
|
|
7
|
+
* @returns {boolean} Whether it is a valid IDN hostname
|
|
8
|
+
*/
|
|
9
|
+
export declare const isValidIdnHostname: (hostname: string) => boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Whether a value is a valid RFC 6531 email address (`idn-email`): a dot-atom
|
|
12
|
+
* or quoted local part, where non-ASCII characters are allowed, then `@` and
|
|
13
|
+
* an internationalized hostname or a bracketed IPv4/IPv6 literal.
|
|
14
|
+
*
|
|
15
|
+
* @param {string} value Candidate email address
|
|
16
|
+
* @returns {boolean} true when the value is a valid address
|
|
17
|
+
*/
|
|
18
|
+
export declare const isValidIdnEmail: (value: string) => boolean;
|
|
19
|
+
//# sourceMappingURL=email.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../lib/parsers/email.js"],"names":[],"mappings":"AA8LA;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,aAHpB,MAAM,KACJ,OAyCZ,CAAC;AAkBF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,UAHjB,MAAM,KACJ,OAeZ,CAAC"}
|
|
@@ -17,6 +17,19 @@ export declare function indexJsonObject(filePath: string, options?: Object): Map
|
|
|
17
17
|
start: number;
|
|
18
18
|
end: number;
|
|
19
19
|
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Decode one member of the top-level object in a JSON file, reading the file
|
|
22
|
+
* only up to the end of that member. A member near the start of a large file
|
|
23
|
+
* costs a few bounded reads, however large the rest of the file is; the rest
|
|
24
|
+
* is not checked for well-formedness.
|
|
25
|
+
*
|
|
26
|
+
* @param {string} filePath JSON file whose top-level value is an object
|
|
27
|
+
* @param {string} name Member to decode
|
|
28
|
+
* @param {Object} [options] Batch and chunk size overrides, for tests
|
|
29
|
+
* @returns {*} The decoded value, or undefined when the object has no such member
|
|
30
|
+
* @throws {SyntaxError} When the object is malformed before the member ends
|
|
31
|
+
*/
|
|
32
|
+
export declare function readJsonMember(filePath: string, name: string, options?: Object): any;
|
|
20
33
|
/**
|
|
21
34
|
* Decode the JSON value stored in a byte range of a file, without ever holding
|
|
22
35
|
* more than a bounded run of it in one string.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"largeJson.d.ts","sourceRoot":"","sources":["../../../lib/parsers/largeJson.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,KAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"largeJson.d.ts","sourceRoot":"","sources":["../../../lib/parsers/largeJson.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,KAA8B,CAAC;AAqY/D;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAL7B,MAK6B,EAAE,OAAO,AAJ9C,CACA,EADQ,MAI2C,GAHzC,GAAG,CAAC,MAAM,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,CAAC,CAarD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAN5B,MAM4B,EAAE,IAAI,EALlC,MAKkC,EAAE,OAAO,AAJnD,CACA,EADQ,MAIgD,GAH9C,GAAC,CAiBb;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAP3B,MAO2B,EAAE,KAAK,EANlC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAMO,EAAE,IAAI,AALhD,CACA,EADQ,MAKoD,EAAE,OAAO,AAJrE,CACA,EADQ,MAIkE,GAHhE,GAAC,CAOb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAN1B,MAM0B,EAAE,IAAI,AALxC,CACA,EADQ,MAK4C,EAAE,OAAO,AAJ7D,CACA,EADQ,MAI0D,GAHxD,GAAC,CASb"}
|