🎯 GetDirectDependencyNames
Gets the list of direct dependency package names, equivalent to running composer show --direct and parsing the output.
When to use
Use it when you only care about dependencies explicitly declared in composer.json (excluding transitive dependencies). Commonly used for generating concise dependency reports or checking whether direct dependencies are outdated.
Signature
go
func (c *Composer) GetDirectDependencyNames() ([]string, error)Parameters
This method takes no parameters.
Return value
| Return value | Type | Description |
|---|---|---|
| First return value | []string | List of direct dependency package names |
| Second return value | error | Returned when executing composer show --direct fails |
Example
go
package main
import (
"fmt"
"log"
"github.com/scagogogo/composer-skills/pkg/composer"
)
func main() {
comp, err := composer.New(composer.DefaultOptions())
if err != nil {
log.Fatalf("initialization failed: %v", err)
}
direct, err := comp.GetDirectDependencyNames()
if err != nil {
log.Fatalf("failed to get direct dependencies: %v", err)
}
fmt.Printf("%d direct dependencies in total:\n", len(direct))
for _, name := range direct {
fmt.Println(" -", name)
}
}Advanced
- To get all installed packages (including transitive dependencies), use GetInstalledPackageNames.
- To get a summary of direct dependencies, dev dependencies, and installed packages at once, use GetProjectDependencies.
- To read the raw
requirefield ofcomposer.json, use ReadComposerJson.