bruno/docs/contributing/contributing_pl.md

2.4 KiB

English

Wspólnie uczynijmy Bruno lepszym !!

Cieszymy się, że chcesz udoskonalić Bruno. Poniżej znajdziesz wskazówki, jak rozpocząć pracę z Bruno na Twoim komputerze.

Stos Technologiczny

Bruno jest zbudowane przy użyciu Next.js i React. Używamy również electron do stworzenia wersji desktopowej (która obsługuje lokalne kolekcje)

Biblioteki, których używamy

  • CSS - Tailwind
  • Edytory Kodu - Codemirror
  • Zarządzanie Stanem - Redux
  • Ikony - Tabler Icons
  • Formularze - formik
  • Walidacja Schematu - Yup
  • Klient Zapytań - axios
  • Obserwator Systemu Plików - chokidar

Zależności

Będziesz potrzebować Node v20.x lub najnowszej wersji LTS oraz npm 8.x. W projekcie używamy npm workspaces

Rozwój

Bruno jest rozwijane jako aplikacja desktopowa. Musisz załadować aplikację, uruchamiając aplikację Next.js w jednym terminalu, a następnie uruchomić aplikację electron w innym terminalu.

Zależności

  • NodeJS v18

Lokalny Rozwój

# użyj wersji nodejs 18
nvm use

# zainstaluj zależności
npm i --legacy-peer-deps

# zbuduj dokumentację graphql
npm run build:graphql-docs

# zbuduj zapytanie bruno
npm run build:bruno-query

# uruchom aplikację next (terminal 1)
npm run dev:web

# uruchom aplikację electron (terminal 2)
npm run dev:electron

Rozwiązywanie Problemów

Możesz napotkać błąd Unsupported platform podczas uruchamiania npm install. Aby to naprawić, będziesz musiał usunąć node_modules i package-lock.json, a następnie uruchomić npm install. Powinno to zainstalować wszystkie niezbędne pakiety potrzebne do uruchomienia aplikacji.

# Usuń node_modules w podkatalogach
find ./ -type d -name "node_modules" -print0 | while read -d $'\0' dir; do
  rm -rf "$dir"
done

# Usuń package-lock w podkatalogach
find . -type f -name "package-lock.json" -delete

Testowanie

# bruno-schema
npm test --workspace=packages/bruno-schema

# bruno-lang
npm test --workspace=packages/bruno-lang

Tworzenie Pull Request

  • Prosimy, aby PR były małe i skoncentrowane na jednej rzeczy
  • Prosimy przestrzegać formatu tworzenia gałęzi
    • feature/[nazwa funkcji]: Ta gałąź powinna zawierać zmiany dotyczące konkretnej funkcji
      • Przykład: feature/dark-mode
    • bugfix/[nazwa błędu]: Ta gałąź powinna zawierać tylko poprawki dla konkretnego błędu
      • Przykład bugfix/bug-1