chore: add import formatting to make fmt/go (#21453)

Modifies `make fmt/go` to also use https://github.com/daixiang0/gci to format our imports to a standard format.

It introduces a new shell script to do the formatting so that our formatting tools are in one place.
This commit is contained in:
Spike Curtis
2026-01-08 15:36:03 +04:00
committed by GitHub
parent bddb808b25
commit 8ea9f587e8
4 changed files with 19 additions and 5 deletions
+2 -2
View File
@@ -464,7 +464,7 @@ ifdef FILE
# Format single file
if [[ -f "$(FILE)" ]] && [[ "$(FILE)" == *.go ]] && ! grep -q "DO NOT EDIT" "$(FILE)"; then \
echo "$(GREEN)==>$(RESET) $(BOLD)fmt/go$(RESET) $(FILE)"; \
go run mvdan.cc/gofumpt@v0.8.0 -w -l "$(FILE)"; \
./scripts/format_go_file.sh "$(FILE)"; \
fi
else
go mod tidy
@@ -473,7 +473,7 @@ else
# https://github.com/mvdan/gofumpt#visual-studio-code
find . $(FIND_EXCLUSIONS) -type f -name '*.go' -print0 | \
xargs -0 grep -E --null -L '^// Code generated .* DO NOT EDIT\.$$' | \
xargs -0 go run mvdan.cc/gofumpt@v0.8.0 -w -l
xargs -0 ./scripts/format_go_file.sh
endif
.PHONY: fmt/go
+1 -2
View File
@@ -10,11 +10,10 @@ package dcspec
import (
"bytes"
"encoding/json"
"errors"
)
import "encoding/json"
func UnmarshalDevContainer(data []byte) (DevContainer, error) {
var r DevContainer
err := json.Unmarshal(data, &r)
+1 -1
View File
@@ -61,7 +61,7 @@ fi
exec 3>&-
# Format the generated code.
go run mvdan.cc/gofumpt@v0.8.0 -w -l "${TMPDIR}/${DEST_FILENAME}"
"${PROJECT_ROOT}/scripts/format_go_file.sh" "${TMPDIR}/${DEST_FILENAME}"
# Add a header so that Go recognizes this as a generated file.
if grep -q -- "\[-i extension\]" < <(sed -h 2>&1); then
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# This script formats Go file(s) with our project-specific configuration.
# Usage: format_go_file <file>...
set -euo pipefail
if [[ "$#" -lt 1 ]]; then
echo "Usage: $0 <file>..."
exit 1
fi
go run mvdan.cc/gofumpt@v0.8.0 -w -l "${@}"
go run github.com/daixiang0/gci@v0.13.7 write -s standard -s default -s "Prefix(github.com/coder,cdr.dev/)" "${@}"