Documentation
¶
Index ¶
- func DetectFrameworkVersion(dir string, composerPackageName string, extraSections ...string) string
- func DetectFrameworkVersionWithKey(dir string, composerPackageName string, versionKey string, ...) string
- func DetectFrameworkWithStore(dir string) (string, bool)
- func DetectVersionFromFile(dir, relPath, pattern string) string
- func ResolveVersion(dir string, rules []config.FrameworkRule, available []string, fallback string) string
- type Client
- type Index
- type IndexEntry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DetectFrameworkVersion ¶
DetectFrameworkVersion reads composer.json in dir and returns the major version of the given composer package. It searches require, require-dev, and any extra sections specified. If the constraint is unparseable (e.g. "*"), it falls back to the versionKey dot-path in composer.json.
func DetectFrameworkVersionWithKey ¶ added in v1.11.0
func DetectFrameworkVersionWithKey(dir string, composerPackageName string, versionKey string, extraSections ...string) string
DetectFrameworkVersionWithKey is like DetectFrameworkVersion but also accepts a versionKey (dot-path into composer.json) as a fallback when the constraint is "*".
func DetectFrameworkWithStore ¶
DetectFrameworkWithStore wraps config.DetectFramework with a store fallback. When no local framework matches and stdin is a terminal, it checks the store index and prompts the user to install a matching definition. Returns the framework name and true if resolved, ("", false) otherwise.
func DetectVersionFromFile ¶ added in v1.11.0
DetectVersionFromFile reads a file and extracts the major version using a regex pattern.
func ResolveVersion ¶ added in v1.11.0
func ResolveVersion(dir string, rules []config.FrameworkRule, available []string, fallback string) string
ResolveVersion detects the framework version from detect rules, checking composer.json constraints and version_file regex matches. Returns the first version that matches one of the available versions, or fallback if none match.
Types ¶
type Client ¶
type Client struct {
BaseURL string
}
Client fetches framework definitions from the remote store.
func (*Client) DetectFromStore ¶
func (c *Client) DetectFromStore(dir string) (*IndexEntry, string, bool)
DetectFromStore checks the store index for a framework matching the given project directory. Returns the matching entry, the resolved version, and true if found. The version is auto-detected from composer.lock when possible.
func (*Client) FetchFramework ¶
FetchFramework downloads a framework definition from the store. Always fetches from remote to ensure definitions are up to date.
func (*Client) FetchIndex ¶
FetchIndex downloads the store index.
type Index ¶
type Index struct {
Frameworks []IndexEntry `json:"frameworks"`
}
Index is the top-level store index listing all available frameworks.
type IndexEntry ¶
type IndexEntry struct {
Name string `json:"name"`
Label string `json:"label"`
Versions []string `json:"versions"`
Latest string `json:"latest"`
Detect []config.FrameworkRule `json:"detect"`
}
IndexEntry describes a single framework available in the store.