EmDash 是一個 pnpm monorepo。主套件是 packages/core,以 emdash 發布;它包含 Astro 整合、REST API、資料庫層、結構描述管理和外掛程式系統。React 管理 UI 位於 packages/admin。
本頁為您提供通往可運作開發環境的最快路徑。CONTRIBUTING.md 是先決條件、儲存庫佈局、貢獻政策、必需檢查、變更集和拉取請求要求的權威來源。
本機設定
-
複製、安裝和建置工作區。
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build -
啟動主要開發示範。
cd demos/simple pnpm dev示範在
http://localhost:4321上使用 SQLite 的 Node.js 執行。在對空資料庫的第一次請求時,它還會套用seed/seed.json中的範例內容。 -
開啟管理面板。
對於最快的本機設定,開啟開發繞過。它會執行遷移、建立開發管理員、登入並重新導向到管理面板。
要測試密碼金鑰設定流程,請開啟管理面板。設定精靈會建立資料庫、執行遷移並提示您建立管理員帳戶。
開發工作流程
監視模式
在執行示範的同時變更 packages/core 時,使用兩個終端機使套件自動重建:
# 終端機 1 — 變更時重建 packages/core
cd packages/core && pnpm dev
# 終端機 2 — 執行示範
cd demos/simple && pnpm dev
檢查
提交前從儲存庫根目錄執行必需的檢查:
pnpm typecheck # TypeScript
pnpm lint # 完整的型別感知 lint
pnpm format # 使用 oxfmt 和 Prettier 自動格式化
測試
所有測試
pnpm test 僅 Core
cd packages/core && pnpm test 監視模式
cd packages/core && pnpm test --watch E2E
pnpm test:e2e # 啟動自己的伺服器 測試使用真實的記憶體內 SQLite 資料庫而不是資料庫模擬。每個測試獲得一個全新的資料庫。
選擇貢獻路徑
錯誤修復、文件和翻譯可以直接提交拉取請求。錯誤修復必須包含一個能重現問題的失敗測試。翻譯貢獻遵循翻譯工作流程。
功能和重構在實作前需要維護者批准的討論。沒有該批准的功能拉取請求會被關閉。在開始工作前閱讀完整的貢獻政策,以便了解哪條路徑適用。
文件變更還必須遵循文件風格指南。