bruno/docs/development.md

56 lines
1.2 KiB
Markdown
Raw Normal View History

2023-10-05 21:47:14 +02:00
**English** | [Русский](/docs/development_ru.md)
2023-02-15 21:29:07 +01:00
## Development
Bruno is being developed as a desktop app. You need to load the app by running the nextjs app in one terminal and then run the electron app in another terminal.
2023-01-21 22:08:59 +01:00
### Dependencies
- NodeJS v18
2023-01-21 22:08:59 +01:00
2023-02-15 21:28:11 +01:00
### Local Development
2023-01-21 22:08:59 +01:00
```bash
2023-01-21 22:08:59 +01:00
# use nodejs 18 version
nvm use
# install deps
2023-02-15 21:26:38 +01:00
npm i --legacy-peer-deps
# build graphql docs
npm run build:graphql-docs
2023-03-19 11:11:18 +01:00
# build bruno query
npm run build:bruno-query
2023-03-19 11:11:18 +01:00
2023-02-15 21:28:11 +01:00
# run next app (terminal 1)
npm run dev:web
2023-02-15 21:28:11 +01:00
# run electron app (terminal 2)
npm run dev:electron
```
2023-02-15 21:29:07 +01:00
### Troubleshooting
You might encounter a `Unsupported platform` error when you run `npm install`. To fix this, you will need to delete `node_modules` and `package-lock.json` and run `npm install`. This should install all the necessary packages needed to run the app.
```shell
# Delete node_modules in sub-directories
find ./ -type d -name "node_modules" -print0 | while read -d $'\0' dir; do
rm -rf "$dir"
done
# Delete package-lock in sub-directories
find . -type f -name "package-lock.json" -delete
```
2023-02-15 21:29:07 +01:00
### Testing
```bash
# bruno-schema
npm test --workspace=packages/bruno-schema
2023-01-21 22:08:59 +01:00
# bruno-lang
npm test --workspace=packages/bruno-lang
```