Lintuj i formatuj
Uwagi z code review, które pisze za Ciebie linter
Recenzenci wciąż wytykają brakujące opisy, ciągi znaków bez limitu długości i niespójne nazwy. Zapisz te sprawdzenia w zestawie reguł, a linter wychwyci je przed code review.
- Review o API, nie o YAML-uBrakujące opisy, ciągi znaków bez limitu długości i niespójne nazwy są wychwytywane, zanim zobaczy je recenzent, a formater kończy spory o wcięcia i kolejność kluczy.
- Twoje reguły Spectral przechodzą dalejFirmowe reguły napisane dla Spectral w większości działają bez zmian: wbudowane funkcje są zaimplementowane, a większość własnych funkcji działa w CLI tak jak dotąd. Aliasy i wyrażenia skryptowe nie, a edytor nie uruchamia własnych funkcji.
- Poprawki, nie tylko znaleziska
apigenie lint --fixnaprawia problemy, które mają bezpieczną poprawkę, i zachowuje komentarze w Twoich plikach.
Co linter mówi o pliku
Każdy problem wskazuje swoją linię, wagę i regułę: tu parametr nazwany wbrew konwencji, operacja bez opisu i ciąg znaków bez limitu długości. Polecenie kończy się kodem 1, gdy znajdzie błędy, a format --check, gdy plik nie jest sformatowany.
$ apigenie lint orders.yaml
12:5 warning Tag 'orders' has no meaningful description defined tag-description-defined
17:9 warning Parameter should be named order_id parameter-naming
25:7 error Operation has no meaningful description operation-description-defined
62:11 warning String schema does not define constraints restricting its length schema-constraints
4 issues (1 errors, 3 warnings)
$ apigenie format --check orders.yamlCo obejmuje
- Pięć linterówReguły i zestawy reguł dla OpenAPI, AsyncAPI, Swagger 2.0, GraphQL i Protobuf.
- Własne regułyZestawy
recommendedistrict, wagi zmieniane wapigenie.yamloraz własne reguły w postaci given, then i JSONPath ze Spectral. - Raporty dla CISARIF do skanowania kodu, JUnit, checkstyle, TAP, JSON i HTML.
- Formater, który zachowuje znaczenieWcięcia, kolejność kluczy i style YAML; dwukrotne formatowanie daje ten sam plik.
- W edytorzeTe same reguły pod polami formularzy edytora, z poprawkami jednym kliknięciem.
- W pull requestachGitHub Action pokazuje problemy przy zmienionych liniach.
Krok po kroku (przewodnik po angielsku)
Lint and format API descriptions: Give every API description of a repository the same rules and the same style, locally and in every pull request.
Zacznij od reguł, które masz
Zestaw recommended nie wymaga konfiguracji, a większość reguł Spectral działa bez zmian; dokumentacja wymienia, co nie działa. Zlintuj dziś jeden plik; dodaj sprawdzenie do CI, gdy przejdzie.