Skip to content

📝 NormalizeComposerJson

格式化 composer.json,使其符合规范的字段顺序与缩进。等价于执行 composer normalize(需安装 ergebnis/composer-normalize 插件)。

何时使用

composer.json 字段顺序混乱、缩进不一致,希望自动整理为社区规范格式时使用。常在提交前或 PR 检查中运行以保持一致性。

签名

go
func (c *Composer) NormalizeComposerJson() (string, error)

参数

该方法无参数。

返回值

返回值类型说明
第一返回值string格式化命令的输出
第二返回值error格式化失败(含插件未安装)时返回

示例

go
package main

import (
	"fmt"
	"log"
	"strings"

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

func main() {
	comp, err := composer.New(composer.DefaultOptions())
	if err != nil {
		log.Fatalf("初始化失败: %v", err)
	}

	output, err := comp.NormalizeComposerJson()
	if err != nil {
		if strings.Contains(err.Error(), "command not found") {
			fmt.Println("请先安装插件: composer global require ergebnis/composer-normalize")
			return
		}
		log.Fatalf("格式化失败: %v", err)
	}
	fmt.Println("格式化完成:", output)
}

进阶

  • 仅检查是否已规范化而不修改文件,使用 CheckNormalization()
  • 该方法依赖第三方插件,原生 Composer 不内置 normalize 子命令。
  • 格式化后再用 ValidateStrict 做一次严格校验是推荐流程。

基于 MIT 许可证发布