Pro autory kitu

Co platí pro toho, kdo kit mění: tvar API, jak primitivum přibývá a odchází, a co drží systém pohromadě.

Jak se přidává nové primitivum

Primitivum bez stránky neexistuje a stránka bez primitiva je lež. Přidat komponentu a přidat její stránku je JEDNA změna, ne dvě — kontrola repozitáře odmítne obojí zvlášť.

  1. Komponenta v kitu, exportovaná z jeho rozcestníku. Texty přicházejí zvenčí; kit nepřekládá ani slovo.
  2. Ukázka jako samostatný modul. Stránka ho importuje dvakrát — jednou jako kód, který se vykreslí, a jednou jako text výpisu. Výpis se tak nemůže rozejít s tím, co ukázka dělá, protože je to jeden soubor přečtený dvakrát.
  3. Stránka se stavem, verzí, značkou, tokeny, shrnutím, kdy použít a kdy ne, a vlastnostmi. Prázdné pole projde typovou kontrolou; prázdnou sekci odchytí test.
  4. Zápis v registru na abecedním místě podle jména, které stránka ukazuje — bez předpony.
  5. Test, který komponentu jmenuje. Chybějící soubor s testem je přesně to, čeho si v revizi nikdo nevšimne.

A verze. Změna komponenty bez posunu verze na její stránce neprojde: na těch verzích stojí vydávání, takže verze, která se nehne, je vydání, které nikdy nevyjde.

Pravidla API komponent

Komponenta kitu se pozná podle toho, co dovolí a co ne. Tahle čtyři pravidla platí pro každou z nich, takže se nemusíš u každé znovu ptát.

  • className je rozvržení, nikdy vzhled. Šířka, mezery, umístění v mřížce — nic, co mění barvu, rádius, řez písma nebo vnitřní odsazení. Komponenta, jejímž smyslem je vypadat všude stejně, ho nebere vůbec; každá stránka komponenty to říká nad tabulkou vlastností.
  • Co má cíl v DOM, bere ref. Zaostřit pole, odrolovat řádek do výřezu, nastavitindeterminate — všechno přes API. Sáhnout dovnitř přes querySelector znamená přivázat obrazovku k vnitřku komponenty, který se smí přejmenovat.
  • Popisek, který potřebuje odečítač, je povinná vlastnost — ne nepovinná s výchozí hodnotou. Nepovinný popisek je popisek, na který se zapomene, a na obrazovce tu díru nikdo neuvidí.
  • Každý viditelný text přichází přeložený od volajícího. Pár popisků, které kit říká sám, bydlí ve slovníku IngotProvider a bez něj jsou anglicky.

Jak komponenta odchází a jak dospívá

Kit se instaluje z tagu, takže volající nesedí v tomhle repozitáři. Odebrat komponentu bez ohlášení proto znamená, že někomu v pondělí ráno přestane jít build a nemá si co přečíst. Odchod má tři kroky a růst má dvě podmínky.

  1. Stránka dostane stav zastaralé a s ním datum odstranění a náhradu. Odznak zčervená a stránka začíná upozorněním — před ukázkou, ne za ní.
  2. Komponenta dál funguje beze změny nejméně dvě vydání. Zastarání, které věc odstraní v příští verzi, je odstranění s mezikrokem.
  3. Zmizí ve verzi, kterou stránka jmenovala — nikdy dřív. Je to minor, ne patch: pro volajícího je to stejně tvrdá změna jako přejmenovaný prop.

Z bety na stabilní se komponenta dostane na důkazy, ne stářím: musí ji používat dva konzumenti (doc web se nepočítá, ten ukazuje všechno) a dvě vydání za sebou nesmí dostat major. Označit něco za stabilní, protože to vypadá hotově, je nejrychlejší cesta k systému, který si nesmí opravit vlastní chyby.

Podle toho kritéria je dnes 36 z 55 primitiv v betě a zůstávají tam: kit zatím nemá dva konzumenty mimo tenhle repozitář. Až je bude mít, projde se seznam znovu — a bude z čeho rozhodovat.

Údržba

  • Nová komponenta vzniká v systému, ne v obrazovce — dostane název, pravidlo použití a stránku v téhle dokumentaci, a teprve pak se použije. Komponenta poskládaná uvnitř jedné obrazovky je ostrůvek: příště ji nikdo nenajde a napíše si vlastní.
  • Vlastní barva, mezera nebo rádius v obrazovce znamená chybějící token. Řeší se v systému, ne v obrazovce — jinak ta hodnota zůstane jediná svého druhu a nikdo ji při další změně palety nenajde.
  • Změna tokenu je změna produktu: prochází stejným review jako změna kódu. Projeví se všude naráz, takže se nedá vrátit jednou obrazovkou.