Jak ustawić linting i unit testy zintegrowane z Sealhubem
Ten artykuł zawiera instrukcje stawiania lintowania za pomocą ESLinta, testów funkcjonalnych i integracji obydwu tych procesów z arcanistem i phabricatorem.
Zakładamy, że repozytorium, w którym wdrażane jest lintowanie, korzysta z Typescripta.
1. Instalacja arcanista
Jeżeli masz zainstalowanego arcanista za pomocą Twojego managera paczek, to odinstaluj go i zainstaluj ponownie wg kroków poniżej. Jest to niestety konieczne z uwagi na ten dziwny problem.
Jeżeli instalowałeś arcanista po prostu klonując jego repo, przejdź do kroku #2
cd ~ mkdir bin cd bin git clone 'https://github.com/phacility/arcanist.git' git clone 'https://github.com/phacility/libphutil.git'
Następnie dodaj ścieżkę ~/bin do zmiennej PATH:
echo 'export PATH=~/bin:$PATH' >> ~/.profile
Wyloguj się z systemu i zaloguj ponownie.
2. Instalacja pluginów do arcanista
Odnajdź katalog, do którego sklonowane są arcanist i libphutil. Na potrzeby tego tutoriala założymy, że jest to ~/bin.
Następnie wewnątrz tego katalogu sklonuj następujące repo:
git clone 'https://github.com/pinterest/arcanist-linters.git'
3. Lintowanie za pomocą ESLint
Zainstaluj yeoman, jeżeli jeszcze go nie masz:
npm install -global yo generator-sealcode
Następnie w katalogu z Twoim repo odpal:
(Jeżeli sklonowałeś repo w którym już trwa development najprawdopodobniej możesz pominąć ten krok)
yo sealcode:lint
Od teraz możesz sprawdzić wynik lintowania za pomocą:
arc lint
Dodatkowo, wyniki lintowania będą się wyświetlały w diffie, ułatwiając zadnaie recenzentom i autorom diffów
- Last Author
- piotr-ptaszynski
- Last Edited
- Sep 3 2020, 17:31
Event Timeline
Dodałem te pluginy do AUR, więc jak ktoś korzysta z Archa to może sobie je pobrać.
Więc w moim przypadku instrukcja wygląda następująco
yay -S arcanist arcanist-linters-git arc-unit-mocha-git
a aktualizacja jest normalnie przez
yay