mvvmlint
mvvmlint: el estado pasa por el view-model
go-widgets/mvvmlint solo actúa en
los paquetes que importan el toolkit.
- Un campo de estado de un widget asignado a mano.
entry.Text = "x", donde el tipo estático deentryes un widget del toolkit yTextes un campo de estado, se señala.&entry.Text—lo que reciben los binders— no es una asignación y nunca se señala; tampoco un literal compuesto (toolkit.Entry{Text: "x"}), ni la composición de un callback comoOnChange. - Widgets y ningún view-model. Un paquete que importa el toolkit pero no
go-widgets/mvvmrecibe un diagnóstico.-requirevm=falselo desactiva para una biblioteca de widgets que, con razón, no tiene view-model.
Los campos de estado son los de los widgets del toolkit (Text, Items,
Rows, Root, Selected, Value, Checked, …); -statefields= sustituye la
lista. Un archivo llamado *_binding.go, o que contenga //mvvmlint:allow,
queda exento de la primera regla.
go install github.com/go-widgets/mvvmlint/cmd/mvvmlint@latest
go vet -vettool="$(go env GOPATH)/bin/mvvmlint" ./...# .github/workflows/mvvm.yml
name: mvvm
on:
pull_request:
push:
branches: [main]
jobs:
mvvm:
uses: go-widgets/mvvmlint/.github/workflows/mvvmlint.yml@mainapp-template incluye este trabajo de serie.
Creada el por tannevaled
Modificada el por tannevaled