picatz / picatz/flowstate

deep-tier: Go modernizers (`go fix`) available — advisory, apply per package

Open
#873 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

deep-tier
Dominant language
Go
Stars
9
Forks
0
Avg merge
3h 3m
Merged PRs (30d)
509

Description

Nothing failed. This is the weekly advisory from the deep tier's modernize job (#521): what Go's go fix modernizers would change in this repository, kept visible without letting a tool commit on anyone's behalf.

Produced by workflow run: https://github.com/picatz/flowstate/actions/runs/32557148726

go fix modernizers available under ./...

324 site(s) across 119 file(s) and 25 package(s). A further 14 site(s) sit in generated files and are excluded throughout: a generated file is never hand-edited, so a modernization there can only arrive through its generator.

Fixer Sites
newexpr 148
stringsseq 48
mapsloop 34
rangeint 28
stringsbuilder 21
slicescontains 18
reflecttypefor 8
waitgroup 7
forvar 3
any 2
fmtappendf 2
minmax 2
stringscut 2
stditerators 1
Package Sites
github.com/picatz/flowstate/pkg/flowstate/v1/plugin 65
github.com/picatz/flowstate/pkg/flowstate/v1 51
github.com/picatz/flowstate/pkg/flowstate/v1_test 46
github.com/picatz/flowstate/cmd/flow 40
github.com/picatz/flowstate/pkg/flowstate/v1/flowfile 28
github.com/picatz/flowstate/pkg/flowstate/v1/flowfile/lsp 16
github.com/picatz/flowstate/pkg/flowstate/v1/engine 15
github.com/picatz/flowstate/pkg/flowstate/v1/server 12
github.com/picatz/flowstate/pkg/flowstate/v1/internal/conformance 11
github.com/picatz/flowstate/pkg/flowstate/embed 6
github.com/picatz/flowstate/pkg/flowstate/v1/auth 6
github.com/picatz/flowstate/pkg/flowstate/v1/flowtest_test 6
github.com/picatz/flowstate/tools/gate 4
github.com/picatz/flowstate/pkg/flowstate/v1/flowfile_test 3
github.com/picatz/flowstate/cmd/flow/internal/docsgen 2
github.com/picatz/flowstate/pkg/flowstate/v1/netpolicy 2
github.com/picatz/flowstate/pkg/flowstate/v1/server_test 2
github.com/picatz/flowstate/tools/fuzztargets 2
github.com/picatz/flowstate/cmd/flow/internal/taskexample 1
github.com/picatz/flowstate/cmd/flow/internal/watch 1
github.com/picatz/flowstate/pkg/flowstate/v1/authtest 1
github.com/picatz/flowstate/pkg/flowstate/v1/engine_test 1
github.com/picatz/flowstate/pkg/flowstate/v1/payloadcodec 1
github.com/picatz/flowstate/pkg/flowstate/v1/protodoc 1
github.com/picatz/flowstate/pkg/flowstate/v1/secrets 1

Per #521 these are applied opportunistically, never as a sweep: convert a
package's sites when that package is already open for another reason, so the
conversion rides in a diff a reviewer is reading closely. None of this fixes a
defect, and a mechanical diff thousands of lines long is the shape in which a
real one hides. To apply what is named above, scope go fix to the one package
you are in — go fix ./pkg/flowstate/v1/engine/ — and read the result. Note
that Go's go fix rewrites Go source; this repository's own flow fix rewrites
Flowfiles, and the two are unrelated.

Reproduce locally:

make modernize                                    # the whole module
make modernize PKGS=./pkg/flowstate/v1/engine/    # one package

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with a package already being changed for another reason, using make modernize PKGS=./pkg/flowstate/v1/engine/ or the corresponding package path listed in the issue. Review the scoped go fix diff carefully, leave generated files untouched, and consider the work done when the package’s named modernizations are applied without a broad mechanical sweep.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.