mirror of
https://github.com/usebruno/bruno.git
synced 2024-12-01 04:13:41 +01:00
89 lines
2.4 KiB
Markdown
89 lines
2.4 KiB
Markdown
[English](../../contributing.md)
|
|
|
|
## 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](https://nodejs.org/en/) 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
|
|
|
|
```bash
|
|
# 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.
|
|
|
|
```shell
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|