mirror of
https://github.com/usebruno/bruno.git
synced 2024-12-24 07:38:59 +01:00
92 lines
3.8 KiB
Markdown
92 lines
3.8 KiB
Markdown
[English](/contributing.md) | **Українська** | [Русский](/contributing_ru.md) | [Türkçe](/contributing_tr.md) | [Deutsch](/contributing_de.md) | [Français](/contributing_fr.md) | [বাংলা](docs/contributing/contributing_bn.md)
|
||
|
||
## Давайте зробимо Bruno краще, разом !!
|
||
|
||
Я дуже радий що Ви бажаєте покращити Bruno. Нижче наведені вказівки як розпочати розробку Bruno на Вашому комп'ютері.
|
||
|
||
### Стек технологій
|
||
|
||
Bruno побудований на Next.js та React. Також для десктопної версії (яка підтримує локальні колекції) використовується Electron
|
||
|
||
Бібліотеки, які ми використовуємо
|
||
|
||
- CSS - Tailwind
|
||
- Редактори коду - Codemirror
|
||
- Керування станом - Redux
|
||
- Іконки - Tabler Icons
|
||
- Форми - formik
|
||
- Валідація по схемі - Yup
|
||
- Клієнт запитів - axios
|
||
- Спостерігач за файловою системою - chokidar
|
||
|
||
### Залежності
|
||
|
||
Вам знадобиться [Node v18.x або остання LTS версія](https://nodejs.org/en/) та npm 8.x. Ми використовуєм npm workspaces в цьому проекті
|
||
|
||
### Починаєм писати код
|
||
|
||
Будь ласка, зверніться до [development_ua.md](docs/development_ua.md) за інструкціями щодо запуску локального середовища розробки.
|
||
|
||
### Створення Pull Request-ів
|
||
|
||
- Будь ласка, робіть PR-и маленькими і сфокусованими на одній речі
|
||
- Будь ласка, слідуйте формату назв гілок
|
||
- feature/[назва feature]: Така гілка має містити зміни лише щодо конкретної feature
|
||
- Приклад: feature/dark-mode
|
||
- bugfix/[назва баґу]: Така гілка має містити лише виправлення конкретного багу
|
||
- Приклад: bugfix/bug-1
|
||
|
||
## Розробка
|
||
|
||
Bruno розробляється як декстопний застосунок. Вам потрібно запустити Next.js в одній сесії терміналу, та запустити застосунок Electron в іншій сесії терміналу.
|
||
|
||
### Залежності
|
||
|
||
- NodeJS v18
|
||
|
||
### Локальна розробка
|
||
|
||
```bash
|
||
# Використовуйте nodejs 18-ї версії
|
||
nvm use
|
||
|
||
# встановіть залежності
|
||
npm i --legacy-peer-deps
|
||
|
||
# зберіть документацію graphql
|
||
npm run build:graphql-docs
|
||
|
||
# зберіть bruno query
|
||
npm run build:bruno-query
|
||
|
||
# запустіть додаток next (термінал 1)
|
||
npm run dev:web
|
||
|
||
# запустіть додаток електрон (термінал 2)
|
||
npm run dev:electron
|
||
```
|
||
|
||
### Усунення несправностей
|
||
|
||
Ви можете зтикнутись із помилкою `Unsupported platform` коли запускаєте `npm install`. Щоб усунути цю проблему, вам потрібно видалити `node_modules` та `package-lock.json`, і тоді запустити `npm install`. Це має встановити всі потрібні для запуску додатку пекеджі.
|
||
|
||
```shell
|
||
# Видаліть node_modules в піддиректоріях
|
||
find ./ -type d -name "node_modules" -print0 | while read -d $'\0' dir; do
|
||
rm -rf "$dir"
|
||
done
|
||
|
||
# Видаліть package-lock в піддиректоріях
|
||
find . -type f -name "package-lock.json" -delete
|
||
```
|
||
|
||
### Тестування
|
||
|
||
```bash
|
||
# bruno-schema
|
||
npm test --workspace=packages/bruno-schema
|
||
|
||
# bruno-lang
|
||
npm test --workspace=packages/bruno-lang
|
||
```
|