Page MenuHomeSealhub

Jak ustawić linting i unit testy zintegrowane z Sealhubem
Updated 81 Days AgoPublic

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 repozytoria:

git clone 'https://github.com/pinterest/arcanist-linters.git'
git clone 'https://github.com/rutgersmobile/arc-unit-mocha.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:39

Event Timeline

kuba-orlik edited the content of this document. (Show Details)Jul 21 2020, 11:55
kuba-orlik created this object.
kuba-orlik edited the content of this document. (Show Details)Jul 21 2020, 12:00
kuba-orlik edited the content of this document. (Show Details)Jul 21 2020, 13:20
kuba-orlik edited the content of this document. (Show Details)Jul 21 2020, 20:37
kuba-orlik edited the content of this document. (Show Details)Jul 22 2020, 14:55
kuba-orlik edited the content of this document. (Show Details)Jul 22 2020, 15:23
kuba-orlik edited the content of this document. (Show Details)Jul 30 2020, 12:26
kuba-orlik edited the content of this document. (Show Details)
piotr-ptaszynski edited the content of this document. (Show Details)Sep 3 2020, 17:30
piotr-ptaszynski edited the content of this document. (Show Details)
piotr-ptaszynski edited the content of this document. (Show Details)
piotr-ptaszynski edited the content of this document. (Show Details)Sep 3 2020, 17:39