Skip to content

🧪 GetPackageDevVersions

Fetches a package's development branch version info (raw JSON bytes), such as dev-master, dev-main.

When to use

🧪 When you need to test branch versions or track unreleased features; 🛠️ when building a self-hosted mirror that must provide dev version metadata equivalent to Composer's ~dev.

Signature

go
func (c *ComposerClient) GetPackageDevVersions(packageName string) ([]byte, error)

Parameters

ParameterTypeDescription
packageNamestringPackage name, e.g. symfony/console

Return value

ValueTypeDescription
Data[]byteRaw JSON bytes of the dev version metadata
ErrorerrorReturned on HTTP failure or non-200 status

Corresponding endpoint: GET https://repo.packagist.org/p2/{name}~dev.json (uses repoURL).

Example

go
package main

import (
	"fmt"
	"log"
	"time"

	"github.com/scagogogo/composer-skills/pkg/client"
)

func main() {
	c := client.NewComposerClient(30 * time.Second)

	data, err := c.GetPackageDevVersions("symfony/console")
	if err != nil {
		log.Fatal(err)
	}
	// Includes branch versions such as dev-master / dev-main
	fmt.Println(string(data))
}

Advanced

URL convention

Packagist appends ~dev to the package name to request development branch versions; the SDK automatically builds {repoURL}/p2/{name}~dev.json.

Released under the MIT License