Napraw komponenty z myślnikami

2026-02-11

1 wiadomość14 odpowiedzi AI
utworz Pull request z poprawkami tego skryptu, a dokaldnie do poprawienia jest to ze gdy komponent ma - w nazwie pliku to psuje go, tu jest instrukcja ktora mi przekazal inny model co trzeba zrobic, ale chce zebys to naprawil u zrodla i zrobil precyzyjna poprawke, opisz wszystkie zmiany, przygotuj opisy PR itp i wyslij ten PR (komentarze i opisy rob po angielsku) - Uwaga krytyczna: dla komponent

11 lut, 15:48

Rozumiem: mam naprawić źródłowy bug z nazwami komponentów zawierającymi -, przygotować pełny commit i otworzyć PR z opisem po angielsku. Zaczynam od znalezienia kodu generatora oraz instrukcji skilla uifork, żeby wprowadzić precyzyjną poprawkę tam, gdzie powstają identyfikatory.

11 lut, 15:48

Używam teraz skilla uifork, bo problem dotyczy bezpośrednio generatora init/new i reguł nazewnictwa wersjonowanych komponentów. Zaraz zlokalizuję dokładne miejsca, gdzie nazwa pliku jest zamieniana na identyfikator TSX.

11 lut, 15:48

Znalazłem źródło problemu: generator bezpośrednio używa componentName (z nazwy pliku) jako identyfikatora JS, więc google-calendar-card-list trafia do kodu jako niepoprawna nazwa funkcji/importu. Teraz przejrzę cli.js i watch.js, żeby ujednolicić to naprawą w jednym miejscu.

11 lut, 15:49

Zauważyłem dodatkowe ścieżki tworzenia/zmiany wersji w watch.js (obsługa WebSocket), które też generują nazwy komponentów. Muszę objąć je tą samą normalizacją, żeby bug nie wracał z UI.

11 lut, 15:50

Przechodzę do edycji: dodaję wspólny helper normalizujący nazwę pliku do bezpiecznego identyfikatora PascalCase i podmieniam wszystkie miejsca generujące kod (init, new, watch, rename, promote), żeby zachowanie było spójne.

11 lut, 15:50

Koryguję teraz watch.js (w tym ścieżki WebSocket), bo tam są równoległe generatory plików i aliasów importów. To kluczowe, żeby fix działał zarówno z CLI, jak i z widgetu UIFork.

11 lut, 15:50

Sprawdzam teraz diff merytorycznie i odpalę szybki test integracyjny na tym repo (init/new/watch/promote na pliku z myślnikami), żeby potwierdzić, że generowane identyfikatory są poprawne PascalCase.

11 lut, 15:51

Weryfikacja integracyjna zatrzymała się na brakujących zależnościach (chokidar), więc najpierw doinstaluję pakiety w repo i ponowię test na przykładzie google-calendar-card-list.tsx.

11 lut, 15:51

Naprawa działa dla init/new/rename; dorzucam jeszcze test promote, żeby potwierdzić pełny cykl i brak regresji przy końcowym przepięciu wersji na główny plik.

11 lut, 15:52

Mam jedną uboczną zmianę (package-lock.json) po lokalnym npm install potrzebnym do testu. Przywracam ten plik do stanu z HEAD, żeby PR zawierał wyłącznie właściwą poprawkę generatora.

11 lut, 15:53

Zmiany są już skomitowane na osobnej gałęzi codex/...; teraz wypchnę branch i utworzę PR z angielskim tytułem/opisem oraz checklistą testów.

11 lut, 15:54

Nie mam uprawnień push do sambernhardt/uifork (HTTP 403). Przechodzę na standardowy flow: utworzę fork pod Twoim kontem przez gh, wypchnę branch tam i z niego otworzę PR do repo docelowego.

11 lut, 15:54

PR został utworzony i wysłany do repo docelowego. Na koniec zbieram jeszcze precyzyjne referencje do linii w zmienionych plikach, żebyś miał pełny changelog techniczny.

11 lut, 15:55

PR został utworzony i wysłany: https://github.com/sambernhardt/uifork/pull/4

Branch: codex/fix-hyphen-component-identifiers
Commit: 8ade579 (fix(backend): normalizacja identyfikatorów dla nazw z myślnikami)

Push do origin był zablokowany (403), więc zrobiłem standardowo push z forka wojciechkapala/uifork i PR do sambernhardt/uifork:main.

Wszystkie zmiany (u źródła problemu):

  1. Dodałem wspólny helper normalizacji nazw do poprawnych identyfikatorów PascalCase:
    `/Users/wojciechkapala/develop/uifork/packages/uifork/lib/compon

11 lut, 15:56