Skip to content

🧩 ListPackagesByType

获取指定类型(type)的所有包名,如 composer-pluginlibrary

何时使用

🧩 列出所有 composer-plugin 类型包做插件发现;🏗️ 按类型统计生态构成;🔍 在专用工具(如只看 project 模板)里过滤候选包。

签名

go
func (c *ComposerClient) ListPackagesByType(packageType string) (*domain.PackageListResponse, error)

参数

参数类型说明
packageTypestring包类型,如 librarycomposer-pluginproject

返回值

类型说明
结果*domain.PackageListResponsePackageNames 为该类型的包名列表
错误errorHTTP 失败、非 200、JSON 解析失败时返回

对应端点:GET https://packagist.org/packages/list.json?type={type}。SDK 会自动对 packageType 做 URL 编码。

示例

go
package main

import (
	"fmt"
	"log"
	"time"

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

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

	resp, err := c.ListPackagesByType("composer-plugin")
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("composer-plugin 类型包数: %d\n", len(resp.PackageNames))
	for _, name := range resp.PackageNames[:5] {
		fmt.Println("  -", name)
	}
}

进阶

基于 MIT 许可证发布