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 数据库而不是数据库模拟。每个测试获得一个全新的数据库。
选择贡献路径
错误修复、文档和翻译可以直接提交拉取请求。错误修复必须包含一个能重现问题的失败测试。翻译贡献遵循翻译工作流。
功能和重构在实施前需要维护者批准的讨论。没有该批准的功能拉取请求会被关闭。在开始工作前阅读完整的贡献政策,以便了解哪条路径适用。
文档更改还必须遵循文档风格指南。