Bom artigo, gostei bastante da parte do jsDoc. Em relação ao Atomic, eu meio que já uso essa ideia de hiper componetização, mas seilá. Eu gosto de deixar os componentes relacionados todos na mesma pasta. Em vez de criar uma pasta pros atomos, uma para as moleculas, eu crio a pasta do input, e la coloco o input cru, o wrapper com as validações e labels, e asim vai.
2
1
Eu acho legal esse formato de cascata também, mas eu particularmente acho que os componentes ficam muitos mais "compartilhados" no atomic design.
Por exemplo, se eu tenho um componente de <p>${conteúdo}</p>
, ao invés de ficar a seguinte estrutura para um componente "pai":
pai1/p
pai2/p
eu tenho:
atoms/p (passando via attr/props a variante desejada)
organims/pai1 import atoms/p:varianteAmarela
organims/pai2 import atoms/p:varianteVermelha
Não sei se ficou fácil de entender, mas eu vou estruturando a formatação e variantes nos atomos que vão sendo importados nos componentes pai.
Pra mim pelo menos, embora seja um pouco mais complicado na visão macro, quando aplicado corretamente fica extremamente simples de entender.