Strona główna / Artykuły / DenoX CLI: Tworzenie szkieletów projektów i funkcji bez utraty kontroli

DenoX CLI: Tworzenie szkieletów projektów i funkcji bez utraty kontroli

Zainstaluj DenoX CLI, twórz szkielety aplikacji, generuj funkcje w stylu MVC za pomocą OpenAPI, bezpiecznie usuwaj moduły oraz aktualizuj pliki należące do frameworka, nie dotykając kodu aplikacji.

752 słów

Jednym z głównych celów DenoX jest zmniejszenie ilości powtarzalnej pracy rozwojowej, nie odbierając przy tym kontroli inżynierom. Framework dostarcza własny interfejs wiersza poleceń jako pojedynczy plik TypeScript, który może tworzyć projekty, generować pełne funkcjonalności, bezpiecznie usuwać moduły oraz aktualizować sam framework.

W odróżnieniu od wielu nowoczesnych interfejsów wiersza poleceń, które wykorzystują dziesiątki pakietów, interfejs DenoX opiera się wyłącznie na wbudowanych możliwościach Deno.

Instalacja

Zainstaluj za pomocą jednego polecenia:

deno install -grA -n denox https://raw.githubusercontent.com/olavomello/denox/main/cli/main.ts

Lub uruchom go bez instalacji:

deno run -A https://raw.githubusercontent.com/olavomello/denox/main/cli/main.ts new my-shop

Interfejs wiersza poleceń to samodzielny plik: nie ma zewnętrznych zależności ani importów z samego frameworku.

Tworzenie projektu

Stworzenie nowego aplikacji to tylko jedno polecenie:

denox new my-shop

Scaffolding robi więcej niż tylko zapisuje szablon na dysku. Pobiera oficjalny starter, usuwa historię Git tego startera, tworzy czysty repozytorium, ustawia pole wersji z powrotem na 0.1.0, usuwa log zmian, przepisuje plik README pod nową nazwę oraz odpowiednio modyfikuje plik denox.config.ts.

W rezultacie otrzymujemy gotowe środowisko do rozwoju, które już samo przechodzi testy deno task ci projektu, bez konieczności ręcznego czyszczenia.

Działają również niestandardowe szablony:

denox new my-app --template=<repository>

Tworzenie kompletnego modułu

Największą zaletą interfejsu wiersza poleceń jest możliwość stworzenia całego modułu MVC za pomocą jednego polecenia.

denox g feature reviews

Zamiast pustych miejsc zastępczych, narzędzie generuje kompletną część API w formacie MVC: model i DTO, interfejs repozytorium wraz z implementacjami w pamięci i Deno KV, usługę, kontroler, ścieżki, opis OpenAPI umieszczony obok kodu oraz szkielet testu integracyjnego.

src/api/main.ts odbywa się automatycznie, dzięki czemu funkcjonalność jest dostępna bez konieczności ręcznego łączenia elementów.

OpenAPI wbudowane

Każda wygenerowana funkcjonalność posiada własny opis OpenAPI.

Konsekwencje:

  • Dokumentacja znajduje się obok implementacji
  • Testy parzystości ścieżek nadal przepuszczają testy
  • Podczas uruchamiania:
deno task insomnia

automatycznie regeneruje kolekcję Insomnia.

Nie ma konieczności ręcznego utrzymywania oddzielnej dokumentacji API.

Bezpieczna generacja kodu

CLI zachowuje ostrożność podczas modyfikowania istniejącego kodu.

Gdy brakuje lub został zmieniony znacznik // denox:features, narzędzie odmawia ustalenia punktu wstawienia.

Mimo to tworzy nowe pliki z funkcjami, wyświetla dokładne linie, które należy wkleić ręcznie, i nie dotyka żadnego istniejącego pliku źródłowego.

Błędne nazwy lub duplikatowe identyfikatory funkcji powodują przerwanie działania polecenia przed zmianą struktury projektu.

Usuwanie funkcji

Operacja odwrotna jest równie ważna jak jej tworzenie.

denox rm feature reviews

Usuwanie ma na celu uniknięcie uszkodzonych projektów.

CLI najpierw usuwa wszystkie odniesienia do danej funkcji w routerach.

Tylko po całkowitym odłączeniu aplikacji usuwane są pliki.

Nawet jeśli proces zostanie przerwany w połowie, projekt nie pozostaje z odnośnikami do brakujących plików.

Gdy praca zostanie zakończona, src/api/main.ts będzie odpowiadał stanowi przed generowaniem: nie będą istnieć samotne odnośniki ani zbędne puste linie.

Zobacz wstępny przegląd za pomocą:

denox rm feature reviews --dry-run

Bazyowe moduły pozostają zamknięte. Próby usunięcia wbudowanych elementów — takich jak autoryzacja, użytkownicy, produkty, płatności, informacje zdrowotne i dane kontaktowe — są odrzucane.

Wgrzewanie aktualizacji frameworka

Utrzymuj projekty na bieżąco za pomocą:

denox upgrade

Aktualizacje nie zastępują całego drzewa struktur. Zmieniają się jedynie ścieżki należące do frameworka.

Ścieżki te są wyraźnie wymienione w pliku .denox-core.json.

Wszystko poza tym plikiem pozostaje nietknięte, w tym:

  • Generowane funkcje
  • Konfiguracja projektu
  • Pliki środowiskowe
  • Kod specyficzny dla aplikacji

Dodatkowe tryby aktualizacji:

denox upgrade --dry-run
denox upgrade --interactive
denox upgrade --ref=v1.2.0

Przed wgraniem aktualizacji interfejs CLI sprawdza, czy drzewo robocze Git jest czyste. Niezapisane zmiany powodują przerwanie operacji, chyba że zostanie to wymuszone, co zmniejsza ryzyko przypadkowej utraty danych.

Generowanie stron

CLI obsługuje również routowanie oparte na plikach w ramach tego frameworka.

denox g page docs/faq

lub

denox g page items/[id]

Po utworzeniu strony tabela routingu jest automatycznie regenerowana.

Filozofia stojąca za DenoX CLI

CLI odzwierciedla zasady frameworka: preferencja dla konwencji nad konfiguracją bez rezygnacji z kontroli.

Te zasady objawiają się w konkretnych regułach: istniejące pliki pozostają nietknięte, ręcznie edytowane źródła nie są przepisywane, polecenia niszczące oferują opcję --dry-run, moduły należące do frameworka nie mogą być przypadkowo usuwane, OpenAPI pozostaje powiązany z trasami, a pliki frameworka są oddzielone od kodu aplikacji.

Wszystko to sprawia, że powstaje mały, przewidywalny CLI: mniej kodu szablonowego i pełna przejrzystość co do dokonanych zmian.

Pozycje pokrewne