Files
bruno/docs/contributing/contributing_fa.md
Siddharth Gelera (reaper) efad149afc HTTP stream enhancements (#6077)
* feat: add stop request button in api url bar

* docs: add farsi translation

* fix: handle escaped forward slashes by fast-json-format library upgrade

* refactor: change ui to use one from Websockets

* chore: cleanup

* fix: lint issues

* Replace IconPlayerStop with IconSquareRoundedX

* update json request and response formatting logic

* chore: format changes

* chore: remove un-needed diffs

* chore: sanitize

* bugfix(#5939): curl import fails for custom content-types

* chore: remove un-needed diffs

* chore: enhance response handling for streaming

* fix: disable requestid check for tests and assertions to be updated after streaming result

* chore: housekeeping

* fix: streamline loading and cancel request icon logic

* chore: formatting

* fix: multiple co-pilot changes

* fix: handle in folders

* feat: add WaitGroup utility for managing concurrent tasks

* refactor: remove WaitGroup utility and clean up network IPC logic

* refactor: remove unused setTimeout import and clean up post script execution

* refactor: clean up post-response script execution logic

* undiff

* re-align

* refactor: streamline post-response script execution

- Cleaned up formatting and improved readability of the post-response script execution logic.
- Consolidated parameters in function calls for consistency.

* fix: keep original dataBuffer for saving response

---------

Co-authored-by: adarshajit <adarshajit@gmail.com>
Co-authored-by: sajadoncode <sajadoncode@gmail.com>
Co-authored-by: lohit-bruno <lohit@usebruno.com>
Co-authored-by: Bijin A B <bijin@usebruno.com>
Co-authored-by: Pragadesh-45 <temporaryg7904@gmail.com>
Co-authored-by: Anoop M D <anoop@usebruno.com>
Co-authored-by: Anoop M D <anoop.md1421@gmail.com>
Co-authored-by: Dawid Góra <dawidgora@icloud.com>
2025-11-14 16:57:29 +05:30

3.6 KiB
Raw Blame History

English

با هم، Bruno را بهتر می‌کنیم!

خوشحالم که قصد دارید Bruno را بهبود ببخشید. در ادامه قوانین و راهنماها برای راه‌اندازی Bruno روی سیستم شما آورده شده است.

فناوری‌های استفاده‌شده

به فارسی برونو Bruno با استفاده از Next.js و React ساخته شده است. همچنین از Electron برای بسته‌بندی نسخه دسکتاپ (که امکان مجموعه‌های محلی را فراهم می‌کند) استفاده می‌کنیم.

کتابخانه‌هایی که استفاده می‌کنیم:

  • CSS - Tailwind استایل
  • Codemirror - ویرایشگر کد
  • Redux - مدیریت وضعیت
  • Tabler Icons - آیکون‌ها
  • formik - فرم‌ها
  • Yup اعتبارسنجی اسکیمـا
  • axios - کلاینت درخواست
  • chokidar - پایش‌گر سیستم فایل

پیش‌نیازها

شما به نود v20.x یا اخرین نسخه پایدار و npm 8.x نیاز دارید. در این پروژه از فضای کاری npm (npm workspaces) استفاده می‌کنیم.

شروع به کدنویسی

برای راه‌اندازی محیط توسعه محلی به فایل مستندات توسعه مراجعه کنید:

ارسال Pull Request

1 - لطفاً Pull Requestها (PR) را کوتاه و متمرکز نگه دارید و تنها یک هدف مشخص را دنبال کنند.
2 - لطفاً از فرمت نام‌گذاری شاخه‌ها استفاده کنید:

  • feature/[name]: این شاخه باید شامل یک قابلیت مشخص باشد.
    • feature/dark-mode : مثال
  • bugfix/[name]: این شاخه باید تنها شامل رفع یک باگ مشخص باشد.
    • bugfix/bug-1 : مثال

توسعه

به فارسی برونو یا Bruno به‌صورت یک اپلیکیشن «سنگین» توسعه داده می‌شود. برای اجرا باید ابتدا Next.js را در یک پنجره ترمینال اجرا کنید و سپس اپلیکیشن Electron را در پنجره ترمینال دیگری راه‌اندازی نمایید.

نیازمندی توسعه

  • NodeJS v18

اجرای محلی

# از ورژن NodeJS 18 استفاده کنید
nvm use

# نصب وابستگی‌ها
npm i --legacy-peer-deps

# ساخت مستندات GraphQL
npm run build:graphql-docs

# ساخت bruno-query
npm run build:bruno-query

# اجرای اپ Next (ترمینال 1)
npm run dev:web

# اجرای اپ Electron (ترمینال 2)
npm run dev:electron

عیب‌یابی

ممکن است هنگام اجرای npm install خطای Unsupported platform ببینید. برای رفع این مشکل، پوشه node_modules و فایل package-lock.json را حذف کرده و سپس دوباره npm install را اجرا کنید. این کار معمولاً همه پکیج‌های لازم را نصب می‌کند.

# حذف پوشه node_modules در زیردایرکتوری‌ها
find ./ -type d -name "node_modules" -print0 | while read -d $'\0' dir; do
  rm -rf "$dir"
done

# حذف فایل package-lock.json در زیردایرکتوری‌ها
find . -type f -name "package-lock.json" -delete

تست‌ها

# اجرای تست‌های schema مربوط به bruno
npm test --workspace=packages/bruno-schema

# اجرای تست‌ها در همه فضاهای کاری (در صورت وجود)
npm test --workspaces --if-present