forked from extern/bruno
86 lines
2.6 KiB
Markdown
86 lines
2.6 KiB
Markdown
## ¡Juntos, hagamos a Bruno mejor!
|
|
|
|
Estamos encantados de que quieras ayudar a mejorar Bruno. A continuación encontrarás las instrucciones para empezar a trabajar con Bruno en tu computadora.
|
|
|
|
### Tecnologías utilizadas
|
|
|
|
Bruno está construido con NextJs y React. También usamos electron para distribuir una versión de escritorio (que soporta colecciones locales).
|
|
|
|
Librerías que utilizamos:
|
|
|
|
- CSS - Tailwind
|
|
- Editores de código - Codemirror
|
|
- Manejo del estado - Redux
|
|
- Íconos - Tabler Icons
|
|
- Formularios - formik
|
|
- Validación de esquemas - Yup
|
|
- Cliente de peticiones - axios
|
|
- Monitor del sistema de archivos - chokidar
|
|
|
|
### Dependencias
|
|
|
|
Necesitarás [Node v18.x o la última versión LTS](https://nodejs.org/es) y npm 8.x. Ten en cuenta que utilizamos espacios de trabajo de npm en el proyecto.
|
|
|
|
## Desarrollo
|
|
|
|
Bruno está siendo desarrollado como una aplicación de escritorio. Para ejecutarlo, primero debes ejecutar la aplicación de nextjs en una terminal y luego ejecutar la aplicación de electron en otra terminal.
|
|
|
|
### Dependencias
|
|
|
|
- NodeJS v18
|
|
|
|
### Desarrollo local
|
|
|
|
```bash
|
|
# Utiliza la versión 18 de nodejs
|
|
nvm use
|
|
|
|
# Instala las dependencias
|
|
npm i --legacy-peer-deps
|
|
|
|
# Construye la documentación de graphql
|
|
npm run build:graphql-docs
|
|
|
|
# Construye bruno-query
|
|
npm run build:bruno-query
|
|
|
|
# Ejecuta la aplicación de nextjs (terminal 1)
|
|
npm run dev:web
|
|
|
|
# Ejecuta la aplicación de electron (terminal 2)
|
|
npm run dev:electron
|
|
```
|
|
|
|
### Solución de problemas
|
|
|
|
Es posible que encuentres un error de `Unsupported platform` cuando ejecutes `npm install`. Para solucionarlo, debes eliminar la carpeta `node_modules` y el archivo `package-lock.json`, luego, ejecuta `npm install`. Lo anterior debería instalar todos los paquetes necesarios para ejecutar la aplicación.
|
|
|
|
```shell
|
|
# Elimina la carpeta node_modules en los subdirectorios
|
|
find ./ -type d -name "node_modules" -print0 | while read -d $'\0' dir; do
|
|
rm -rf "$dir"
|
|
done
|
|
|
|
# Elimina el archivo package-lock en los subdirectorios
|
|
find . -type f -name "package-lock.json" -delete
|
|
```
|
|
|
|
### Pruebas
|
|
|
|
```bash
|
|
# bruno-schema
|
|
npm test --workspace=packages/bruno-schema
|
|
|
|
# bruno-lang
|
|
npm test --workspace=packages/bruno-lang
|
|
```
|
|
|
|
### Crea un Pull Request
|
|
|
|
- Por favor, mantén los Pull Request pequeños y enfocados en una sola cosa.
|
|
- Por favor, sigue el siguiente formato para la creación de ramas:
|
|
- feature/[nombre de la funcionalidad]: Esta rama debe contener los cambios para una funcionalidad específica.
|
|
- Ejemplo: feature/dark-mode
|
|
- bugfix/[nombre del error]: Esta rama debe contener solo correcciones de errores para un error específico.
|
|
- Ejemplo: bugfix/bug-1
|