bruno'yu geliştirmek istemenizden mutluluk duyuyoruz. Aşağıda, bruno'yu bilgisayarınıza getirmeye başlamak için yönergeler bulunmaktadır.
Bruno, Next.js ve React kullanılarak oluşturulmuştur. Ayrıca bir masaüstü sürümü (yerel koleksiyonları destekleyen) göndermek için electron kullanıyoruz
Kullandığımız kütüphaneler
- CSS - Tailwind
- Kod Düzenleyiciler - Codemirror
- Durum Yönetimi - Redux
- Iconlar - Tabler Icons
- Formlar - formik
- Şema Doğrulama - Yup
- İstek İstemcisi - axios
- Dosya Sistemi İzleyicisi - chokidar
Node v20.x veya en son LTS sürümüne ve npm 8.x'e ihtiyacınız olacaktır. Projede npm çalışma alanlarını kullanıyoruz
Bruno bir masaüstü uygulaması olarak geliştirilmektedir. Next.js uygulamasını bir terminalde çalıştırarak uygulamayı yüklemeniz ve ardından electron uygulamasını başka bir terminalde çalıştırmanız gerekir.
- NodeJS v18
# nodejs 18 sürümünü kullan
nvm use
# deps yükleyin
npm i --legacy-peer-deps
# graphql dokümanlarını oluştur
npm run build:graphql-docs
# bruno sorgusu oluştur
npm run build:bruno-query
# sonraki uygulamayı çalıştır (terminal 1)
npm run dev:web
# electron uygulamasını çalıştır (terminal 2)
npm run dev:electronnpm install'ı çalıştırdığınızda Unsupported platform hatası ile karşılaşabilirsiniz. Bunu düzeltmek için node_modules ve package-lock.json dosyalarını silmeniz ve npm install dosyasını çalıştırmanız gerekecektir. Bu, uygulamayı çalıştırmak için gereken tüm gerekli paketleri yüklemelidir.
# Alt dizinlerdeki node_modules öğelerini silme
find ./ -type d -name "node_modules" -print0 | while read -d $'\0' dir; do
rm -rf "$dir"
done
# Alt dizinlerdeki paket kilidini silme
find . -type f -name "package-lock.json" -delete# bruno-schema testlerini çalıştır
npm test --workspace=packages/bruno-schema
# tüm çalışma alanlarında testleri çalıştır
npm test --workspaces --if-present- Lütfen PR'ları küçük tutun ve tek bir şeye odaklanın
- Lütfen şube oluşturma formatını takip edin
- feature/[özellik adı]: Bu dal belirli bir özellik için değişiklikler içermelidir
- Örnek: feature/dark-mode
- bugfix/[hata adı]: Bu dal yalnızca belirli bir hata için hata düzeltmeleri içermelidir
- Örnek bugfix/bug-1
- feature/[özellik adı]: Bu dal belirli bir özellik için değişiklikler içermelidir