mirror of
https://github.com/usebruno/bruno.git
synced 2024-11-25 09:23:17 +01:00
d1c34bd379
* Feat/electron-bump - bump node version to match electron * Feat/electron-bump - bump node version - documentation * Feat/electron-bump - bump node version - package-lock.json
107 lines
3.2 KiB
Markdown
107 lines
3.2 KiB
Markdown
[English](../../contributing.md)
|
|
| [Українська](./contributing_ua.md)
|
|
| [Русский](./contributing_ru.md)
|
|
| [Türkçe](./contributing_tr.md)
|
|
| [Deutsch](./contributing_de.md)
|
|
| **Français**
|
|
| [Português (BR)](./contributing_pt_br.md)
|
|
| [한국어](./contributing_kr.md)
|
|
| [বাংলা](./contributing_bn.md)
|
|
| [Español](./contributing_es.md)
|
|
| [Italiano](./contributing_it.md)
|
|
| [Română](./contributing_ro.md)
|
|
| [Polski](./contributing_pl.md)
|
|
| [简体中文](./contributing_cn.md)
|
|
| [正體中文](./contributing_zhtw.md)
|
|
| [日本語](./contributing_ja.md)
|
|
| [हिंदी](./contributing_hi.md)
|
|
|
|
## Ensemble, améliorons Bruno !
|
|
|
|
Je suis content de voir que vous envisagez d'améliorer Bruno. Vous trouverez ci-dessous les règles et guides pour récupérer Bruno sur votre ordinateur.
|
|
|
|
### Technologies utilisées
|
|
|
|
Bruno est basé sur NextJs et React. Nous utilisons aussi Electron pour embarquer la version ordinateur (ce qui permet les collections locales).
|
|
|
|
Les librairies que nous utilisons :
|
|
|
|
- CSS - Tailwind
|
|
- Code Editors - Codemirror
|
|
- State Management - Redux
|
|
- Icons - Tabler Icons
|
|
- Forms - formik
|
|
- Schema Validation - Yup
|
|
- Request Client - axios
|
|
- Filesystem Watcher - chokidar
|
|
|
|
### Dépendances
|
|
|
|
Vous aurez besoin de [Node v20.x ou la dernière version LTS](https://nodejs.org/en/) et npm 8.x. Nous utilisons aussi les espaces de travail npm (_npm workspaces_) dans ce projet.
|
|
|
|
## Développement
|
|
|
|
Bruno est développé comme une application _client lourd_. Vous devrez charger l'application en démarrant nextjs dans un premier terminal, puis démarre l'application Electron dans un second.
|
|
|
|
### Dépendances
|
|
|
|
- NodeJS v18
|
|
|
|
### Développement local
|
|
|
|
```bash
|
|
# utiliser node en version 18
|
|
nvm use
|
|
|
|
# installation des dépendances
|
|
npm i --legacy-peer-deps
|
|
|
|
# construction des docs graphql
|
|
npm run build:graphql-docs
|
|
|
|
# construction de bruno query
|
|
npm run build:bruno-query
|
|
|
|
# construction de bruno common
|
|
npm run build:bruno-common
|
|
|
|
# démarrage de next (terminal 1)
|
|
npm run dev:web
|
|
|
|
# démarrage du client lourd (terminal 2)
|
|
npm run dev:electron
|
|
```
|
|
|
|
### Dépannage
|
|
|
|
Vous pourriez rencontrer une erreur `Unsupported platform` durant le lancement de `npm install`. Pour résoudre cela, veuillez supprimer le répertoire `node_modules` ainsi que le fichier `package-lock.json` et lancez à nouveau `npm install`. Cela devrait installer tous les paquets nécessaires pour lancer l'application.
|
|
|
|
```shell
|
|
# Efface les répertoires node_modules dans les sous-répertoires
|
|
find ./ -type d -name "node_modules" -print0 | while read -d $'\0' dir; do
|
|
rm -rf "$dir"
|
|
done
|
|
|
|
# Efface les fichiers package-lock.json dans les sous-répertoires
|
|
find . -type f -name "package-lock.json" -delete
|
|
```
|
|
|
|
### Tests
|
|
|
|
```bash
|
|
# bruno-schema
|
|
npm test --workspace=packages/bruno-schema
|
|
|
|
# bruno-lang
|
|
npm test --workspace=packages/bruno-lang
|
|
```
|
|
|
|
### Ouvrir une Pull Request
|
|
|
|
- Merci de conserver les PR minimes et focalisées sur un seul objectif
|
|
- Merci de suivre le format de nom des branches :
|
|
- feature/[feature name]: Cette branche doit contenir une fonctionnalité spécifique
|
|
- Exemple : feature/dark-mode
|
|
- bugfix/[bug name]: Cette branche doit contenir seulement une solution pour un bug spécifique
|
|
- Exemple : bugfix/bug-1
|