diff --git a/cmd/sponsor-panel/handlers.go b/cmd/sponsor-panel/handlers.go index e6dd4144..9f62e667 100644 --- a/cmd/sponsor-panel/handlers.go +++ b/cmd/sponsor-panel/handlers.go @@ -253,8 +253,8 @@ func (s *Server) logoHandler(w http.ResponseWriter, r *http.Request) { }()) issue := &github.IssueRequest{ - Title: github.Ptr(issueTitle), - Body: github.Ptr(issueBody), + Title: new(issueTitle), + Body: new(issueBody), Labels: &[]string{"logo-submission", "needs-review"}, } diff --git a/cmd/sponsor-panel/internal/thoth/thoth.go b/cmd/sponsor-panel/internal/thoth/thoth.go index 6fd41a96..12c9a747 100644 --- a/cmd/sponsor-panel/internal/thoth/thoth.go +++ b/cmd/sponsor-panel/internal/thoth/thoth.go @@ -90,8 +90,8 @@ func authUnaryClientInterceptor(token string) grpc.UnaryClientInterceptor { return func( ctx context.Context, method string, - req interface{}, - reply interface{}, + req any, + reply any, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption, diff --git a/cmd/sponsor-panel/main.go b/cmd/sponsor-panel/main.go index 442b7307..c0f6d681 100644 --- a/cmd/sponsor-panel/main.go +++ b/cmd/sponsor-panel/main.go @@ -221,7 +221,7 @@ func main() { fiftyPlusMap := make(map[string]bool) if *fiftyPlusSpons != "" { slog.Debug("main: parsing fifty-plus sponsors", "list", *fiftyPlusSpons) - for _, sponsor := range strings.Split(*fiftyPlusSpons, ",") { + for sponsor := range strings.SplitSeq(*fiftyPlusSpons, ",") { sponsor = strings.TrimSpace(sponsor) if sponsor != "" { fiftyPlusMap[sponsor] = true @@ -234,7 +234,7 @@ func main() { patreonFiftyPlusMap := make(map[string]bool) if *patreonFiftyPlus != "" { slog.Debug("main: parsing patreon fifty-plus sponsors", "list", *patreonFiftyPlus) - for _, sponsor := range strings.Split(*patreonFiftyPlus, ",") { + for sponsor := range strings.SplitSeq(*patreonFiftyPlus, ",") { sponsor = strings.TrimSpace(sponsor) if sponsor != "" { patreonFiftyPlusMap[sponsor] = true diff --git a/cmd/sponsor-panel/models.go b/cmd/sponsor-panel/models.go index adaa5a19..7161499d 100644 --- a/cmd/sponsor-panel/models.go +++ b/cmd/sponsor-panel/models.go @@ -79,8 +79,8 @@ type SponsorUsername struct { func (SponsorUsername) TableName() string { return "github_sponsor_usernames" } // PanelModels returns all sponsor-panel models for AutoMigrate. -func PanelModels() []interface{} { - return []interface{}{ +func PanelModels() []any { + return []any{ &PanelUser{}, &LogoSubmission{}, &SponsorUsername{}, diff --git a/cmd/xesitectl/commands/test-webhook.go b/cmd/xesitectl/commands/test-webhook.go index efb02ff9..65bd3fd1 100644 --- a/cmd/xesitectl/commands/test-webhook.go +++ b/cmd/xesitectl/commands/test-webhook.go @@ -106,7 +106,7 @@ func (cmd *TestWebhookCmd) SetFlags(f *flag.FlagSet) { } // Execute runs the command -func (cmd *TestWebhookCmd) Execute(ctx context.Context, f *flag.FlagSet, _ ...interface{}) subcommands.ExitStatus { +func (cmd *TestWebhookCmd) Execute(ctx context.Context, f *flag.FlagSet, _ ...any) subcommands.ExitStatus { if f.NArg() != 0 { fmt.Fprintf(os.Stderr, "Unexpected arguments: %v\n", f.Args()) return subcommands.ExitUsageError diff --git a/internal/accept_encoding.go b/internal/accept_encoding.go index 395cf24e..f0f1d00f 100644 --- a/internal/accept_encoding.go +++ b/internal/accept_encoding.go @@ -3,6 +3,7 @@ package internal import ( "expvar" "net/http" + "slices" "strconv" "strings" @@ -30,12 +31,7 @@ func init() { } func inValidEncodings(enc string) bool { - for _, validEnc := range validEncodings { - if enc == validEnc { - return true - } - } - return false + return slices.Contains(validEncodings, enc) } func AcceptEncodingMiddleware(next http.Handler) http.Handler { @@ -59,8 +55,8 @@ type EncodingQ struct { func ParseAcceptEncoding(acptEnc string) []EncodingQ { var eqs []EncodingQ - encQStrs := strings.Split(acptEnc, ",") - for _, encQStr := range encQStrs { + encQStrs := strings.SplitSeq(acptEnc, ",") + for encQStr := range encQStrs { trimedEncQStr := strings.Trim(encQStr, " ") encQ := strings.Split(trimedEncQStr, ";") @@ -88,8 +84,8 @@ type LangQ struct { func ParseAcceptLanguage(acptLang string) []LangQ { var lqs []LangQ - langQStrs := strings.Split(acptLang, ",") - for _, langQStr := range langQStrs { + langQStrs := strings.SplitSeq(acptLang, ",") + for langQStr := range langQStrs { trimedLangQStr := strings.Trim(langQStr, " ") langQ := strings.Split(trimedLangQStr, ";") diff --git a/internal/config/config.go b/internal/config/config.go index c5e817f4..3c3dade6 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -102,12 +102,12 @@ type Stock struct { } type Job struct { - Company Company `json:"company,omitempty" dhall:"company,omitempty"` + Company Company `json:"company" dhall:"company,omitempty"` Contract bool `json:"contract" dhall:"contract"` HideFromResume bool `json:"hideFromResume" dhall:"hideFromResume"` Highlights []string `json:"highlights" dhall:"highlights"` Locations []Location `json:"locations" dhall:"locations"` - Salary Salary `json:"salary,omitempty" dhall:"salary,omitempty"` + Salary Salary `json:"salary" dhall:"salary,omitempty"` StartDate string `json:"startDate" dhall:"startDate"` Title string `json:"title" dhall:"title"` DaysWorked int `json:"daysWorked,omitempty" dhall:"daysWorked,omitempty"` diff --git a/internal/github/sponsors.go b/internal/github/sponsors.go index 162fc7cf..059079a6 100644 --- a/internal/github/sponsors.go +++ b/internal/github/sponsors.go @@ -55,8 +55,8 @@ type SponsorsEvent struct { Action string `json:"action"` Sponsorship Sponsorship `json:"sponsorship"` Sender User `json:"sender"` - Repository Repository `json:"repository,omitempty"` - Organization User `json:"organization,omitempty"` + Repository Repository `json:"repository"` + Organization User `json:"organization"` } // GithubSponsorsWebhookEventTypes contains the possible GitHub Sponsors webhook event types. diff --git a/internal/lume/lume_test.go b/internal/lume/lume_test.go index 49cd3096..dc0b24cd 100644 --- a/internal/lume/lume_test.go +++ b/internal/lume/lume_test.go @@ -1,14 +1,12 @@ package lume import ( - "context" "os" "testing" ) func TestCanBuildSite(t *testing.T) { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() + ctx := t.Context() dir, err := os.MkdirTemp("", "xesite") if err != nil { diff --git a/internal/lume/zip.go b/internal/lume/zip.go index 90513fc5..1a95fbcf 100644 --- a/internal/lume/zip.go +++ b/internal/lume/zip.go @@ -9,6 +9,7 @@ import ( "net/http" "os" "path/filepath" + "slices" "strings" "sync" @@ -110,21 +111,17 @@ func isCompressible(fname string) (bool, error) { ext := filepath.Ext(fname) // Loop through the non-compressible extensions and compare with the file extension - for _, n := range nonCompressibleExt { - if ext == n { - // The file is not compressible by its name - return false, nil - } + if slices.Contains(nonCompressibleExt, ext) { + // The file is not compressible by its name + return false, nil } compressibleExt := []string{".js", ".json", ".txt", ".dot", ".css", ".pdf", ".svg"} // Loop through the compressible extensions and compare with the file extension - for _, n := range compressibleExt { - if ext == n { - // The file is compressible by its name - return true, nil - } + if slices.Contains(compressibleExt, ext) { + // The file is compressible by its name + return true, nil } // A list of common mime types that are not compressible