Skip to content

Regelkatalog Struktur

Die 5 Regeln, die lintStructure mitliefert. Jede Regel liegt in packages/quality/src/structure/rules/; Schweregrad ist pro Regel über die Optionen anpassbar.

Baum-Integrität

RegelStandardschweregradAuto-FixWas geprüft wird
structure.duplicate-block-iderrorZwei oder mehr Blöcke teilen sich dieselbe id. Baumtraversierung, Undo/Redo, Selection und jede ID-basierte Operation hängen von Eindeutigkeit ab — ein Duplikat beschädigt sie lautlos. Meist Zeichen für einen kaputten Import oder einen Clone-Pfad, der das Neugenerieren der IDs vergisst.
structure.nested-sectionerrorEin Section-Block sitzt in der Spalte einer anderen Sektion. Der Renderer lehnt das ab — Sektionen können nicht verschachtelt werden — und die innere Sektion fällt lautlos aus dem MJML-Output. Erwischt Importer-Bugs und Copy-Paste-Unfälle.

Section-Layout

RegelStandardschweregradAuto-FixWas geprüft wird
structure.section-column-mismatcherrorDer columns-Wert der Sektion impliziert eine Spaltenanzahl, die nicht zu children.length passt. "1" erwartet 1 inner array, "2"/"2-1"/"1-2" erwarten 2, "3" erwartet 3. Ein Mismatch heißt: entweder der Layout-Key oder das Children-Array ist falsch — beides liefert kaputten Render-Output. Die Section-Toolbar des Editors balanciert children automatisch beim Layoutwechsel; diese Regel erwischt Daten, die an der Toolbar vorbei kamen (Importe, manuelle JSON-Edits, alte Snapshots).

Inhaltspräsenz

RegelStandardschweregradAuto-FixWas geprüft wird
structure.empty-sectionwarningjaEine Sektion hat keine Spalten, oder jede Spalte ist leer. Rendert in den meisten Clients als leere Tabellenzeile — verschwendeter Whitespace und gelegentlich eine sichtbare Padding-Lücke. Auto-Fix entfernt die Sektion.
structure.empty-columnwarningEine Mehrspalten-Sektion hat mindestens eine Spalte ohne Blöcke. Rendert unglücklich (ungleichmäßige Lücken, kollabierte Spalten auf Mobilgeräten) und bedeutet fast immer, dass der Autor weniger Spalten meinte. Kein Auto-Fix, weil die richtige Antwort (in Nachbar-Spalte zusammenführen vs. Sektion entfernen vs. columns-Layout ändern) von der Intention abhängt.