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.
Instalacja arcanista i linterów
mkdir -p ~/bin cd ~/bin git clone https://hub.sealcode.org/diffusion/118/arcanist-fork.git arcanist git clone https://hub.sealcode.org/diffusion/124/arcanist-linters.git git clone https://github.com/sealcode/arc-unit-mocha.git ln -s arcanist/bin/arc arc # Dodaj ~/bin do swojego PATH, jeżeli jeszcze go tam nie ma: echo "export PATH=\$PATH:$HOME/bin" >> ~/.bashrc echo "export PATH=\$PATH:$HOME/bin" >> ~/.zshrc
Dodawanie lintera do nowego repo
Jeżeli tworzysz własne repo, podążaj za poniższymi instrukcjami. Jeżeli nie, to zignoruj poniższe instrukcje.
Dodaj takie pliki do repo projektu:
https://hub.sealcode.org/diffusion/PLAY/browse/hotwire/.arclint
https://hub.sealcode.org/diffusion/PLAY/browse/hotwire/.arcconfig
https://hub.sealcode.org/diffusion/PLAY/browse/hotwire/.eslintrc.js
Dodaj depsy:
npm install --save-dev prettier eslint @typescript-eslint/eslint-plugin eslint-plugin-prettier@latest eslint-config-prettier eslint-plugin-prettier
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
- kuba-orlik
- Last Edited
- Jul 7 2022, 08:57
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