Phriction Wiki Sealhub Workflow Jak ustawić linting i unit testy zintegrowane z Sealhubem History Version 23 vs 36
Version 23 vs 36
Version 23 vs 36
Edits
Edits
- Edit by kuba-orlik, Version 36
- Oct 30 2023 14:11
- Edit by kuba-orlik, Version 23
- Mar 7 2021 18:28
Edit Older Version 23... | Edit Current Version 36... |
Content Changes
Content Changes
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śli masz Arch Linuxa możesz spróbować pobrać pluginy z AUR i przejść do kroku #3
```
lang=bash
yay -S arcanist-linters-git arc-unit-mocha-sealcode-git
```
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](https://discourse.phabricator-community.org/t/arcanist-cannot-load-library-from-arbitrary-path/4102).
Jeżeli instalowałeś arcanista po prostu klonując jego repo, przejdź do kroku #2
```
lang=bash
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`:
```
lang=bash
echo 'export PATH=~/bin/arcanist/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:
```
lang=bash
cd ~/bin
git clone 'https://github.com/pinterest/arcanist-linters.git'
git clone 'https://github.com/sealcode/arc-unit-mocha.git'
```
Te repozytoria muszą pozostać na Twoim dysku, aby działały. W celu ich aktualizacji wystarczy zrobić `git pull` w każdym z nich
== 3. 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
```
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
This article contains instructions for setting up linting using ESLint, unit testing, and integrating both of these processes with Arcanist and Phabricator.
We assume that the repository where linting is being implemented is using Typescript.
== 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
TenThis artykuł zawieraicle contains instrukcje stawianiactions for setting up lintowania za pomocą ESLintaing using ESLint, unit testing, testów funkcjonalnych iand integracji obydwu tychting both of these procesów z aesses with Arcanistem i p and Phabricatorem.
Zakładamy, żWe assume that the repozytorium, w którym wdrażane jest lintowanie, korzysta zsitory where linting is being implemented is using Typescripta.
== 1. Instalacja arcanista ==
Jeśli masz Arch Linuxa możesz spróbować pobrać pluginy z AUR i przejść do kroku #3
```
lang=bash
yay -S arcanist-linters-git arc-unit-mocha-sealcode-git
```
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](https://discourse.phabricator-community.org/t/arcanist-cannot-load-library-from-arbitrary-path/4102).
Jeżeli instalowałeś arcanista po prostu klonując jego repo, przejdź do kroku #2
```
lang=bash
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`:
```
lang=bash
echo 'export PATH=~/bin/arcanist/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:
```
lang=bash
cd ~/bin
git clone 'https://github.com/pinterest/arcanist-linters.git'
git clone 'https://github.com/sealcode/arc-unit-mocha.git'
```
Te repozytoria muszą pozostać na Twoim dysku, aby działały. W celu ich aktualizacji wystarczy zrobić `git pull` w każdym z nich
== 3. 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