Phriction Wiki Sealhub Workflow Jak ustawić linting i unit testy zintegrowane z Sealhubem History Version 20 vs 36
Version 20 vs 36
Version 20 vs 36
Edits
Edits
- Edit by kuba-orlik, Version 36
- Oct 30 2023 14:11
- Edit by fraunos, Version 20
- Jan 24 2021 03:11
Edit Older Version 20... | 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 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. Lintowanie za pomocą ESLint ==
Zainstaluj [yeoman](https://yeoman.io/), jeżeli jeszcze go nie masz:
```
lang=bash
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
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 ==== Dodawanie lintera do nowego repo ==
Jeśli masz Arch Linuxa możesz spróbować pobrać pluginy z AUR i przejść do kroku #3
```
lang=bash
yay -S arcanist arcanist-linters-git arc-unit-mocha-sealcode-git
```żeli tworzysz własne repo, podążaj za poniższymi instrukcjami. Jeżeli nie, to zignoruj poniższe instrukcje.
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 ==Dodaj takie pliki do repo projektu:
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 ~/binhttps://hub.sealcode.org/diffusion/PLAY/browse/hotwire/.arclint
git clone 'https://github.com/pinterest/arcanist-linters.git'https://hub.sealcode.org/diffusion/PLAY/browse/hotwire/.arcconfig
git clone 'https://github.com/sealcode/arc-unit-mocha.git'
```.org/diffusion/PLAY/browse/hotwire/.eslintrc.js
Te repozytoria muszą pozostać na Twoim dysku, aby działały. W celu ich aktualizacji wystarczy zrobić `git pull` w każdym z nichDodaj depsy:
== 3. Lintowanie za pomocą ESLint ==
Zainstaluj [yeoman](https://yeoman.io/), jeżeli jeszcze go nie masz:
```
lang=bash
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)npm install --save-dev prettier eslint @typescript-eslint/eslint-plugin eslint-plugin-prettier@latest eslint-config-prettier eslint-plugin-prettier
```
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