Package-level declarations
Types
Link copied to clipboard
class Analyze(analyzeExecutor: (AnalyzeExecutionRequest) -> DependencyReport = ::defaultAnalyzeExecutor, jsonOutputPathProvider: (Path) -> Path = ::defaultJsonOutputPathProvider, terminalCapabilitiesDetector: TerminalCapabilitiesDetector = TerminalCapabilitiesDetector(), tuiRunner: (TuiLaunchConfig, TerminalCapabilities) -> DependencyReport? = ::defaultTuiRunner) : BaseAnalyzeCommand
Link copied to clipboard
data class AnalyzeExecutionRequest(val projectPath: Path, val includeChains: Boolean, val disableMaven: Boolean, val disableGradle: Boolean, val verbose: Boolean, val treeMaxDepth: Int?, val treeExpandMode: TreeExpandMode, val timeoutSeconds: Long, val vulnerabilitySourceMode: VulnerabilitySourceMode, val showCommandOutput: Boolean = false, val ossIndexToken: String?, val nvdApiKey: String?, val onPartialReport: (DependencyReport) -> Unit? = null)
Link copied to clipboard
abstract class BaseAnalyzeCommand(commandName: String, forceTui: Boolean, analyzeExecutor: (AnalyzeExecutionRequest) -> DependencyReport, jsonOutputPathProvider: (Path) -> Path, terminalCapabilitiesDetector: TerminalCapabilitiesDetector, tuiRunner: (TuiLaunchConfig, TerminalCapabilities) -> DependencyReport?) : CliktCommand
Link copied to clipboard
Link copied to clipboard
data class CapabilityDocument(val cliVersion: String = BuildInfo.VERSION, val reportSchemas: List<String> = listOf("1.0", "1.1", "1.2", "1.3"), val features: Map<String, Boolean> = linkedMapOf(
"analyze.outputFile" to true,
"analyze.stdout" to true,
"analyze.progressJson" to true,
"report.dependencyTree" to true,
"report.vulnerabilityChains" to true,
"update.plan" to true,
"update.applyById" to true,
"update.reportFile" to true,
"update.planFile" to true,
"update.applyResultJson" to true,
"update.progressJson" to true,
"update.lockfileSync" to true
))
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
object ProgressTracker
Link copied to clipboard
class Tui(analyzeExecutor: (AnalyzeExecutionRequest) -> DependencyReport = ::defaultAnalyzeExecutor, jsonOutputPathProvider: (Path) -> Path = ::defaultJsonOutputPathProvider, terminalCapabilitiesDetector: TerminalCapabilitiesDetector = TerminalCapabilitiesDetector(), tuiRunner: (TuiLaunchConfig, TerminalCapabilities) -> DependencyReport? = ::defaultTuiRunner) : BaseAnalyzeCommand
Link copied to clipboard
data class TuiLaunchConfig(val initialStatus: String, val progressHint: String? = null, val scanProvider: ((DependencyReport) -> Unit) -> DependencyReport, val initialReport: DependencyReport? = null, val applyUpdates: (List<UpdateSuggestion>) -> List<UpdateResult>? = null)
Link copied to clipboard
class Update(plannerFactory: (String?) -> UpdatePlanner = { token ->
AnalyzerUpdatePlanner(
analyzer = ProjectAnalyzer(ossIndexClient = OssIndexClient(token = token))
)
}, updaterFactory: (ProjectType) -> BuildFileUpdater = { type ->
when (type) {
ProjectType.MAVEN -> PomBuildFileUpdater()
ProjectType.GRADLE_GROOVY -> GradleGroovyBuildFileUpdater()
ProjectType.GRADLE_KOTLIN -> GradleKotlinBuildFileUpdater()
ProjectType.NPM -> NpmPackageJsonBuildFileUpdater()
ProjectType.PYTHON_POETRY -> PyprojectBuildFileUpdater()
ProjectType.PYTHON_REQUIREMENTS -> RequirementsBuildFileUpdater()
}
}, selectionProvider: (Terminal, List<UpdateSuggestion>) -> Set<UpdateSuggestion> = ::defaultSelectionProvider) : CliktCommand
Link copied to clipboard