bruno/docs/contributing/contributing_zhtw.md

2.3 KiB
Raw Blame History

English

讓我們一起來讓 Bruno 變得更好!

我們很高興您希望一同改善 Bruno。以下是在您的電腦上開始運行 Bruno 的規則及指南。

技術細節

Bruno 使用 Next.js 和 React 構建。我們使用 Electron 來封裝及發佈桌面版本。

我們使用的函式庫:

  • CSS - Tailwind
  • 程式碼編輯器 - Codemirror
  • 狀態管理 - Redux
  • Icons - Tabler Icons
  • 表單 - formik
  • 結構驗證- Yup
  • 請求用戶端 - axios
  • 檔案系統監測 - chokidar

依賴關係

您需要使用 Node v20.x 或最新的 LTS 版本 和 npm 8.x。我們在這個專案中使用 npm 工作區(npm workspaces)。

開發

Bruno 正以桌面應用程式的形式開發。您需要在一個終端機中執行 Next.js 來載入應用程式,然後在另一個終端機中執行 electron 應用程式。

開發依賴

  • NodeJS v18

本地開發

# 使用 nodejs 第 18 版
nvm use

# 安裝相依套件(使用--legacy-peer-deps 解決套件相依性問題)
npm i --legacy-peer-deps

# 建立 graphql 文件
npm run build:graphql-docs

# 建立 bruno 查詢
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

測試

# bruno-schema
npm test --workspace=packages/bruno-schema

# bruno-lang
npm test --workspace=packages/bruno-lang

發送 Pull Request

  • 請保持 PR 精簡並專注於一個目標
  • 請遵循建立分支的格式:
    • feature/[feature name]:該分支應包含特定功能的更改
      • 範例feature/dark-mode
    • bugfix/[bug name]:該分支應僅包含特定 bug 的修復
      • 範例bugfix/bug-1