diff --git a/command/check.go b/command/check.go index e41f1aa81b..40753f2029 100644 --- a/command/check.go +++ b/command/check.go @@ -62,7 +62,7 @@ func (c *CheckCommand) Run(ctx context.Context, originalArgs []string) error { fsys := os.DirFS(".") - files, err := loadYAMLFiles(fsys, args) + files, err := loadYAMLFiles(fsys, args, false) if err != nil { return err } diff --git a/command/command.go b/command/command.go index 6c564ad2f1..8808e9ec9d 100644 --- a/command/command.go +++ b/command/command.go @@ -123,7 +123,7 @@ func (r loadResults) nodes() []*yaml.Node { return n } -func loadYAMLFiles(fsys fs.FS, paths []string) (loadResults, error) { +func loadYAMLFiles(fsys fs.FS, paths []string, format bool) (loadResults, error) { r := make(loadResults, 0, len(paths)) for _, pth := range paths { @@ -137,12 +137,19 @@ func loadYAMLFiles(fsys fs.FS, paths []string) (loadResults, error) { if err := yaml.Unmarshal(contents, &node); err != nil { return nil, fmt.Errorf("failed to parse yaml for %s: %w", pth, err) } - - r = append(r, &loadResult{ + lr := &loadResult{ path: pth, node: &node, contents: contents, - }) + } + + if format { + if err := FixIndentation(lr); err != nil { + return nil, fmt.Errorf("failed to format indentation: %w", err) + } + } + + r = append(r, lr) } return r, nil diff --git a/command/pin.go b/command/pin.go index f6197cc2dc..de9b97cc84 100644 --- a/command/pin.go +++ b/command/pin.go @@ -80,7 +80,7 @@ func (c *PinCommand) Run(ctx context.Context, originalArgs []string) error { fsys := os.DirFS(".") - files, err := loadYAMLFiles(fsys, args) + files, err := loadYAMLFiles(fsys, args, true) if err != nil { return err } @@ -89,10 +89,6 @@ func (c *PinCommand) Run(ctx context.Context, originalArgs []string) error { return fmt.Errorf("-out must be a directory when pinning multiple files") } - for _, f := range files { - FixIndentation(f) - } - if err := parser.Pin(ctx, res, par, files.nodes(), c.flagConcurrency); err != nil { return fmt.Errorf("failed to pin refs: %w", err) } diff --git a/command/unpin.go b/command/unpin.go index d307ec4044..b007dfd3ee 100644 --- a/command/unpin.go +++ b/command/unpin.go @@ -64,7 +64,7 @@ func (c *UnpinCommand) Run(ctx context.Context, originalArgs []string) error { fsys := os.DirFS(".") - files, err := loadYAMLFiles(fsys, args) + files, err := loadYAMLFiles(fsys, args, true) if err != nil { return err } @@ -73,10 +73,6 @@ func (c *UnpinCommand) Run(ctx context.Context, originalArgs []string) error { return fmt.Errorf("-out must be a directory when pinning multiple files") } - for _, f := range files { - FixIndentation(f) - } - if err := parser.Unpin(ctx, files.nodes()); err != nil { return fmt.Errorf("failed to pin refs: %w", err) } diff --git a/command/update.go b/command/update.go index 9af7a1f166..e9f3a9060d 100644 --- a/command/update.go +++ b/command/update.go @@ -69,7 +69,7 @@ func (c *UpdateCommand) Run(ctx context.Context, originalArgs []string) error { fsys := os.DirFS(".") - files, err := loadYAMLFiles(fsys, args) + files, err := loadYAMLFiles(fsys, args, true) if err != nil { return err } @@ -78,10 +78,6 @@ func (c *UpdateCommand) Run(ctx context.Context, originalArgs []string) error { return fmt.Errorf("-out must be a directory when pinning multiple files") } - for _, f := range files { - FixIndentation(f) - } - if err := parser.Unpin(ctx, files.nodes()); err != nil { return fmt.Errorf("failed to pin refs: %w", err) } diff --git a/command/upgrade.go b/command/upgrade.go index d0fba86d4a..edf308d6a0 100644 --- a/command/upgrade.go +++ b/command/upgrade.go @@ -77,7 +77,7 @@ func (c *UpgradeCommand) Run(ctx context.Context, originalArgs []string) error { fsys := os.DirFS(".") - files, err := loadYAMLFiles(fsys, args) + files, err := loadYAMLFiles(fsys, args, true) if err != nil { return err } @@ -86,10 +86,6 @@ func (c *UpgradeCommand) Run(ctx context.Context, originalArgs []string) error { return fmt.Errorf("-out must be a directory when upgrading multiple files") } - for _, f := range files { - FixIndentation(f) - } - if err := parser.Unpin(ctx, files.nodes()); err != nil { return fmt.Errorf("failed to unpin refs: %w", err) }