Przy review zauważyłem, że komponent `responsive-image` musi skądś wiedzieć, dokąd ma zapisywać przeskalowane zdjęcia. Myślę, że komponenty najłatwiej będzie pisało się, jeżeli nie będą musiały się przejmować tym, dokąd pisać pliki, w jaki sposób, czy takie pliki już istnieją, itp.
Dlatego proponuję, aby każdy komponent dostawał zawsze dokładnie dwa argumenty:
1. `sealpage` - obiekt, który opiszę poniżej
2. `props` - tradycyjne propsy danego komponentu
`sealpage` (może się nazywać inaczej, pozostawiam dowolność) jest obiektem, który będzie używany m.in. do pobierania konfiguracji aktualnego builda oraz zgłaszania wszelkich skutków ubocznych. Powinien zawierać metodę `addOutputFile()`, która przyjmuje argumenty:
* `relative_path` - ścieżka docelowa katalogu dla pliku. relatywna, względem docelowego katalogu outputu
* `base_name` - bazowa nazwa pliku,
* `generator` - funkcja asyncowa, która resolvuje się do `Buffer` zawierającego zawartość pliku do zapisania
* `deps` - lista zmiennych, które wpływają na to, jaka jest zawartość wyjściowego pliku. Podobnie do `deps` w Reactowych hookach, jeżeli przy ponownym renderze zostanie wywołany ten sam plik z takimi samymi wartościami w `deps`, to plik pozostaje bez zmian i go nie generujemy i nie zapisujemy ponownie. Jeżeli deps nie jest podane, to plik za każdym razem się generuje i zapisuje ponownie
Następnie trzeba przerobić ResponsiveImage tak, aby korzystał z tego nowego api