📝 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 做一次严格校验是推荐流程。