Documentation
¶
Index ¶
- Constants
- Variables
- func CategoryLabel(cat string) string
- func CleanVersion(raw string) string
- func Register(d Detector)
- type APISpecDetector
- type BazelDetector
- type ClojureDetector
- type CloudDetector
- type CppDetector
- type CrystalDetector
- type DartDetector
- type DenoDetector
- type Detector
- type DockerDetector
- type DotNetDetector
- type ElixirDetector
- type ElmDetector
- type ErlangDetector
- type Finding
- type GleamDetector
- type GoDetector
- type HaskellDetector
- type IOSDetector
- type InfraDetector
- type JavaDetector
- type JuliaDetector
- type KamalDetector
- type LuaDetector
- type NimDetector
- type NodeDetector
- type OCamlDetector
- type PHPDetector
- type PerlDetector
- type PureScriptDetector
- type PythonDetector
- type RLangDetector
- type RubyDetector
- type RustDetector
- type ScalaDetector
- type SolidityDetector
- type SwiftDetector
- type VDetector
- type ZigDetector
Constants ¶
const ( CategoryLanguage = "language" CategoryFramework = "framework" CategoryDatabase = "database" CategoryCache = "cache" CategoryQueue = "queue" CategoryFrontend = "frontend" CategoryCSS = "css" CategoryUI = "ui" CategoryORM = "orm" CategoryAPI = "api" CategoryAuth = "auth" CategoryEmail = "email" CategorySearch = "search" CategoryStorage = "storage" CategoryMonitoring = "monitoring" CategoryTesting = "testing" CategoryLinting = "linting" CategoryFormatting = "formatting" CategoryCI = "ci" CategoryDeploy = "deploy" CategoryInfra = "infra" CategorySecurity = "security" CategoryML = "ml" CategoryPlatform = "platform" CategoryPkgManager = "package_manager" CategoryVersionMgr = "version_manager" CategoryBuild = "build" CategoryPayments = "payments" CategoryAnalytics = "analytics" CategoryFeatureFlag = "feature_flags" )
Category constants for classifying detected technologies.
Variables ¶
var CategoryOrder = []string{ CategoryLanguage, CategoryFramework, CategoryFrontend, CategoryCSS, CategoryUI, CategoryDatabase, CategoryORM, CategoryCache, CategoryQueue, CategoryAPI, CategoryAuth, CategoryEmail, CategorySearch, CategoryStorage, CategoryMonitoring, CategoryTesting, CategoryLinting, CategoryFormatting, CategorySecurity, CategoryCI, CategoryDeploy, CategoryInfra, CategoryPkgManager, CategoryVersionMgr, CategoryBuild, CategoryML, CategoryPlatform, CategoryPayments, CategoryAnalytics, CategoryFeatureFlag, }
CategoryOrder defines the display order for categories.
var Registry []Detector
Registry holds all registered detectors.
Functions ¶
func CategoryLabel ¶
CategoryLabel returns a human-readable label for a category.
func CleanVersion ¶
CleanVersion extracts a clean major.minor version string. It strips common prefixes (~>, ^, >=) and suffixes (-alpine, -slim, etc.), then returns major.minor (dropping patch).
Types ¶
type APISpecDetector ¶
type APISpecDetector struct{}
func (*APISpecDetector) Name ¶
func (d *APISpecDetector) Name() string
type BazelDetector ¶
type BazelDetector struct{}
func (*BazelDetector) Name ¶
func (d *BazelDetector) Name() string
type ClojureDetector ¶
type ClojureDetector struct{}
func (*ClojureDetector) Name ¶
func (d *ClojureDetector) Name() string
type CloudDetector ¶
type CloudDetector struct{}
func (*CloudDetector) Name ¶
func (d *CloudDetector) Name() string
type CppDetector ¶
type CppDetector struct{}
func (*CppDetector) Name ¶
func (d *CppDetector) Name() string
type CrystalDetector ¶
type CrystalDetector struct{}
func (*CrystalDetector) Name ¶
func (d *CrystalDetector) Name() string
type DartDetector ¶
type DartDetector struct{}
func (*DartDetector) Name ¶
func (d *DartDetector) Name() string
type DenoDetector ¶
type DenoDetector struct{}
func (*DenoDetector) Name ¶
func (d *DenoDetector) Name() string
type Detector ¶
type Detector interface {
Name() string
Detect(dir string, fileIndex map[string]bool) ([]Finding, error)
}
Detector inspects a project directory and returns findings.
type DockerDetector ¶
type DockerDetector struct{}
func (*DockerDetector) Name ¶
func (d *DockerDetector) Name() string
type DotNetDetector ¶
type DotNetDetector struct{}
func (*DotNetDetector) Name ¶
func (d *DotNetDetector) Name() string
type ElixirDetector ¶
type ElixirDetector struct{}
func (*ElixirDetector) Name ¶
func (d *ElixirDetector) Name() string
type ElmDetector ¶
type ElmDetector struct{}
func (*ElmDetector) Name ¶
func (d *ElmDetector) Name() string
type ErlangDetector ¶
type ErlangDetector struct{}
func (*ErlangDetector) Name ¶
func (d *ErlangDetector) Name() string
type Finding ¶
type Finding struct {
Category string `json:"category"`
Name string `json:"name"`
Version string `json:"version,omitempty"`
Source string `json:"source"`
}
Finding represents a single detected technology.
func ApplyVersionManagerOverrides ¶ added in v0.3.0
func ApplyVersionManagerOverrides(dir string, fileIndex map[string]bool, findings []Finding) []Finding
ApplyVersionManagerOverrides replaces language findings' versions with values declared in .tool-versions (asdf/mise). The version-manager file is authoritative for the dev environment, while manifest files often declare only a minimum (e.g. `elixir: "~> 1.15"` in mix.exs).
type GleamDetector ¶
type GleamDetector struct{}
func (*GleamDetector) Name ¶
func (d *GleamDetector) Name() string
type GoDetector ¶
type GoDetector struct{}
func (*GoDetector) Name ¶
func (d *GoDetector) Name() string
type HaskellDetector ¶
type HaskellDetector struct{}
func (*HaskellDetector) Name ¶
func (d *HaskellDetector) Name() string
type IOSDetector ¶
type IOSDetector struct{}
func (*IOSDetector) Name ¶
func (d *IOSDetector) Name() string
type InfraDetector ¶
type InfraDetector struct{}
func (*InfraDetector) Name ¶
func (d *InfraDetector) Name() string
type JavaDetector ¶
type JavaDetector struct{}
func (*JavaDetector) Name ¶
func (d *JavaDetector) Name() string
type JuliaDetector ¶
type JuliaDetector struct{}
func (*JuliaDetector) Name ¶
func (d *JuliaDetector) Name() string
type KamalDetector ¶ added in v0.3.0
type KamalDetector struct{}
func (*KamalDetector) Name ¶ added in v0.3.0
func (d *KamalDetector) Name() string
type LuaDetector ¶
type LuaDetector struct{}
func (*LuaDetector) Name ¶
func (d *LuaDetector) Name() string
type NimDetector ¶
type NimDetector struct{}
func (*NimDetector) Name ¶
func (d *NimDetector) Name() string
type NodeDetector ¶
type NodeDetector struct{}
func (*NodeDetector) Name ¶
func (d *NodeDetector) Name() string
type OCamlDetector ¶
type OCamlDetector struct{}
func (*OCamlDetector) Name ¶
func (d *OCamlDetector) Name() string
type PHPDetector ¶
type PHPDetector struct{}
func (*PHPDetector) Name ¶
func (d *PHPDetector) Name() string
type PerlDetector ¶
type PerlDetector struct{}
func (*PerlDetector) Name ¶
func (d *PerlDetector) Name() string
type PureScriptDetector ¶
type PureScriptDetector struct{}
func (*PureScriptDetector) Name ¶
func (d *PureScriptDetector) Name() string
type PythonDetector ¶
type PythonDetector struct{}
func (*PythonDetector) Name ¶
func (d *PythonDetector) Name() string
type RLangDetector ¶
type RLangDetector struct{}
func (*RLangDetector) Name ¶
func (d *RLangDetector) Name() string
type RubyDetector ¶
type RubyDetector struct{}
func (*RubyDetector) Name ¶
func (d *RubyDetector) Name() string
type RustDetector ¶
type RustDetector struct{}
func (*RustDetector) Name ¶
func (d *RustDetector) Name() string
type ScalaDetector ¶
type ScalaDetector struct{}
func (*ScalaDetector) Name ¶
func (d *ScalaDetector) Name() string
type SolidityDetector ¶
type SolidityDetector struct{}
func (*SolidityDetector) Name ¶
func (d *SolidityDetector) Name() string
type SwiftDetector ¶
type SwiftDetector struct{}
func (*SwiftDetector) Name ¶
func (d *SwiftDetector) Name() string
type ZigDetector ¶
type ZigDetector struct{}
func (*ZigDetector) Name ¶
func (d *ZigDetector) Name() string
Source Files
¶
- apispec.go
- bazel.go
- clojure.go
- cloud.go
- cpp.go
- crystal.go
- dart.go
- deno.go
- detector.go
- docker.go
- dotnet.go
- elixir.go
- elm.go
- erlang.go
- gleam.go
- golang.go
- haskell.go
- infra.go
- ios.go
- java.go
- julia.go
- kamal.go
- lua.go
- nim.go
- node.go
- ocaml.go
- perl.go
- php.go
- purescript.go
- python.go
- rlang.go
- ruby.go
- rust.go
- scala.go
- solidity.go
- swift.go
- version.go
- version_manager.go
- vlang.go
- zig.go