Phriction Wiki Sealhub Workflow Jak ustawić linting i unit testy zintegrowane z Sealhubem History Version 10 vs 36
Version 10 vs 36
Version 10 vs 36
Edits
Edits
- Edit by kuba-orlik, Version 36
- Oct 30 2023 14:11
- Edit by piotr-ptaszynski, Version 10
- Sep 3 2020 17:30
Edit Older Version 10... | 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ż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:$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:
```
lang=bash
git clone 'https://github.com/pinterest/arcanist-linters.git'
```
== 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żeli masz zainstalowanego arcanista za pomocą Twojego managera paczek, to odinstaluj go i zainstaluj ponownie wg kroków poniżej.tworzysz własne repo, 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,podążaj za poniższymi instrukcjami. 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:$PATH' >> ~/.profile
```
Wyloguj się z systemu i zaloguj ponownie.
== 2.Jeżeli nie, Instalacja pluginów do arcanista ==to zignoruj poniższe instrukcje.
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:
```
lang=bash
git clone 'https://github.com/pinterest/arcanist-linters.git'
```
== 3. Lintowanie za pomocą ESLint ==Dodaj takie pliki do repo projektu:
Zainstaluj [yeoman](https://yeoman.io/), jeżeli jeszcze go nie masz:
```https://hub.sealcode.org/diffusion/PLAY/browse/hotwire/.arclint
lang=bashhttps://hub.sealcode.org/diffusion/PLAY/browse/hotwire/.arcconfig
npm install -global yo generator-sealcode
```https://hub.sealcode.org/diffusion/PLAY/browse/hotwire/.eslintrc.js
Dodaj depsy:
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:lintnpm 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