mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-29 12:31:11 +00:00
The rules block joined entries with a $first-flag comma the same way defaultQuery and defaultModel do, but on its own line rather than all on one -- so the comma for every entry but the first sat at the start of its line instead of the end of the one before it. @stylistic/comma-style requires the opposite, and pnpm lint fails on any table with two or more required insert fields (one comma is enough to trip it; a table with 0-1 required fields never renders a second entry to get it wrong). Reproduced first: rendering a four-required-field fixture reported three comma-style errors, matching what integration testing found on qa010_widget and qa010_natural. Fixed by moving the separator so it trails the previous entry instead of leading the next one: the else branch now emits ",\n " -- comma, then the newline and indent -- rather than "\n , ", so the comma lands on the line that already has content instead of opening a fresh one. Also fixed while reproducing, found by the same fixture: dictLabel was imported whenever any column had a DictType, but it is only called from the list column's dictionary branch. A table using a dictionary solely in its insert form (no such column in the list) imported dictLabel and never called it, tripping no-unused-vars. $hasDict now only gates useDict; a new $hasDictList gates dictLabel specifically. Verified against three fixtures via a throwaway go-admin-ui worktree (deleted afterwards) with hand-written API-module stubs standing in for F5: the regression fixture (four required fields, confirmed red before the fix, green after), and the two fixtures from the original F4 verification round (full branch coverage, and the all-flags-off edge case), all of which stayed green. pnpm type-check and pnpm lint both ran clean with zero errors, on Node 24.11.0 (this machine's default node is 20.19.0; the project's engines field wants >=22).