Bruno を改善していただけるのは歓迎です。以下はあなたの環境で Bruno を起動するためのガイドラインです。
Bruno は Next.js と React で作られています。デスクトップアプリ(ローカルのコレクションに対応しています)には electron も使用しています。
使用ライブラリ
- CSS - Tailwind
- Code Editors - Codemirror
- State Management - Redux
- Icons - Tabler Icons
- Forms - formik
- Schema Validation - Yup
- Request Client - axios
- Filesystem Watcher - chokidar
Node v20.x もしくは最新の LTS バージョンと npm 8.x が必要です。プロジェクトに npm ワークスペースを使用しています。
Bruno はデスクトップアプリとして開発されています。一つのターミナルで Next.js アプリを立ち上げ、もう一つのターミナルで electron アプリを立ち上げてアプリを読み込む必要があります。
# use nodejs 18 version
nvm use
# install deps
npm i --legacy-peer-deps
# build packages
npm run build:graphql-docs
npm run build:bruno-query
npm run build:bruno-common
# run next app (terminal 1)
npm run dev:web
# run electron app (terminal 2)
npm run dev:electron
npm install
を実行すると、Unsupported platform
エラーに遭遇することがあります。これを直すためには、node_modules
とpackage-lock.json
を削除し、npm install
を実行しなおす必要があります。これにより、アプリを動かすのに必要なパッケージがすべてインストールされます。
# 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
# bruno-schema
npm test --workspace=packages/bruno-schema
# bruno-lang
npm test --workspace=packages/bruno-lang
- プルリクエストは小規模で、一つのことにフォーカスしたものにしてください。
- 以下のフォーマットに従ってブランチを作ってください。
- feature/[feature name]: このブランチには特定の機能に対する変更を含んでください。
- 例: feature/dark-mode
- bugfix/[bug name]: このブランチには特定のバグに対する修正のみを含むようにしてください。
- 例: bugfix/bug-1
- feature/[feature name]: このブランチには特定の機能に対する変更を含んでください。